构件编辑工具中资源管理框架的研究

时间:2022-01-30 01:33:59

构件编辑工具中资源管理框架的研究

摘要:资源框架是专门对工具构件资源进行管理的功能模块。本文分两部分进行了探讨,介绍了在构件编辑工具中如何实现管理资源框架。

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2011) 21-0000-01

The Research of Resource Management Framework in Component Editing Tool

Zhang Fangli,Tong Xin

(1.Software Institute of Hunan Vocational College of Science and Technology,Changsha 410118,China;2.Infor Bus Co.,Ltd.,Changsha 410006,China)

Abstract:Resource framework is the function module of a tool component resource management.This article is divided two parts are discussed,introduced in the component editor how to realize resource management framework.

Keywords:Component editing tools;Resource management framework

构件编辑工具的任务是设计与开发构件,构件是工具最基础的编辑单元,在实际开发中,一个构件就体现为一个构件文件,由于构件之间使用和继承关系的存在,构件文件的更名、删除、修改和移动操作不仅仅只影响构件文件本身以及对应的构件对象,还会影响到与该构件对象相关的其它构件对象对应的构件文件,仅仅依靠Eclipse本身的资源管理框架显然无法满足以上的需求。本文分三部分进行阐述,首先是提出使用资源框架来管理构件项目,然后是提出资源框架的设计与实现,最后对与资源管理框架紧密相关的功能进行简单的阐述。

在构件编辑工具中如何捕获文件资源的变化、如何记录资源之间的关联以及如何对变化进行处理是解决以上问题的关键,以下分别进行分析,并提出相应的解决方案。

(一)如何捕获文件资源的变化

Eclipse有自己的资源管理框架,它具备对项目以及项目内资源的变化进行捕获的能力,构件编辑工具主要的编辑对象是构件文件,所以在Eclipse的相应资源侦听器基础上进行该功能的实现。

(二)如何记录资源之间的关联

资源之间的变化是记录在构件文件中的,如果要了解资源的关联就必须读取构件文件,所以问题不在于是否读取构件文件,而在于如何提高读取的效率。这部分可以使用和Java文件类似的机制,将文件资源之间的关联记录在文件头,提高对单个文件的读取效率,此外还需要将读取的结果缓存,减少对文件的重复读取。

(三)如何对变化进行处理

这部分主要关注有多少种变化,变化是针对哪种资源,对不同的变化准备好不同的处理方式即可。

二、资源框架的设计与实现

根据构件编辑工具的相关需求,以下分别从资源侦听、资源关联以及事件处理三个方面给出相应的解决方案。

(一)资源侦听

对Eclipse的资源进行侦听并不难,但对构件编辑工具而言仍有三个问题需要解决,一是什么时间开始对资源的侦听,二是什么事件需要侦听,三是如何读取事件内容。

1.资源侦听的时机。最佳的侦听时机应该是插件启动时,只要构件编辑工具的插件启动,构件编辑工具就开始对当前工作空间进行侦听。CorePlugin是构件编辑工具的多个插件中最基础的插件,构件编辑工具的其它插件在启动之前都需要启动它,在这个插件启动时添加,可以把握最准确的时机。由于Eclipse对插件可见性的控制,插件间不允许循环依赖,而实际提供功能的侦听器是在其子插件中编写的,这部分需要使用构件编辑工具中提供的动态服务插件将子插件的类交给父插件使用。这部分在后继章节中再进行阐述。

2.侦听什么事件。不是工作空间的所有事件构件编辑工具都需要处理,即便是构件编辑工具需要处理的资源也需要根据类型细分由谁负责处理。目前在构件编辑工具中有两大类资源,一类是域文件资源、一类是构件文件资源。通过对需要侦听的资源所在的项目添加Nature可以解决这个问题,具备实现时可以在新建项目时对“构件项目”和“域项目”添加不同的Nature来实现。

3.如何读取事件。通过使用Eclipse资源侦听,在资源发生变化时,可以得到IResourceChangeEvent的资源事件对象。通过调用event.getDelta()可以对事件进行第一次划分,如event.getDelta()==null则判断是对项目的删除和关闭事件类型;否则可以得到事件的IResourceDelta信息,delta信息负责记录资源变化的详细情况的,包括对子资源的影响,通过对delta进行分析可以对事件进行第二次划分,区分是添加、删除、修改和移动的事件类型。

(二)资源的关联

在构件编辑工具中,项目、包和构件文件都是必须处理的资源。资源的关联包括文件实体资源层,构件实体资源层与构件关联资源层。三层次之间的关系是每个文件对应于每一个构件实体对象,构件之间的关系对应到构件关联对象。

(三)事件的处理

事件是资源的变化引起的。事件由Eclipse的资源框架先处理,但只能处理一般的类型,并满足不了本例的要求。这里主要通过扩展ResourceChangeListener类来实现资源的特殊事件管理。主要实现有项目的增删改、目录的增删改、文件的增删改等。

三、结束语

构件组装技术将成为决定未来软件工业发展的关键技术之一。本文分析了构件编辑工具的特点,设计了工具的资源侦听部分。在现有构件编辑工具的基础上进行有效的工具改进。今后将着重于构件的编辑过程的研究。

参考文献:

[1]王斌,吴泉源.基于SOA的JBI构件可视化组装研究[J].北京:微计算机信息,2007

[2]王怀民,郭长国.基于CORBA的服务器构件模型的研究[J].计算机工程与科学,2001,6

[作者简介]张方利(1982.10-),女,湖南长沙人,硕士在读,助教,研究方向为软件工程;童欣(1977.11-),男,上海人,硕士,软件工程师,研究方向为软件工程。

上一篇:网络数据库的安全技术研究 下一篇:浅谈ERP系统在生产制造行业的作用及发展现状