package com.hundsun.ares.studio.jres.basicdata.resources.providers; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldColumn; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldModelAndData; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType; import com.hundsun.ares.studio.model.reference.ReferenceFactory; import com.hundsun.ares.studio.model.reference.RelationInfo; import com.hundsun.ares.studio.reference.IRelationInfoProvider; public class BasicDataSTDModelAndDataRelationInfoProvider implements IRelationInfoProvider{ private static final Logger logger = Logger.getLogger(BasicDataSTDModelAndDataRelationInfoProvider.class); @Override public List<RelationInfo> getRelationInfos(IARESResource resource, Map<Object, Object> context) { List<RelationInfo> infoList = new ArrayList<RelationInfo>(); try { StandardFieldModelAndData info = resource.getInfo(StandardFieldModelAndData.class); for(StandardFieldColumn column:info.getModel().getFields()){ RelationInfo relationInfo = ReferenceFactory.eINSTANCE.createRelationInfo(); relationInfo.setHostResource(resource); relationInfo.setUsedRefName(column.getStandardField()); relationInfo.setUsedRefType(IMetadataRefType.StdField); infoList.add(relationInfo); } } catch (Exception e) { e.printStackTrace(); logger.error(String.format("����[%s]����ģ��ʧ�ܡ�", resource.getResource().getFullPath().toOSString())); } return infoList; } }