
org.ow2.bonita.facade.ejb.RuntimeAPIBean Maven / Gradle / Ivy
The newest version!
/**
* Copyright (C) 2006 Bull S. A. S.
* Bull, Rue Jean Jaures, B.P.68, 78340, Les Clayes-sous-Bois
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
*
* Modified by Matthieu Chaffotte - BonitaSoft S.A.
**/
package org.ow2.bonita.facade.ejb;
import java.rmi.RemoteException;
import java.util.Map;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import org.ow2.bonita.facade.RuntimeAPI;
import org.ow2.bonita.facade.exception.ActivityNotFoundException;
import org.ow2.bonita.facade.exception.IllegalTaskStateException;
import org.ow2.bonita.facade.exception.InstanceNotFoundException;
import org.ow2.bonita.facade.exception.ProcessNotFoundException;
import org.ow2.bonita.facade.exception.TaskNotFoundException;
import org.ow2.bonita.facade.exception.UncancellableInstanceException;
import org.ow2.bonita.facade.exception.UndeletableInstanceException;
import org.ow2.bonita.facade.exception.VariableNotFoundException;
import org.ow2.bonita.facade.impl.StandardAPIAccessorImpl;
import org.ow2.bonita.facade.internal.InternalRuntimeAPI;
import org.ow2.bonita.facade.uuid.ActivityInstanceUUID;
import org.ow2.bonita.facade.uuid.ProcessDefinitionUUID;
import org.ow2.bonita.facade.uuid.ProcessInstanceUUID;
import org.ow2.bonita.facade.uuid.TaskUUID;
public class RuntimeAPIBean implements InternalRuntimeAPI, SessionBean {
/**
*
*/
private static final long serialVersionUID = 4856106680913239049L;
protected SessionContext ctx = null;
protected RuntimeAPI runtimeAPI;
protected RuntimeAPI getAPI() {
EJB2SecurityOwner.setUser(this.ctx.getCallerPrincipal().getName());
if (this.runtimeAPI == null) {
this.runtimeAPI = new StandardAPIAccessorImpl().getRuntimeAPI();
}
return this.runtimeAPI;
}
public void ejbCreate() {
}
public void ejbActivate() throws RemoteException {
}
public void ejbPassivate() throws RemoteException {
}
public void ejbRemove() throws RemoteException {
}
public void setSessionContext(final SessionContext arg0) throws RemoteException {
this.ctx = arg0;
}
public void startTask(final TaskUUID taskUUID,
final boolean assignTask) throws TaskNotFoundException, IllegalTaskStateException {
getAPI().startTask(taskUUID, assignTask);
}
public void finishTask(final TaskUUID taskUUID,
final boolean taskAssign) throws TaskNotFoundException, IllegalTaskStateException {
getAPI().finishTask(taskUUID, taskAssign);
}
public void resumeTask(final TaskUUID taskUUID, final boolean taskAssign) throws TaskNotFoundException,
IllegalTaskStateException {
getAPI().resumeTask(taskUUID, taskAssign);
}
public void suspendTask(final TaskUUID taskUUID, final boolean assignTask) throws TaskNotFoundException,
IllegalTaskStateException {
getAPI().suspendTask(taskUUID, assignTask);
}
public void assignTask(final TaskUUID taskUUID) throws TaskNotFoundException {
getAPI().assignTask(taskUUID);
}
public void assignTask(final TaskUUID taskUUID, final String actorId) throws TaskNotFoundException {
getAPI().assignTask(taskUUID, actorId);
}
public void assignTask(final TaskUUID taskUUID, final java.util.Set candidates) throws TaskNotFoundException {
getAPI().assignTask(taskUUID, candidates);
}
public void unassignTask(final TaskUUID taskUUID) throws TaskNotFoundException {
getAPI().unassignTask(taskUUID);
}
public void deleteAllProcessInstances(final ProcessDefinitionUUID processUUID) throws ProcessNotFoundException,
UndeletableInstanceException {
getAPI().deleteAllProcessInstances(processUUID);
}
public void deleteProcessInstance(final ProcessInstanceUUID instanceUUID)
throws InstanceNotFoundException, UndeletableInstanceException {
getAPI().deleteProcessInstance(instanceUUID);
}
public void cancelProcessInstance(final ProcessInstanceUUID instanceUUID) throws InstanceNotFoundException,
UncancellableInstanceException {
getAPI().cancelProcessInstance(instanceUUID);
}
public ProcessInstanceUUID instantiateProcess(
final ProcessDefinitionUUID processUUID) throws ProcessNotFoundException {
return getAPI().instantiateProcess(processUUID);
}
public ProcessInstanceUUID instantiateProcess(
final ProcessDefinitionUUID processUUID,
final Map variables) throws ProcessNotFoundException, VariableNotFoundException {
return getAPI().instantiateProcess(processUUID, variables);
}
public void setProcessInstanceVariable(final ProcessInstanceUUID instanceUUID, final String variableId,
final Object variableValue) throws InstanceNotFoundException, VariableNotFoundException {
getAPI().setProcessInstanceVariable(instanceUUID, variableId, variableValue);
}
public void setActivityInstanceVariable(final ActivityInstanceUUID activityUUID,
final String variableId, final Object variableValue) throws ActivityNotFoundException, VariableNotFoundException {
getAPI().setActivityInstanceVariable(activityUUID, variableId, variableValue);
}
public void setVariable(final ActivityInstanceUUID activityUUID, final String variableId, final Object variableValue)
throws ActivityNotFoundException, VariableNotFoundException {
getAPI().setVariable(activityUUID, variableId, variableValue);
}
public void addComment(final ProcessInstanceUUID instanceUUID,
final ActivityInstanceUUID activityUUID, final String message, final String userId)
throws InstanceNotFoundException, ActivityNotFoundException {
getAPI().addComment(instanceUUID, activityUUID, message, userId);
}
public void addProcessMetaData(ProcessDefinitionUUID uuid, String key,
String value) throws ProcessNotFoundException, RemoteException {
getAPI().addProcessMetaData(uuid, key, value);
}
public void deleteProcessMetaData(ProcessDefinitionUUID uuid, String key)
throws ProcessNotFoundException, RemoteException {
getAPI().deleteProcessMetaData(uuid, key);
}
public Object evaluateGroovyExpression(String expression,
ProcessInstanceUUID instanceUUID) throws InstanceNotFoundException, RemoteException {
return getAPI().evaluateGroovyExpression(expression, instanceUUID);
}
public Object evaluateGroovyExpression(String expression,
ActivityInstanceUUID activityUUID) throws InstanceNotFoundException,
ActivityNotFoundException, RemoteException {
return getAPI().evaluateGroovyExpression(expression, activityUUID);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy