
org.ow2.bonita.persistence.db.OptimizedDbHistory Maven / Gradle / Ivy
package org.ow2.bonita.persistence.db;
import java.util.Collections;
import java.util.Set;
import org.ow2.bonita.facade.def.majorElement.ProcessDefinition;
import org.ow2.bonita.facade.def.majorElement.ProcessDefinition.ProcessState;
import org.ow2.bonita.facade.runtime.ActivityState;
import org.ow2.bonita.facade.runtime.TaskInstance;
import org.ow2.bonita.facade.uuid.ProcessInstanceUUID;
import org.ow2.bonita.util.Misc;
/**
*
* @author Thomas Gueze
*
*/
public class OptimizedDbHistory extends DbHistory {
public OptimizedDbHistory(final String name) {
super(name);
}
@Override
public ProcessDefinition getLastDeployedProcess(
final String processId, final ProcessDefinition.ProcessState processState) {
Misc.checkArgsNotNull(processId, processState);
// History does not return deployed packages
if (processState.equals(ProcessState.ENABLED)) {
return null;
}
return super.getLastDeployedProcess(processId, processState);
}
@Override
public Set getProcesses(final ProcessDefinition.ProcessState processState) {
Misc.checkArgsNotNull(processState);
// History does not return deployed processes
if (processState.equals(ProcessState.ENABLED)) {
return Collections.emptySet();
}
return super.getProcesses(processState);
}
@Override
public Set getProcesses(final String processId, final ProcessDefinition.ProcessState processState) {
Misc.checkArgsNotNull(processState);
// History does not return deployed processes
if (processState.equals(ProcessState.ENABLED)) {
return Collections.emptySet();
}
return super.getProcesses(processId, processState);
}
@Override
public Set getUserInstanceTasks(
final String userId, final ProcessInstanceUUID instanceUUID, final ActivityState taskState) {
Misc.checkArgsNotNull(taskState);
// History only contains finished tasks
if (taskState.equals(ActivityState.READY)
|| taskState.equals(ActivityState.EXECUTING)
|| taskState.equals(ActivityState.SUSPENDED)
) {
return Collections.emptySet();
}
return super.getUserInstanceTasks(userId, instanceUUID, taskState);
}
@Override
public Set getUserTasks(final String userId, final ActivityState taskState) {
Misc.checkArgsNotNull(taskState);
// History only contains finished tasks
if (taskState.equals(ActivityState.READY)
|| taskState.equals(ActivityState.EXECUTING)
|| taskState.equals(ActivityState.SUSPENDED)
) {
return Collections.emptySet();
}
return super.getUserTasks(userId, taskState);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy