@Override public List<WorkflowEvent> listWorkflowEvents() { List<WorkflowRequestHandler> workflowRequestHandlers = WorkflowServiceDataHolder.getInstance().listRequestHandlers(); List<WorkflowEvent> eventList = new ArrayList<>(); if (workflowRequestHandlers != null) { for (WorkflowRequestHandler requestHandler : workflowRequestHandlers) { WorkflowEvent event = new WorkflowEvent(); event.setEventId(requestHandler.getEventId()); event.setEventFriendlyName(requestHandler.getFriendlyName()); event.setEventDescription(requestHandler.getDescription()); event.setEventCategory(requestHandler.getCategory()); // note: parameters are not set at here in list operation. It's set only at get operation if (requestHandler.getParamDefinitions() != null) { Parameter[] parameterDTOs = new Parameter[requestHandler.getParamDefinitions().size()]; int i = 0; for (Map.Entry<String, String> paramEntry : requestHandler.getParamDefinitions().entrySet()) { Parameter parameterDTO = new Parameter(); parameterDTO.setParamName(paramEntry.getKey()); parameterDTO.setParamValue(paramEntry.getValue()); parameterDTOs[i] = parameterDTO; i++; } event.setParameters(parameterDTOs); } eventList.add(event); } } return eventList; }
@Override public WorkflowEvent getEvent(String id) { WorkflowRequestHandler requestHandler = WorkflowServiceDataHolder.getInstance().getRequestHandler(id); if (requestHandler != null) { WorkflowEvent event = new WorkflowEvent(); event.setEventId(requestHandler.getEventId()); event.setEventFriendlyName(requestHandler.getFriendlyName()); event.setEventDescription(requestHandler.getDescription()); event.setEventCategory(requestHandler.getCategory()); if (requestHandler.getParamDefinitions() != null) { Parameter[] parameters = new Parameter[requestHandler.getParamDefinitions().size()]; int i = 0; for (Map.Entry<String, String> paramEntry : requestHandler.getParamDefinitions().entrySet()) { Parameter parameter = new Parameter(); parameter.setParamName(paramEntry.getKey()); parameter.setParamValue(paramEntry.getValue()); parameters[i] = parameter; i++; } event.setParameters(parameters); } return event; } return null; }
@Override public List<Association> listAllAssociations() throws WorkflowException { List<Association> associations = workflowDAO.listAssociations(); for (Iterator<Association> iterator = associations.iterator(); iterator.hasNext(); ) { Association association = iterator.next(); WorkflowRequestHandler requestHandler = WorkflowServiceDataHolder.getInstance().getRequestHandler(association.getEventId()); if (requestHandler != null) { association.setEventName(requestHandler.getFriendlyName()); } else { // invalid reference, probably event id is renamed or removed iterator.remove(); } } return associations; }