/** * Դ�������ƣ�AddSampleFactory.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.metadata.ui * ����˵����Ԫ�����û��༭��UIչ����ع��� * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.metadata.ui.actions; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.CoreException; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ColumnViewer; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.model.metadata.BusinessDataTypeList; import com.hundsun.ares.studio.jres.model.metadata.ConstantList; import com.hundsun.ares.studio.jres.model.metadata.DictionaryList; import com.hundsun.ares.studio.jres.model.metadata.ErrorNoList; import com.hundsun.ares.studio.jres.model.metadata.MenuList; import com.hundsun.ares.studio.jres.model.metadata.StandardDataTypeList; import com.hundsun.ares.studio.jres.model.metadata.StandardFieldList; import com.hundsun.ares.studio.jres.model.metadata.TypeDefaultValueList; /** * ��ͬԪ���ݸ�������ͬ�ű�ʵ������ʾ������ * * @author wangxh * */ public class AddSampleFactory { public static List<IAction> getSampleActions(ColumnViewer viewer, EditingDomain editingDomain, EObject info,IARESResource res) { IARESProject project = res.getARESProject(); if (info instanceof ConstantList) { return getConstantSampleAction(viewer, editingDomain, (ConstantList) info, project); } if (info instanceof BusinessDataTypeList) { return getBizSampleAction(viewer, editingDomain, (BusinessDataTypeList) info, project); } if (info instanceof DictionaryList) { return getDicSampleAction(viewer, editingDomain, (DictionaryList) info, project); } if (info instanceof ErrorNoList) { return getErrorSampleAction(viewer, editingDomain, (ErrorNoList) info, project); } if (info instanceof StandardDataTypeList) { return getStdTypeSampleAction(viewer, editingDomain, (StandardDataTypeList) info, project); } if (info instanceof StandardFieldList) { return getStdfldSampleAction(viewer, editingDomain, (StandardFieldList) info, project); } if (info instanceof TypeDefaultValueList) { return getDefvalueSampleAction(viewer, editingDomain, (TypeDefaultValueList) info, project); } if(info instanceof MenuList){ return getMenuSampleAction(viewer, editingDomain, (MenuList) info, project); } return new ArrayList<IAction>(); } /** * @param viewer * @param editingDomain * @param info * @param project * @return */ private static List<IAction> getMenuSampleAction(ColumnViewer viewer, EditingDomain editingDomain, MenuList info, IARESProject project) { List<IAction> actions = new ArrayList<IAction>(); String text = "���¹����б�"; String scriptDir = "tools"; if(isOldProject(project)){ scriptDir = "others"; } URL url=null; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_menuFunction_infoUpdate.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } IAction action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_menuFunction_infoUpdate.js"); actions.add(action); text = "����SQL"; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_menu_generate_sql.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_menu_generate_sql.js"); actions.add(action); return actions; } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getDefvalueSampleAction(ColumnViewer viewer, EditingDomain editingDomain, TypeDefaultValueList info, IARESProject project) { // TODO Auto-generated method stub return new ArrayList<IAction>(); } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getStdfldSampleAction(ColumnViewer viewer, EditingDomain editingDomain, StandardFieldList info, IARESProject project) { // TODO Auto-generated method stub return new ArrayList<IAction>(); } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getStdTypeSampleAction(ColumnViewer viewer, EditingDomain editingDomain, StandardDataTypeList info, IARESProject project) { // TODO Auto-generated method stub return new ArrayList<IAction>(); } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getErrorSampleAction(ColumnViewer viewer, EditingDomain editingDomain, ErrorNoList info, IARESProject project) { List<IAction> actions = new ArrayList<IAction>(); String text = "��������Ŷ����ļ�"; String scriptDir = "tools"; if(isOldProject(project)){ scriptDir = "others"; } URL url=null; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_stderrorno_generate_java.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } IAction action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_stderrorno_generate_java.js"); actions.add(action); text = "���ɴ���������ļ�"; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_stderrorno_generate_properties.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_stderrorno_generate_properties.js"); actions.add(action); return actions; } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getDicSampleAction(ColumnViewer viewer, EditingDomain editingDomain, DictionaryList info, IARESProject project) { List<IAction> actions = new ArrayList<IAction>(); String text = "�����ֵ䳣��"; String scriptDir = "tools"; if(isOldProject(project)){ scriptDir = "others"; } URL url=null; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_dictionary_generate_java.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } IAction action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_dictionary_generate_java.js"); actions.add(action); text = "���ɱ��ʼ����"; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"database_dictionary_generate_oracle.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"database_dictionary_generate_oracle.js"); actions.add(action); return actions; } /** * @param viewer * @param editingDomain * @param info * @param bundle * @return */ private static List<IAction> getBizSampleAction(ColumnViewer viewer, EditingDomain editingDomain, BusinessDataTypeList info, IARESProject project) { // TODO Auto-generated method stub return new ArrayList<IAction>(); } /** * @param editingDomain * @param viewer * @param info * @param bundle * @return */ private static List<IAction> getConstantSampleAction(ColumnViewer viewer, EditingDomain editingDomain, ConstantList info, IARESProject project) { List<IAction> actions = new ArrayList<IAction>(); String text = "����JAVA����������"; String scriptDir = "tools"; if(isOldProject(project)){ scriptDir = "others"; } URL url=null; try { url = new URL(project.getProject().getLocationURI()+"/"+scriptDir+"/"+"logical_constant_generate_java.js"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } IAction action = new AddSampleAction(viewer, editingDomain, text, info, url,"/"+project.getProject().getName()+"/"+scriptDir+"/"+"logical_constant_generate_java.js"); actions.add(action); return actions; } private static boolean isOldProject(IARESProject project) { try { return !project.getProject().hasNature( "com.hundsun.ares.studio.jres.core.modulenature"); } catch (CoreException e) { e.printStackTrace(); } return false; } }