快速业务通道

Eclipse插件开发-如何扩展 WTP Wizard - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
ard(7) 时间:2011-10-22 IBM 黄彦军 王浩

WTP 向导扩展实例

动态 WEB 应用向导 (Dynamic Web Application Project Wizard) 能够创建出 J2EE 规范的 Web 应用程序,但有时候需要创建订制过的 (Customized) WEB 应用程序,例如创建 Portlet 应用程序,必 须要创建 Portlet 描述文件。

我们通过创建一个 New Project Wizard,该 Wizard 具备部分 Dynamic WEB Application Project Wizard 特征,同时能够创建 Portlet 部署描述文件。

New Project Wizard 界面如图所示:

图 12. 扩展实例主界面

首页中新增 Main Class Group Panel,方便用户输入新建的 package 名称和主程序入口文件名称。

1. 创建 Plug-in Project 并注册 Wizard 扩展点,插件清单文件 plugin.xml 如下所示:

清单 1. 插件扩展描述文件

<?xml version="1.0" encoding="UTF-8"?>   <?eclipse version="3.2"?>   <plugin>   <extension       point="org.eclipse.ui.newWizards">     <category         id="com.sample.tools.app.wizard.category.ApplicationWizard"        name="Sample"/>     <wizard        category="com.sample.tools.app.wizard.category.ApplicationWizard"        class="com.sample.tools.app.wizard.SampleProjectWizard"        icon="icons/newapp_wiz.gif"        id="com.sample.tools.app.wizard.SampleProjectWizard"        name="Sample Project"        project="true">       <description>        Create a WTP Sample Project       </description>     </wizard>    </extension>   </plugin>

org.eclipse.ui.newWizards 扩展点,是“新建向导”扩展点;category 定义的是对这个扩展点的归 类;wizard 标记是 org.eclipse.ui.newWizards 扩展点自定义的格式,name 属性定义的是显示的名称 ,category 属性代表此向导的分类。class 属性表示此扩展点对应的实现类,大部分扩展点都需要编写 实现代码,因此需要这个属性来指定此扩展点使用的是哪个类;接下来详细介绍如何实现该 Wizard class。

Eclipse插件开发-如何扩展 WTP Wizard(8)

时间:2011-10-22 IBM 黄彦军 王浩

2. 创建 WTP Wizard 所需要的类

根据前面分析,WTP Wizard 所采用的 DataModel-DataModelProvider-View-Operation 设计模式涉及 以下四个实体类:

DataModelWizard    DataModelWizardPage    AbstractDataModelProvider    AbstractDataModelOperation 

清单 2. Wizard

public class SampleProjectWizard extends DataModelWizard implements  INewWizard   {   public SampleProjectWizard(IDataModel model) {    super(model);    setWindowTitle("My Wizard Titile");   }   public SampleProjectWizard() {    super();    setWindowTitle("My Wizard Titile");   }   protected void doAddPages() {    addPage(new SampleProjectFirstPage(getDataModel(), "first.page"));   }   protected IDataModelProvider getDefaultProvider() {    return new SampleProjectCreationDataModelProvider();   }   public void init(IWorkbench arg0, IStructuredSelection arg1) {    // do nothing   }  

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号