package com.hundsun.ares.studio.reference; import java.util.ArrayList; import java.util.List; import java.util.Map; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.ARESResourceObjectProvider; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.ResourceTypeMapping; import com.hundsun.ares.studio.core.model.BasicResourceInfo; import com.hundsun.ares.studio.model.reference.ReferenceFactory; import com.hundsun.ares.studio.model.reference.ReferenceInfo; public class CNameReferenceInfoProvicer implements IReferenceInfoProvider{ @Override public List<ReferenceInfo> getReferenceInfos(IARESResource resource, Map<Object, Object> context) { List<ReferenceInfo> infoList = new ArrayList<ReferenceInfo>(); BasicResourceInfo basicInfo = null; try { basicInfo = resource.getInfo(BasicResourceInfo.class); } catch (ARESModelException e) { e.printStackTrace(); } if (basicInfo != null) { ReferenceInfo cnameRefInfo = ReferenceFactory.eINSTANCE.createReferenceInfo(); cnameRefInfo.setResource(resource); cnameRefInfo.setRefName(basicInfo.getChineseName()); cnameRefInfo.setRefType(ResourceTypeMapping.getInstance().getReferenceType(resource.getType())); cnameRefInfo.setRefNamespace(resource.getBundle().getId()); cnameRefInfo.setObjectProvider(ARESResourceObjectProvider.INSTANCE); infoList.add(cnameRefInfo); } return infoList; } }