怎么感觉周末比上班还忙呢。昨天寝室哥们公司看看,然后到浙大两个校区逛了一圈。吃了两顿川菜。味道还是相当的不错。然后一天就结束了。今天早上起床已经快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.xsd的Service-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节点有三个属性:Service、type、path和一个Description子节点、0或多个param子节点、一个result子节点。

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

5.         Result节点有两个属性:name和type。

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

功能:

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

2.         Include、Service和param实现列表显示。

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

概要设计:

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

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

详细设计:

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

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

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

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

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

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

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

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

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

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

代码说明:

(详见代码注释说明)

转载于:https://www.cnblogs.com/echozhjun/archive/2009/03/22/1419304.html

Eclipse插件开发总结(第二天)相关推荐

  1. eclipse插件开发资料 参考代码

    首页 zhangxinzhou 的BLOG 写留言 邀请进圈子 发消息 加友情链接 进家园 加好友 2011年度IT博客大赛 十大杰出IT博客评选中 博客统计信息 用户名:zhangxinzhou 文 ...

  2. [Eclipse插件开发-001] SWT/JFACE布局入门总结

    =============SWT布局管理器入门总结======================= 绝对定位: * setBounds(int x, int y, int width, int heig ...

  3. 【插件开发】—— 1 Eclipse插件开发导盲

    在真正接触eclipse插件开发一个月后,对插件的开发过程以及技术要求,也有了一定的了解.遥想之前像无头苍蝇一样乱撞乱学,真心觉得浪费了不少时间.这里就总结一下学习的主要过程以及需要的资料. Ecli ...

  4. eclipse插件开发_开发Eclipse插件

    eclipse插件开发 最近,我开始与一个团队合作开发Eclipse插件. 团队开发了一个很棒的插件,可以实现预期的目的. 因此,我检查了源并尝试构建它. 项目源包含所有必需的库,并且只能在Eclip ...

  5. Eclipse 插件开发遇到问题心得总结

    Eclipse 插件开发遇到问题心得总结 Posted on 2011-07-17 00:51 季枫 阅读(3997) 评论(0) 编辑 收藏 1.Eclipse 中插件开发多语言的实现 为了使用 . ...

  6. Eclipse插件开发中对于外部Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)...

    目的:Eclipse插件开发中,经常要引用第三方包或者是引用其他插件中的类,由于插件开发环境引用类路径的设置和运行平台引用类路径的设置不同,经常导致开发过程OK,一旦运行则出现NoClassDefFo ...

  7. eclipse插件开发示例

    eclipse所有的插件均以jar的形式存放在安装目录的plugins目录中,如果我们在eclipse中开发一个插件,最终也是需要打包为jar放入plugins目录中.eclipse插件开发也有一套流 ...

  8. 【eclipse】eclipse插件开发(一)

    eclipse本身是一个开源平台, 给用户提供了很多扩展点.我们完全可以开发属于自己的一套插件,安装在eclipse插件目录下,即可使用我们的插件. 下面说下eclipse插件的快速开发. 1.在ec ...

  9. Eclipse 插件开发 向导

    阅读目录 最近由于特殊需要,开始学习插件开发. 下面就直接弄一个简单的插件吧! 1 新建一个插件工程 2 创建自己的插件名字,这个名字最好特殊一点,一遍融合到eclipse的时候,不会发生冲突. 3 ...

最新文章

  1. 理解计算机视觉中的损失函数
  2. 【easyui】treegrid逐级加载源码
  3. 直接插入排序比较次数_程序员必须要会的直接插入排序算法
  4. 剑指offer面试题64. 求1+2+…+n(逻辑符短路)(递归)
  5. Unity组件脚本的常用类和结构体GameObject
  6. 豆丁 道客巴巴 千图网 千库网 包图网 我图网 摄图网 巧办网 万方设计 中国知网 VIP会员一个月开通方法,十网通用
  7. Spring Tool Suite环境搭建
  8. java斗地主案例_Java斗地主案例
  9. 用计算机三角函数公式,三角函数公式习题.doc
  10. 接口测试平台-18:首页完善和项目模块初窥
  11. 【CSDN】markdown小技巧
  12. 程序员必备的十个工具
  13. Android修改分区格式为F2FS
  14. 关于android读取用户号码,手机串号,SIM卡序列号
  15. Linux多线程(线程互斥与线程锁)
  16. 百度ERNIE-Gram: Pre-Training with Explicitly N-Gram Masked Language Modeling
  17. linux 安全模块开发基础知识
  18. 为什么husky哈士奇放弃了传统的 JS 配置(翻译)
  19. 【JVM】浅记JVM
  20. SSH允许跨域访问拦截器配置

热门文章

  1. android小部件如何实时更新,android – 使用AlarmManager手动更新小部件
  2. 原生js实现轮播图实例教程
  3. 2021-01-13 Matlab求解微分代数方程 (DAE)
  4. 用matlab绘制一个时钟
  5. numpy.random.uniform()
  6. 【数学与算法】支持向量机、线性判别 详细数学原理
  7. Machine Learning - Andrew Ng on Coursera (Week 1)
  8. Java 面试知识点解析(二)——高并发编程篇
  9. Spring AOP 源码分析 - 筛选合适的通知器
  10. 沈向洋谈做研究的那些事儿