Eclipse插件开发总结(第二天)

怎么感觉周末比上班还忙呢。昨天寝室哥们公司看看,然后到浙大两个校区逛了一圈。吃了两顿川菜。味道还是相当的不错。然后一天就结束了。今天早上起床已经快11点了。本来想约个朋友去好好吃一顿,结果没约到,很失望。索性就叫了外卖,等外卖的时间玩了把dota,然后杀的相当的爽。下午打了4个小时球,回来吃了饭洗澡洗完衣服然后差不多就到现在了。。。。。。好啰嗦哦。


总算有时间来继续总结这几天的学习了。把我现在做的分两部分来总结一下吧:

一 :开发了一个向导自动生成模板文件。当然是在<extension point="org.eclipse.ui.newWizards">这个扩展点开始了。

  1. 在plugin.xml里newWizards扩展点下配置好category(在eclipse->new下面的目录)和wizard(指明category、class、name等)。

  2. 实现两个类:Wizard和WizardPage类。从名字上就很好理解类的作用了。一个负责功能,一个负责界面。这里WizardPage可以有两种实现方式:

    a,继承org.eclipse.jface.wizard.WizardPage这样得到的是:b,继承org.eclipse.ui.dialogs.WizardNewFileCreationPage得到的是:

  3. 实现一个editor。<extension  point="org.eclipse.ui.editors">。继承MultiPageEditorPart实现多页编辑器。

今天没有写作心情呀。。。下次补上

需求:

实现一个符合ServiceConfigSchema.xsdService-Config.xml文件的可视化编辑器。

Service-Config.xml的内容大概如下:

<?xml  version="1.0" encoding="UTF-8" ?>

<tns:service-config

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://iservice.hundsun.com/schema ServiceConfigSchema.xsd"

         xmlns:tns="http://iservice.hundsun.com/schema">

         <service-mappings>

                   <service service="fetchAllRecords"

                            type="com.hs.se.dummy.services.DummyService"

                            path="/dummy/fetchAllRecords">

                            <description>

                                     Fetch all records from sample table

                            </description>

                            <param name=”” type=”” />

                            <result name="resultBOList" type="java.util.List"></result>

                   </service>

         </service-mapping>

<include file=”” />

</tns:service-config>

说明:

1.         根节点tns:service-config下有一个Service-mapping节点、0或多个include节点。

2.         Service-mapping节点下有0个或多个service节点。

3.         每个Service节点有三个属性:Servicetypepath和一个Description子节点、0或多个param子节点、一个result子节点。

4.         每个param节点有两个属性:name type

5.         Result节点有两个属性:nametype

6.         Include的节点有一个属性:file

功能:

1.         可视化的显示Service-config.xml的信息。

2.         IncludeServiceparam实现列表显示。

3.         其他信息实现表单可视化编辑。

概要设计:

1.         为了在没有可用service-config.xml文件的情况下用户能够很容易的创建符合标准的配置文件。需要实现一个创建新文件的向导。而eclipse插件新文件向导扩展点可以实现这个功能。

2.         为了能同时满足喜欢直接编写xml文件的用户和喜欢可视化编辑xml的用户。应该创建一个两页的编辑器。用户可以在两种编辑器之间切换。两个编辑器的内容要实现同步。

详细设计:

1.         根据service-config.xml的内容创建相应的javaBean

2.         FileHandler类实现javaBeanxml文件之间的相互转换。

3.         向导创建文件首先从FileHandler得到文件的初始化内容。将文件写入磁盘既完成了向导的创建过程。

4.         编辑器打开文件首先从父类EditorPart里通过getEditorInput方法得到输入文件的内容。

5.         检查输入文件的namespace是否是符合要求的xml文档。如果不是则弹出对话框其实用户编辑的文件类型不正确。

6.         将得到的xml内容通过FileHandlerxmlToBean方法装载到相应的JavaBean里。

7.         JavaBean的内容填入可视化界面相应的地方。

8.         当界面有修改的时候。调用FilehandlermodelToXml方法将JavaBean转化为xml并通过父类Documentset方法将内容写入文本编辑器。

9.         当用户切换编辑器的时候确保两个编辑器的内容同步。

10.     当用户修改完毕保存文件的时候将文件保存。

代码说明:

(详见代码注释说明) 

posted @ 2009-03-22 23:06  echozhjun  阅读(685)  评论(0编辑  收藏  举报