WEB开发网
开发学院软件开发Java jBPM-Side流程设计器架构说明 阅读

jBPM-Side流程设计器架构说明

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: 3、 Command 视图组件的变化会导致Model组件的变化,Tool处理视图原生事件、调用CommandService执行各个Command具体操作视图组件和Model对象实现视图组件和Model组件的变化,jBPM-Side流程设计器架构说明(4),CommandService与Surfa

3、    Command

视图组件的变化会导致Model组件的变化。Tool处理视图原生事件、调用CommandService执行各个Command具体操作视图组件和Model对象实现视图组件和Model组件的变化。

CommandService与SurfaceComponent进行一对一绑定。CommandService持有CommandStack,实现单个Tab编辑界面内Command的redo和undo。

具体操作视图组件和Model对象必须通过Command。

五、    TheModel全局类的用途

TheModel全局唯一,职责如下:

•    负责应用所有定制事件的订阅/分发;

•    负责持有工具条和系统菜单属性;

•    负责持有剪贴板,实现各个画板之间的节点拷贝/剪切。

六、    ProcessDesigner与ProcessEditor

ProcessDesigner负责整个应用的布局,目前由三部分组成,系统菜单、工具条和TabNavigator(TabBar管理器),TabBar管理器负责添加和删除Tab,由Tab加载画板,这样实现对多流程定义同时编辑的支持(即多Tab)。

ProcessEditor是应用的入口,它持有ProcessDesigner,实现了IGraphicalEditor接口。目前其对graphicViewer()方法的实现是返回当前激活状态Tab的画板。

同时,ProcessEditor负责统一监听工具条/键盘事件,并将这些事件处理委派给当前处于激活状态的Tab画板处理。

七、    Xml框架

位于org.jbpmside.xml下,使用E4X,使用binding对各种类型的节点进行解析,不集中在一个文件完成解析和转换,一个节点类型对应一个binding。使用代码如下:

Java代码  

  public function parse(xml:String):ProcessDefinition{ 
  var parser:Parser=new Parser(); 
  return parser.createParse().setString(xml). 
     execute().getProcessDefinition() as ProcessDefinition; 
}
 

测试代码位于test目录下,是目前唯一可以进行单元测试的部分。

八、    还需要完成的工作

1、    xml框架还需要大量的解析工作完成(以支持jpdl4)

2、    第一个版本为本地应用,需要增加对本地文件操作的支持

3、    模型迁移至org.jbpmside.model.common

4、    工具条使用flexlib重写,新的16位图标,节点属性弹出框

5、    Command目前只实现了对undo的支持,需要实现对redo的支持

上一页  1 2 3 4 

Tags:jBPM Side 流程设计

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