package com.hundsun.ares.studio.biz; import java.util.Map; import com.hundsun.ares.studio.biz.constants.IBizRefType; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.core.model.ExtensibleModel; import com.hundsun.ares.studio.core.model.extend.IRefExtendPropertyProvider; import com.hundsun.ares.studio.core.model.extendable.ExtensibleModelUtil; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType; import com.hundsun.ares.studio.jres.model.metadata.StandardField; import com.hundsun.ares.studio.model.reference.ReferenceInfo; import com.hundsun.ares.studio.reference.ReferenceManager; public class ParameterUserExtendPropertyProvider implements IRefExtendPropertyProvider { private Map<String, String> config; private IARESProject project; /* (non-Javadoc) * @see com.hundsun.ares.studio.core.model.extend.IRefExtendPropertyProvider#config(java.util.Map) */ @Override public void config(Map<String, String> config, IARESProject project) { this.config = config; this.project = project; } /* (non-Javadoc) * @see com.hundsun.ares.studio.core.model.extend.IRefExtendPropertyProvider#getValue(com.hundsun.ares.studio.core.model.ExtensibleModel) */ @Override public String getValue(ExtensibleModel model) { String key = config.get("key"); if (model instanceof Parameter) { Parameter p = (Parameter) model; if (p.getParamType() == ParamType.STD_FIELD) { // ����DZ�׼�ֶΣ����ҵ���Ӧ�ı�׼�ֶΣ�Ȼ����� String id = p.getId(); ReferenceInfo ref = ReferenceManager.getInstance().getFirstReferenceInfo(project, IMetadataRefType.StdField, id, true); if (ref != null) { StandardField std = (StandardField) ref.getObject(); return ExtensibleModelUtil.getUserExtendedProperty(std, key); } } else if (p.getParamType() == ParamType.OBJECT) { String id = p.getType(); ReferenceInfo ref = ReferenceManager.getInstance().getFirstReferenceInfo(project, IBizRefType.Object, id, true); if (ref != null) { ARESObject obj = (ARESObject) ref.getObject(); return ExtensibleModelUtil.getUserExtendedProperty(obj, key); } } } return null; } /* (non-Javadoc) * @see com.hundsun.ares.studio.core.model.extend.IRefExtendPropertyProvider#setValue(com.hundsun.ares.studio.core.model.ExtensibleModel, java.lang.String) */ @Override public void setValue(ExtensibleModel model, String value) { } }