package foundation.data.loader; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import foundation.action.ActionMeta; import foundation.action.WorkStep; import foundation.action.WorkflowDispatcher; import foundation.dao.OrderBy; import foundation.data.entity.Entity; import foundation.data.entity.EntitySet; import foundation.data.object.DataObject; import foundation.server.Initializer; public class WorkflowLoader extends Initializer { protected static Logger logger; static { logger = LogManager.getLogger(WorkflowLoader.class); } @Override public void startUp() throws Exception { load(); } @Override public void shutDown() throws Exception { } private void load() throws Exception { //1. 加载标准 action loadActions(); //2. 加载 work flow loadWorkflows(); } private void loadActions() throws Exception { DataObject dataObject = DataObject.getInstance("sys_act_action"); EntitySet entitySet = dataObject.getTableEntitySet(new OrderBy("provider_name")); for (Entity entity: entitySet) { ActionMeta actionMeta = new ActionMeta(); actionMeta.load(entity); WorkflowDispatcher.registerOneAction(actionMeta); } } private void loadWorkflows() throws Exception { DataObject dataObject = DataObject.getInstance("sys_act_workflow"); EntitySet entitySet = dataObject.getTableEntitySet(new OrderBy("data_name, order_no")); for (Entity entity: entitySet) { WorkStep step = new WorkStep(); step.load(entity); WorkflowDispatcher.registerOneStep(step); } } }