WEB开发网
开发学院软件开发Java Fire Workflow 源码分析——(基本组成)(4) 阅读

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

 2009-10-31 00:00:00 来源:WEB开发网   
核心提示: Application:后台程序,handler:后台程序的类名,Fire Workflow 源码分析——(基本组成)(4)(2),Form:表单,uri:记录表单的地址,其他两种资源的load过程基本一致,下次介绍model项目的最后一部分,工作流引擎本身不处理表单,Participant:参

Application:后台程序。

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

handler:后台程序的类名。

Form:表单。

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

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

Participant:参与者。

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

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

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

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

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

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

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

 1protected List<Form> loadForms( Element element)  {
 2        Element formsElement = Util4Parser.child(element, "Forms");
 3        if (formsElement==null)return null;
 4        List<Element> formElementList = Util4Parser.children(formsElement, "Form");
 5        List<Form> forms = new Vector<Form>();
 6        for (int i=0; formElementList!=null && i<formElementList.size();i++){
 7            Element formElm = formElementList.get(i);
 8            String name = formElm.attributeValue("Name");
 9            Form form = new Form(name);
10            form.setDisplayName(formElm.attributeValue("DisplayName"));
11            form.setDescription(Util4Parser.elementAsString(formElm, "Description"));
12            form.setUri(Util4Parser.elementAsString(formElm, "Uri"));
13            forms.add(form);
14        }
15        return forms;
16}
17

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

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

上一页  1 2 

Tags:Fire Workflow 源码

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接