/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.procedure.ui.support; import org.apache.commons.lang.StringUtils; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataRestypes; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicDataBaseModel; import com.hundsun.ares.studio.jres.database.constant.IDatabaseRefType; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType; import com.hundsun.ares.studio.jres.model.database.TableResourceData; import com.hundsun.ares.studio.model.reference.ReferenceInfo; import com.hundsun.ares.studio.procdure.ProcdurePackage; import com.hundsun.ares.studio.procdure.RelatedInfo; import com.hundsun.ares.studio.procedure.ui.assistant.ProcedurePageHelper; import com.hundsun.ares.studio.reference.ReferenceManager; import com.hundsun.ares.studio.ui.editor.blocks.DisplayItem; import com.hundsun.ares.studio.ui.editor.viewers.EObjectColumnLabelProvider; /** * @author qinyuan * */ public class ProcedureRelatedInfoColumnLabelProvider extends EObjectColumnLabelProvider { private IARESProject project; protected EReference reference; public ProcedureRelatedInfoColumnLabelProvider(IARESResource resource, EReference reference, EStructuralFeature attribute) { super(attribute); this.project = resource.getARESProject(); this.reference = reference; } /* (non-Javadoc) * @see com.hundsun.ares.studio.ui.editor.viewers.BaseEObjectColumnLabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if(element instanceof RelatedInfo) { RelatedInfo relatedInfo = (RelatedInfo)element; EStructuralFeature feature = getEStructuralFeature(element); if(ProcdurePackage.Literals.PROCEDURE__RELATED_TABLE_INFO.equals(reference)){//������ ReferenceInfo referenceInfo = ReferenceManager.getInstance().getFirstReferenceInfo(project,IDatabaseRefType.Table,relatedInfo.getId(),true); if(null != referenceInfo) { TableResourceData table = (TableResourceData)referenceInfo.getObject(); if(ProcdurePackage.Literals.RELATED_INFO__ID.equals(feature)){ return relatedInfo.getId(); }else if(ProcdurePackage.Literals.RELATED_INFO__COMMENT.equals(feature)) { return table.getChineseName(); }else if(ProcdurePackage.Literals.RELATED_INFO__PATH.equals(feature)) { return referenceInfo.getResource().getResource().getProjectRelativePath().toOSString(); } } }else if(ProcdurePackage.Literals.PROCEDURE__RELATED_BASIC_DATA_INFO.equals(reference)) {//������������ ReferenceInfo referenceInfo = ReferenceManager.getInstance().getFirstReferenceInfo(project,IBasicDataRestypes.singleTable,relatedInfo.getId(),true); if(null != referenceInfo) { BasicDataBaseModel table = (BasicDataBaseModel)referenceInfo.getObject(); if(ProcdurePackage.Literals.RELATED_INFO__ID.equals(feature)){ return relatedInfo.getId(); }else if(ProcdurePackage.Literals.RELATED_INFO__COMMENT.equals(feature)) { return table.getChineseName(); }else if(ProcdurePackage.Literals.RELATED_INFO__PATH.equals(feature)) { return referenceInfo.getResource().getResource().getProjectRelativePath().toOSString(); } } } } return StringUtils.EMPTY; } }