Fire Workflow 源码分析——(基本组成)(4)
2009-10-31 00:00:00 来源:WEB开发网Application:后台程序。
handler:后台程序的类名。
Form:表单。
uri:记录表单的地址,工作流引擎本身不处理表单。
Participant:参与者。
assignmentHandlerClassName:任务分配句柄的类名。Fire workflow引擎调用该句柄获得真正的操作者ID。
IResourceManager:资源管理接口。主要定义如何来获得资源。
ResourceManager4XmlFile:解析xml格式的资源文件来获得资源。
通过对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项目的最后一部分,关于文件解析和序列化的。
- ››Firefox 浏览器下JS代码不兼容setTimeout函数失效...
- ››firefox浏览器快捷键
- ››Firefox 13.0.1发布 修复Flash出错问题
- ››Firefox桌面/手机/平板机版新界面曝光
- ››Firefox 3.6将自动升级至Firefox 12
- ››Firefox 13的惊喜:新主页标支持SPDY
- ››Firefox 10 for Android已经发布
- ››Fireworks教程:打造漂亮渐变网格马赛克背景
- ››Fireworks教程:路径工具简单打造艺术字体
- ››Fireworks实例教程:制作超级光线水晶球
- ››Fireworks层层激发彩光魅力 流光效果详解
- ››Fireworks教程:炫丽光效果的制作
更多精彩
赞助商链接