博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Fire Workflow 源码分析——(基本组成)(4)

Posted on 2009-10-31 15:46  Leshem  阅读(1405)  评论(0编辑  收藏  举报

    这次讲包org.fireflow.model.resource。首先看一下这个包的整体类图。

    

    资源这块Fire Workflow主要定义了资源和资源管理两大块。其中对于资源的描述分为子流程、应用、表单和参与者,这里本人对把子流程作为资源的定义不甚理解,而前面介绍的包org.fireflow.model中又含有WorkflowProcess,个人觉得是不是应该统一比较好?资源管理方面只是简单的实现了一个解析资源文件(XML格式)的类,这块还有进一步完善的空间。下面对每一部分进行介绍。

IResource:工作流引用的资源。

必须实现的方法:主要针对于资源名称,显示名称以及描述等。

AbstractResource抽象类主要实现IResource接口。

基本元素包括资源名称、资源显示名称和资源描述。并重写了toString()方法。

SubWorkflowProcess子流程,目前也被定义为资源的一种。保存对另一个流程引用信息。

Application后台程序。

handler:后台程序的类名

Form表单。

uri:记录表单的地址,工作流引擎本身不处理表单。

Participant参与者。

assignmentHandlerClassName:任务分配句柄的类名。Fire workflow引擎调用该句柄获得真正的操作者ID

IResourceManager资源管理接口。主要定义如何来获得资源。

ResourceManager4XmlFile解析xml格式的资源文件来获得资源。

通过对xml格式资源文件的解析,获得formsparticipantsapplications资源。解析函数有重载的parseResource()方法,变量参数分别为文件路径和文件输入流。利用org.dom4j包对文件进行解析。parseResource()中调用了三个load方法,分别提取三类元素。举个loadForms()的例子吧。

Code

Xml资源文件的格式很简单,通过查找elementattribute就可以解析了。这里的Util4ParserFire Workflow自定义的解析类。其他两种资源的load过程基本一致。

下次介绍model项目的最后一部分,关于文件解析和序列化的。