/** * Դ�������ƣ�NewViewWizard.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui * ����˵����$desc * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.jres.database.ui.wizard; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.eclipse.ui.plugin.AbstractUIPlugin; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESModule; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.core.model.ModuleProperty; import com.hundsun.ares.studio.jres.database.oracle.constant.IOracleConstant; import com.hundsun.ares.studio.jres.database.ui.DatabaseUI; import com.hundsun.ares.studio.jres.database.ui.extend.ModuleDatabasePropertyPage; import com.hundsun.ares.studio.jres.model.database.ViewResourceData; import com.hundsun.ares.studio.jres.model.database.oracle.DatabaseModuleExtensibleProperty; import com.hundsun.ares.studio.jres.model.database.oracle.OracleFactory; import com.hundsun.ares.studio.jres.model.database.oracle.OracleTableProperty; import com.hundsun.ares.studio.jres.model.database.oracle.table_type; import com.hundsun.ares.studio.ui.newwizard.ARESResourceNewWizardPage; import com.hundsun.ares.studio.ui.newwizard.ModuleARESResourceNewWizard; /** * @author qinyuan * */ public class NewViewWizard extends ModuleARESResourceNewWizard { @Override protected String getResType() { return "view"; } @Override protected void initNewResourceInfo(Object info) { super.initNewResourceInfo(info); if (info instanceof ViewResourceData) { Map<Object, Object> context = getContext(); String resname = context.get(ARESResourceNewWizardPage.CONTEXT_KEY_NAME).toString(); String resCName = context.get(ARESResourceNewWizardPage.CONTEXT_KEY_CNAME).toString(); ViewResourceData view = (ViewResourceData) info; if(StringUtils.isNotBlank(resname)){ view.setName(resname); } if(StringUtils.isNotBlank(resCName)){ view.setChineseName(resCName); } fillViewInfo((ViewResourceData) info); } } @Override public void addPages() { super.addPages(); getShell().setImage(AbstractUIPlugin.imageDescriptorFromPlugin(DatabaseUI.PLUGIN_ID, "icons/view.gif").createImage()); } /** * �½�����Դʱ�����ģ�͵����Ĭ����Ϣ * * @param view */ private void fillViewInfo(ViewResourceData view){ if(selectedElement instanceof IARESModule){ IARESModule module = (IARESModule)selectedElement; while(module != null){ IARESResource moduleRes = module.getARESResource("module.xml"); if (moduleRes != null) { try { ModuleProperty modulePro = moduleRes.getInfo(ModuleProperty.class); DatabaseModuleExtensibleProperty mem = (DatabaseModuleExtensibleProperty) modulePro.getMap().get(ModuleDatabasePropertyPage.KEY); if (mem == null) { module = module.getParentModule(); continue; } OracleTableProperty tableOp = OracleFactory.eINSTANCE.createOracleTableProperty(); view.getData2().put(IOracleConstant.TABLE_DATA2_KEY, tableOp); String moduleSpace = mem.getSpace(); table_type moduleTableType = mem.getTableType(); if (StringUtils.isBlank(moduleSpace) && moduleTableType == null) { module = module.getParentModule(); continue; } tableOp.setSpace(moduleSpace); break; } catch (ARESModelException e) { e.printStackTrace(); } } } } } }