📄 wfapplicationservices.java
字号:
} catch (GenericEntityException we) { we.printStackTrace(); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); result.put(ModelService.ERROR_MESSAGE, we.getMessage()); } catch (GenericServiceException we) { we.printStackTrace(); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); result.put(ModelService.ERROR_MESSAGE, we.getMessage()); } catch (GeneralException ge) { ge.printStackTrace(); result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR); result.put(ModelService.ERROR_MESSAGE, ge.getMessage()); } return result; } private static String insertAppSandbox(GenericDelegator delegator, String workEffortId, String partyId, String roleTypeId, Timestamp fromDate, Map context) throws GenericServiceException { String dataId = null; String infoId = null; String applicationId = new String(new Long((new Date().getTime())).toString()); try { dataId = delegator.getNextSeqId("RuntimeData").toString(); GenericValue runtimeData = delegator.makeValue("RuntimeData", UtilMisc.toMap("runtimeDataId", dataId)); runtimeData.set("runtimeInfo", XmlSerializer.serialize(context)); delegator.create(runtimeData); } catch (GenericEntityException ee) { throw new GenericServiceException(ee.getMessage(), ee); } catch (SerializeException se) { throw new GenericServiceException(se.getMessage(), se); } catch (IOException ioe) { throw new GenericServiceException(ioe.getMessage(), ioe); } Map aFields = UtilMisc.toMap("applicationId", applicationId, "workEffortId", workEffortId, "partyId", partyId, "roleTypeId", roleTypeId, "fromDate", fromDate, "runtimeDataId", dataId); GenericValue appV = null; try { appV = delegator.makeValue("ApplicationSandbox", aFields); delegator.create(appV); } catch (GenericEntityException e) { throw new GenericServiceException(e.getMessage(), e); } return applicationId; } private static GenericValue getApplicationSandbox(GenericDelegator delegator, String applicationId) throws GenericServiceException { try { GenericValue application = delegator.findByPrimaryKey("ApplicationSandbox", UtilMisc.toMap("applicationId", applicationId)); return application; } catch (GenericEntityException ee) { throw new GenericServiceException(ee.getMessage(), ee); } } private static Map getRunTimeContext(GenericDelegator delegator, GenericValue runTimeData) throws GenericServiceException { try { return (Map) XmlSerializer.deserialize((String) runTimeData.get("runtimeInfo"), delegator); } catch (SerializeException se) { throw new GenericServiceException(se.getMessage(), se); } catch (ParserConfigurationException pe) { throw new GenericServiceException(pe.getMessage(), pe); } catch (SAXException se) { throw new GenericServiceException(se.getMessage(), se); } catch (IOException ioe) { throw new GenericServiceException(ioe.getMessage(), ioe); } } private static void setRunTimeContext(GenericValue runTimeData, Map context) throws GenericServiceException { try { runTimeData.set("runtimeInfo", XmlSerializer.serialize(context)); runTimeData.store(); } catch (GenericEntityException ee) { throw new GenericServiceException(ee.getMessage(), ee); } catch (SerializeException se) { throw new GenericServiceException(se.getMessage(), se); } catch (IOException ioe) { throw new GenericServiceException(ioe.getMessage(), ioe); } } private static GenericValue getRuntimeData(GenericDelegator delegator, String applicationId) throws GenericServiceException { try { GenericValue application = delegator.findByPrimaryKey("ApplicationSandbox", UtilMisc.toMap("applicationId", applicationId)); return application.getRelatedOne("RuntimeData"); } catch (GenericEntityException ee) { throw new GenericServiceException(ee.getMessage(), ee); } } private static void getApplicationSignatures(GenericDelegator delegator, GenericValue application, Map contextSignature, Map resultSignature) throws GenericEntityException { Map expresions = null; // look for the 1st application. final GenericValue workEffort = delegator.findByPrimaryKey("WorkEffort", UtilMisc.toMap("workEffortId", application.get("workEffortId"))); String packageId = (String) workEffort.get("workflowPackageId"); String packageVersion = (String) workEffort.get("workflowPackageVersion"); String processId = (String) workEffort.get("workflowProcessId"); String processVersion = (String) workEffort.get("workflowProcessVersion"); String activityId = (String) workEffort.get("workflowActivityId"); expresions = new HashMap(); expresions.putAll(UtilMisc.toMap("packageId", packageId)); expresions.putAll(UtilMisc.toMap("packageVersion", packageVersion)); expresions.putAll(UtilMisc.toMap("processId", processId)); expresions.putAll(UtilMisc.toMap("processVersion", processVersion)); expresions.putAll(UtilMisc.toMap("activityId", activityId)); final Collection wfActivityTools = delegator.findByAnd("WorkflowActivityTool", expresions); final GenericValue wfActivityTool = (GenericValue) wfActivityTools.toArray()[0]; packageId = (String) wfActivityTool.get("packageId"); packageVersion = (String) wfActivityTool.get("packageVersion"); processId = (String) wfActivityTool.get("processId"); processVersion = (String) wfActivityTool.get("processVersion"); final String applicationId = (String) wfActivityTool.get("toolId"); expresions = new HashMap(); expresions.putAll(UtilMisc.toMap("packageId", packageId)); expresions.putAll(UtilMisc.toMap("packageVersion", packageVersion)); expresions.putAll(UtilMisc.toMap("processId", processId)); expresions.putAll(UtilMisc.toMap("processVersion", processVersion)); expresions.putAll(UtilMisc.toMap("applicationId", applicationId)); final Collection params = delegator.findByAnd("WorkflowFormalParam", expresions); Iterator i = params.iterator(); while (i.hasNext()) { GenericValue param = (GenericValue) i.next(); String name = param.getString("formalParamId"); String mode = param.getString("modeEnumId"); String type = param.getString("dataTypeEnumId"); if (mode.equals("WPM_IN") || mode.equals("WPM_INOUT")) contextSignature.put(name, WfUtil.getJavaType(type)); else if (mode.equals("WPM_OUT") || mode.equals("WPM_INOUT")) resultSignature.put(name, WfUtil.getJavaType(type)); } } private static GenericValue getWorkEffortPartyAssigment(GenericDelegator delegator, String workEffortId) throws GenericServiceException { Map expresions = new HashMap(); expresions.putAll(UtilMisc.toMap("workEffortId", workEffortId)); expresions.putAll(UtilMisc.toMap("statusId", "CAL_ACCEPTED")); List orderBy = new ArrayList(); orderBy.add("-fromDate"); try { final Collection assigments = delegator.findByAnd("WorkEffortPartyAssignment", expresions, orderBy); GenericValue assigment; if (assigments.isEmpty()) { Debug.logError("No accepted activities found for the workEffortId=" + workEffortId, module); throw new GenericServiceException("Can not find WorkEffortPartyAssignment for the Workflow service. WorkEffortId=" + workEffortId); } if (assigments.size() != 1) Debug.logWarning("More than one accepted activities found for the workEffortId=" + workEffortId, module); return (GenericValue) assigments.iterator().next(); } catch (GenericEntityException ee) { throw new GenericServiceException(ee.getMessage(), ee); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -