public RuntimeAPI getRuntimeAPI() { Class<RuntimeAPI> clazz = RuntimeAPI.class; APIInterceptor apiInterceptor = new APIInterceptor(new RuntimeAPIImpl()); return (RuntimeAPI) Proxy.newProxyInstance(APIAccessor.class.getClassLoader(), new Class[] {clazz}, apiInterceptor); }
@Override public void deleteProcessInstances(final Collection<ProcessInstanceUUID> instanceUUIDs) throws InstanceNotFoundException, UndeletableInstanceException { if (instanceUUIDs != null) { for (final ProcessInstanceUUID instanceUUID : instanceUUIDs) { deleteProcessInstance(instanceUUID); } } }
@Override public ProcessInstanceUUID instantiateProcess(final ProcessDefinitionUUID processUUID, final Map<String, Object> variables, final Collection<InitialAttachment> attachments) throws ProcessNotFoundException, VariableNotFoundException { return instantiateProcess(processUUID, variables, attachments, null); }
@Override public void setVariable(final ActivityInstanceUUID activityUUID, final String variableId, final Object variableValue) throws ActivityNotFoundException, VariableNotFoundException { try { setActivityInstanceVariable(activityUUID, variableId, variableValue); } catch (final Throwable e) { final ActivityInstance activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_RAPII_25", activityUUID); } try { setProcessInstanceVariable(activity.getProcessInstanceUUID(), variableId, variableValue); } catch (final InstanceNotFoundException e1) { // If activity exists, the process instance must exist too. Misc.unreachableStatement(); } } }
final String dataTypeClassName = getDataTypeClassName(variableId, variableValue, instance.getProcessDefinitionUUID()); if (attachment == null) { try { targetVariable = Misc.getVariableName(variableId); newValue = getXMLValueXPath(variableId, variableValue, null, instanceUUID); } catch (final Exception e) { throw new VariableNotFoundException("bai_RAPII_32", instanceUUID, variableId); try { targetVariable = Misc.getVariableName(variableId); newValue = getModifiedJavaObject(variableId, variableValue, null, instance); } catch (final Exception ex) { throw new VariableNotFoundException("bai_RAPII_34", instanceUUID, null, variableId); } else { if (variableValue instanceof byte[]) { addAttachment(instanceUUID, attachment.getName(), attachment.getFileName(), (byte[]) variableValue); } else if (variableValue instanceof AttachmentInstance) { final AttachmentInstance newAttachment = (AttachmentInstance) variableValue; throw new BonitaRuntimeException(e); addAttachment(instanceUUID, attachment.getName(), newAttachment.getFileName(), attachmentValue); } else { final String message = ExceptionManager.getInstance().getMessage("bai_RAPII_37");
processes = querier.getProcesses(); final RuntimeAPIImpl runtimeAPI = new RuntimeAPIImpl(getQueryList()); for (final InternalProcessInstance internalProcessInstance : parentInstances) { try { runtimeAPI.deleteProcessInstance(internalProcessInstance.getUUID()); } catch (final InstanceNotFoundException e) { throw new BonitaRuntimeException("Unable to delete process instance: " + internalProcessInstance.getUUID());
final RuntimeAPIImpl runtimeAPI = new RuntimeAPIImpl(getQueryList()); try { runtimeAPI.deleteAllProcessInstances(processUUID); } catch (final ProcessNotFoundException e) { throw new BonitaRuntimeException(e);
@Override public void setActivityInstanceVariables(final ActivityInstanceUUID activityUUID, final Map<String, Object> variables) throws ActivityNotFoundException, VariableNotFoundException { for (final Entry<String, Object> variable : variables.entrySet()) { setActivityInstanceVariable(activityUUID, variable.getKey(), variable.getValue()); } }
@Override public void setProcessInstanceVariables(final ProcessInstanceUUID instanceUUID, final Map<String, Object> variables) throws InstanceNotFoundException, VariableNotFoundException { for (final Entry<String, Object> variable : variables.entrySet()) { setProcessInstanceVariable(instanceUUID, variable.getKey(), variable.getValue()); } }
private void createDocumentOrVersion(final ProcessInstanceUUID instanceUUID, final String name, final String fileName, final byte[] value, final String mimeType) { final DocumentationManager manager = EnvTool.getDocumentationManager(); final List<org.ow2.bonita.services.Document> documents = DocumentService.getDocuments(manager, instanceUUID, name); try { if (documents.size() == 0) { createDocument(name, instanceUUID, fileName, mimeType, value); } else { addDocumentVersion(documents.get(0).getId(), true, fileName, mimeType, value); } } catch (final BonitaException e) { throw new BonitaRuntimeException(e); } }
@Override public void addComment(final ProcessInstanceUUID instanceUUID, final String message, final String userId) throws InstanceNotFoundException { final CommentImpl comment = new CommentImpl(userId, message, instanceUUID); addComment(comment, instanceUUID); }
checkAssignmentCompatibility(variableId, variableValue, dataType, processDefinitionUUID, packageDefinitionUUID);
@Override public void cancelProcessInstances(final Collection<ProcessInstanceUUID> instanceUUIDs) throws InstanceNotFoundException, UncancellableInstanceException { FacadeUtil.checkArgsNotNull(instanceUUIDs); for (final ProcessInstanceUUID instanceUUID : instanceUUIDs) { cancelProcessInstance(instanceUUID); } }
@Override public org.ow2.bonita.facade.runtime.Document addDocumentVersion(final DocumentUUID documentUUID, final boolean isMajorVersion, final String fileName, final String mimeType, final byte[] content) throws DocumentationCreationException { return addDocumentVersion(documentUUID.getValue(), isMajorVersion, fileName, mimeType, content); }
public void setVariable(ActivityInstanceUUID activityUUID, String variableId, Object variableValue) throws ActivityNotFoundException, VariableNotFoundException { try { setActivityInstanceVariable(activityUUID, variableId, variableValue); } catch (VariableNotFoundException e) { ActivityFullInstance<ActivityBody> activity = EnvTool.getAllQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException(activityUUID); } try { setProcessInstanceVariable(activity.getProcessInstanceUUID(), variableId, variableValue); } catch (InstanceNotFoundException e1) { // If activity exists, the process instance must exist too. Misc.unreachableStatement(); } } }
@Override public void addComment(final ActivityInstanceUUID activityUUID, final String message, final String userId) throws ActivityNotFoundException, InstanceNotFoundException { final ActivityInstance activity = EnvTool.getJournalQueriers().getActivityInstance(activityUUID); if (activity == null) { throw new ActivityNotFoundException("bai_RAPII_28", activityUUID); } final CommentImpl comment = new CommentImpl(userId, message, activityUUID, activity.getProcessInstanceUUID()); addComment(comment, activity.getProcessInstanceUUID()); }
checkAssignmentCompatibility(variableId, variableValue, dataType, processDefinitionUUID, packageDefinitionUUID); execution.setVariable(variableId, variableValue);
@Override public ProcessInstanceUUID instantiateProcess(final ProcessDefinitionUUID processUUID, final Map<String, Object> variables) throws ProcessNotFoundException, VariableNotFoundException { return instantiateProcess(processUUID, variables, null); }
private void deleteAllProcessInstances(final ProcessDefinition process) throws ProcessNotFoundException, UndeletableInstanceException { FacadeUtil.checkArgsNotNull(process); final ProcessDefinitionUUID processUUID = process.getUUID(); final Querier querier = EnvTool.getAllQueriers(); List<InternalProcessInstance> parentProcessInstances = querier.getParentProcessInstances(processUUID, 0, 200); do { for (final InternalProcessInstance parentProcessInstance : parentProcessInstances) { try { deleteProcessInstance(parentProcessInstance.getUUID()); } catch (final InstanceNotFoundException infe) { final String message = ExceptionManager.getInstance().getFullMessage("bai_RAPII_6"); throw new BonitaInternalException(message, infe); } } parentProcessInstances = querier.getParentProcessInstances(processUUID, 0, 200); } while (!parentProcessInstances.isEmpty()); final Set<InternalProcessInstance> instances = querier.getProcessInstances(processUUID); if (instances != null && !instances.isEmpty()) { final ProcessInstance first = instances.iterator().next(); throw new UndeletableInstanceException("bai_RAPII_7", first.getUUID(), first.getParentInstanceUUID()); } }
public RuntimeAPI getRuntimeAPI(final String queryList) { final APIInterceptor apiInterceptor = new APIInterceptor(new RuntimeAPIImpl(queryList)); return (RuntimeAPI) Proxy.newProxyInstance(APIAccessor.class.getClassLoader(), new Class[] {RuntimeAPI.class}, apiInterceptor); }