@Override public void assignTask(final ActivityInstanceUUID taskUUID) throws TaskNotFoundException { FacadeUtil.checkArgsNotNull(taskUUID); TaskManager.assign(taskUUID); }
public ProcessInstanceUUID instantiateProcess(final ProcessDefinitionUUID processUUID, Map<String, Object> variables) throws ProcessNotFoundException { FacadeUtil.checkArgsNotNull(processUUID); final XpdlProcess process = FacadeUtil.getProcessDefinition(processUUID); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Starting a new instance of process : " + processUUID); } final XpdlExecution rootExecution = (XpdlExecution) process.beginProcessInstance(); rootExecution.setVariables(variables); rootExecution.signal(); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Started: " + rootExecution.getXpdlInstance()); } return rootExecution.getXpdlInstance().getUUID(); }
public <T> T execute(Command<T> command) throws Exception { return FacadeUtil.executeCommand(command); } }
private List<InternalProcessInstance> getParentProcessInstancesWithActiveUser(final String userId, final int startingIndex, final int pageSize, final Set<ProcessDefinitionUUID> processUUIDs) { final boolean access = EnvTool.isRestrictedApplicationAcces(); List<InternalProcessInstance> processes = new ArrayList<InternalProcessInstance>(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs == null || visibleProcessUUIDs.isEmpty()) { visibleProcessUUIDs = new HashSet<ProcessDefinitionUUID>(); } visibleProcessUUIDs.retainAll(processUUIDs); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithActiveUser(userId, startingIndex, pageSize, visibleProcessUUIDs); } } } else { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithActiveUser(userId, startingIndex, pageSize, processUUIDs); } return processes; }
private Collection<TaskInstance> getInternalTaskListUser(final String userId, final ActivityState taskState) { FacadeUtil.checkArgsNotNull(userId, taskState); final boolean access = EnvTool.isRestrictedApplicationAcces(); Collection<TaskInstance> tasks = new HashSet<TaskInstance>(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { final Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { tasks = EnvTool.getAllQueriers(getQueryList()).getUserTasks(userId, taskState, visibleProcessUUIDs); } } } else { tasks = EnvTool.getAllQueriers(getQueryList()).getUserTasks(userId, taskState); } return tasks; }
@Override public void cancelProcessInstance(final ProcessInstanceUUID instanceUUID) throws InstanceNotFoundException, UncancellableInstanceException { // if this instance is a child execution, throw an exception FacadeUtil.checkArgsNotNull(instanceUUID); final InternalProcessInstance instance = FacadeUtil.getInstance(instanceUUID, null); if (instance == null) { throw new InstanceNotFoundException("bai_RAPII_1", instanceUUID); } // if this instance is a child execution, throw an exception if (instance.getParentInstanceUUID() != null || !instance.getInstanceState().equals(InstanceState.STARTED)) { throw new UncancellableInstanceException("bai_RAPII_2", instanceUUID, instance.getParentInstanceUUID(), instance.getInstanceState()); } instance.cancel(); }
final ActivityDefinitionUUID activityUUID, final ActivityInstanceUUID parentActivityUUID) throws ProcessNotFoundException { final InternalProcessDefinition process = FacadeUtil.getProcessDefinition(processUUID); final InternalProcessInstance rootProcessInstance = FacadeUtil.getInstance(rootInstanceUUID, null); if (rootProcessInstance != null && rootProcessInstance.getProcessDefinitionUUID() != null) { try {
public void setProcessInstanceVariable(ProcessInstanceUUID instanceUUID, String variableId, Object variableValue) throws InstanceNotFoundException, VariableNotFoundException { final XpdlInstance instance = FacadeUtil.getInstance(instanceUUID); if (instance == null) { throw new InstanceNotFoundException(instanceUUID);
public static void startEventSubProcesses(final ProcessInstance instance) throws ProcessNotFoundException { final ProcessInstanceUUID instanceUUID = instance.getUUID(); final InternalProcessDefinition process = FacadeUtil.getProcessDefinition(instance.getProcessDefinitionUUID()); final EventService eventService = EnvTool.getEventService(); for (final EventProcessDefinition eventSubProcess : process.getEventSubProcesses()) {
@Override public int getNumberOfProcesses() { final boolean access = EnvTool.isRestrictedApplicationAcces(); if (!access) { return EnvTool.getAllQueriers(getQueryList()).getNumberOfProcesses(); } else { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { final Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); return visibleProcessUUIDs.size(); } else { return 0; } } }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public Set<ProcessDefinition> getProcesses(final ProcessDefinition.ProcessState processState) { FacadeUtil.checkArgsNotNull(processState); final boolean access = EnvTool.isRestrictedApplicationAcces(); Set<InternalProcessDefinition> processes = new HashSet<InternalProcessDefinition>(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { final Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { final Set<ProcessDefinitionUUID> definitionUUIDs = new HashSet<ProcessDefinitionUUID>(); for (final ProcessDefinitionUUID processUUID : visibleProcessUUIDs) { definitionUUIDs.add(processUUID); } processes = EnvTool.getAllQueriers(getQueryList()).getProcesses(definitionUUIDs, processState); } } } else { processes = EnvTool.getAllQueriers(getQueryList()).getProcesses(processState); } return getProcessCopy((Set) processes); }
public void deployClasses(final Set<byte[]> classes) throws DeploymentException { FacadeUtil.checkArgsNotNull(classes); for (final byte[] data : classes) { this.deployClass(data); } }
@Override public int getNumberOfParentProcessInstances(final Set<ProcessDefinitionUUID> processDefinitionUUIDs) { if (processDefinitionUUIDs == null || processDefinitionUUIDs.isEmpty()) { return 0; } int count = 0; final boolean access = EnvTool.isRestrictedApplicationAcces(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs == null || visibleProcessUUIDs.isEmpty()) { visibleProcessUUIDs = new HashSet<ProcessDefinitionUUID>(); } visibleProcessUUIDs.retainAll(processDefinitionUUIDs); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { count = EnvTool.getAllQueriers(getQueryList()).getNumberOfParentProcessInstances(visibleProcessUUIDs); } } } else { count = EnvTool.getAllQueriers(getQueryList()).getNumberOfParentProcessInstances(processDefinitionUUIDs); } return count; }
@Override public ProcessDefinition getProcess(final String processId, final String processVersion) throws ProcessNotFoundException { FacadeUtil.checkArgsNotNull(processId, processVersion); final ProcessDefinition process = EnvTool.getAllQueriers(getQueryList()).getProcess(processId, processVersion); if (process == null) { throw new ProcessNotFoundException(processId, processVersion); } final boolean access = EnvTool.isRestrictedApplicationAcces(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName == null) { throw new ProcessNotFoundException(processId, processVersion); } final Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs == null || !visibleProcessUUIDs.contains(process.getUUID())) { throw new ProcessNotFoundException(processId, processVersion); } } return new ProcessDefinitionImpl(process); }
@Override public void resumeTask(final ActivityInstanceUUID taskUUID, final boolean taskAssign) throws TaskNotFoundException, IllegalTaskStateException { FacadeUtil.checkArgsNotNull(taskUUID); TaskManager.resume(taskUUID, taskAssign); }
private List<InternalProcessInstance> getParentProcessInstancesWithActiveUser(final String userId, final int startingIndex, final int pageSize, final Set<ProcessDefinitionUUID> processUUIDs, final ProcessInstanceCriterion pagingCriterion) { final boolean access = EnvTool.isRestrictedApplicationAcces(); List<InternalProcessInstance> processes = new ArrayList<InternalProcessInstance>(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs == null || visibleProcessUUIDs.isEmpty()) { visibleProcessUUIDs = new HashSet<ProcessDefinitionUUID>(); } visibleProcessUUIDs.retainAll(processUUIDs); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithActiveUser(userId, startingIndex, pageSize, visibleProcessUUIDs, pagingCriterion); } } } else { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithActiveUser(userId, startingIndex, pageSize, processUUIDs, pagingCriterion); } return processes; }
@Override public void assignTask(final ActivityInstanceUUID taskUUID, final String userId) throws TaskNotFoundException { FacadeUtil.checkArgsNotNull(taskUUID, userId); TaskManager.assign(taskUUID, userId); }
@Override public Integer getNumberOfParentProcessInstancesWithOverdueTasks(final String username, final Set<ProcessDefinitionUUID> processUUIDs) { final boolean access = EnvTool.isRestrictedApplicationAcces(); final Date currentDate = new Date(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs == null) { visibleProcessUUIDs = new HashSet<ProcessDefinitionUUID>(); } visibleProcessUUIDs.retainAll(processUUIDs); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { return EnvTool.getAllQueriers(getQueryList()).getNumberOfParentProcessInstancesWithOverdueTasks(username, currentDate, visibleProcessUUIDs); } } return 0; } else { return EnvTool.getAllQueriers(getQueryList()).getNumberOfParentProcessInstancesWithOverdueTasks(username, currentDate, processUUIDs); } }
@Override public void enable(final Collection<ProcessDefinitionUUID> processUUIDs) throws DeploymentException { FacadeUtil.checkArgsNotNull(processUUIDs); for (final ProcessDefinitionUUID processUUID : processUUIDs) { enable(processUUID); } }
private List<InternalProcessInstance> getParentProcessInstancesWithOverdueTasks(final String userId, final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { final boolean access = EnvTool.isRestrictedApplicationAcces(); List<InternalProcessInstance> processes = new ArrayList<InternalProcessInstance>(); final Date currentDate = new Date(); if (access) { final String applicationName = EnvTool.getApplicationAccessName(); if (applicationName != null) { final Set<ProcessDefinitionUUID> visibleProcessUUIDs = FacadeUtil.getAllowedProcessUUIDsFor(applicationName, RuleType.PROCESS_READ); if (visibleProcessUUIDs != null && !visibleProcessUUIDs.isEmpty()) { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithOverdueTasks(userId, currentDate, fromIndex, pageSize, visibleProcessUUIDs, pagingCriterion); } } } else { processes = EnvTool.getAllQueriers(getQueryList()).getParentProcessInstancesWithOverdueTasks(userId, currentDate, fromIndex, pageSize, pagingCriterion); } return processes; }