/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.atom.ui.util; import java.util.ArrayList; import java.util.List; import org.eclipse.emf.common.util.EList; import com.hundsun.ares.studio.atom.AtomFunction; import com.hundsun.ares.studio.atom.AtomService; import com.hundsun.ares.studio.atom.constants.IAtomResType; import com.hundsun.ares.studio.core.IARESModule; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.RevisionHistory; import com.hundsun.ares.studio.cres.extend.ui.module.gencode.util.ModuleGeneratorHelper; import com.hundsun.ares.studio.procdure.Procedure; import com.hundsun.ares.studio.procdure.constants.IProcedureResType; /** * @author qinyuan * */ public class AtomModuelGeneratorHelper extends ModuleGeneratorHelper{ /** * ��ȡԭ��ģ�������޶���¼ * @param module * @param project * @return * @throws Exception */ public static String getAtomModuleLastVersion(IARESModule module) throws Exception{ List<RevisionHistory> hiss = getAtomModuleHistorys(module); if(hiss.size() > 0) { return hiss.get(0).getVersion(); } return module.getARESProject().getProjectProperty().getVersion(); } /** * ��ȡԭ��ģ���������޸ļ�¼ * ����ԭ�Ӻ����޸ļ�¼��ԭ�ӷ����޸ļ�¼��ģ���޸ļ�¼ * @param module * @return * @throws Exception */ public static List<RevisionHistory> getAtomModuleHistorys(IARESModule module) throws Exception{ List<RevisionHistory> hiss = new ArrayList<RevisionHistory>();//ģ�������е��޸ļ�¼ IARESResource[] ass = module.getARESResources(IAtomResType.ATOM_SERVICE); for (IARESResource as : ass) { EList<RevisionHistory> his = as.getInfo(AtomService.class).getHistories();//ԭ�ӷ����޸ļ�¼ hiss.addAll(his); } IARESResource[] afs = module.getARESResources(IAtomResType.ATOM_FUNCTION); for (IARESResource af : afs) { EList<RevisionHistory> his = af.getInfo(AtomFunction.class).getHistories();//ԭ�Ӻ����޸ļ�¼ hiss.addAll(his); } hiss.addAll(getModuleHistorys(module));//ģ���޸ļ�¼ sortHistoryByVersion(hiss);//���� return hiss; } }