basedata

    Qone在第一次配置的时候会自动在数据库中加入一些数据,这是在basedata.xml中配置的。
    现在我想在系统一启用就定义一套故障处理流程,不过那个basedata中不支持复杂类,所以没有办法,只能自己写一个这样的类。举个例子说明一下:
就拿CusNode和CusProcess来说吧。
CusProcess类定义的片段:
private Integer id;
/**
  * 过程是否已发布,已发布的过程会被部署到工作流引擎上。
  */
private boolean published;
/**
  * 过程发布到工作流引擎后,得到的过程定义ID
  */
private Long processDefinitionId;
/**
  * 过程定义描述
  */
private String name;
/**
  * 过程的类型
  */
private CusAppType appType;
/**
  * 过程中的节点
  */
private List<CusNode> nodes;
/**
  * 过程处理的表单的模板
  */
private CusTemplate template;

/**
  * 是否邮件通知
  */
private boolean email;

/**
  * 上次修改时间
  */
private Date modifyDate;
/**
  * 过程结束后,是否公开发布
  */
private boolean finalPublish;

/**
  * 此流程定义的上一个版本
  */
private CusProcess prevProcess;

private boolean deleted;

CusNode类定义的片段:

public class CusNode {
public static enum CusNodeType {
  TASK, DECISION, FORK, JOIN;

  public String getLabel() {
   return name();
  }
}

/**
  * 节点类型
  */
CusNodeType type;

Integer id;

/**
  * 节点名称
  */
String name;

/**
  * 节点所属的过程定义
  */
CusProcess process;
/**
  * 节点的出口信息
  */
List<CusTransition> ends;

/**
  * 节点对表单中域可进行的操作
  */
List<CusFieldOperation> fields;

/**
  * 节点的参与者
  */
List<CusPermission> participants;

String dueDate;

在basedata.xml中我是如下定义:
<entities class="cn.ac.iscas.core.entity.cus.CusProcess">
   <entity overridden="false">
    <property name="id" value="1"/>
    <property name="published" value="true"/>
    <property name="processDefinitionId" value=""/>
    <property name="name" value="故障处理流程"/>
    <property name="appType" value="e49ebbd8-32e4-4cef-928e-203e1fa81eb6"/>
    <property name="template" value="1"/>
    <property name="email" value="true"/>
    <property name="deleted" value="false"/>
   </entity>
  </entities>
 
   <entities class="cn.ac.iscas.core.entity.cus.CusNode">
   <entity overridden="false">
    <property name="id" value="1"/>
    <property name="name" value="故障检测"/>
    <property name="type" value="TASK"/>
    <property name="process" value="1"/>
   </entity>
   <entity overridden="false">
    <property name="id" value="2"/>
    <property name="name" value="故障维修"/>
    <property name="type" value="TASK"/>
    <property name="process" value="1"/>  //value值取的是CusProcess的id。
   </entity>
  </entities>
在启动Tomcat的时候解析basedata出错。我咨询了一下高飞,他说现在basedata不支持这种复杂的类。所以我只能写一个类,在配置的时候加载这个类,将一套“故障处理流程”加到数据库。

你可能感兴趣的:(tomcat,xml,工作,咨询)