
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.PackageDefinition;
import org.ow2.bonita.facade.def.majorElement.PackageFullDefinition;
import org.ow2.bonita.facade.def.majorElement.ProcessDefinition;
import org.ow2.bonita.facade.def.majorElement.ProcessFullDefinition;
import org.ow2.bonita.facade.runtime.ActivityFullInstance;
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 PackageFullDefinition getLastDeployedPackage(final String packageId, final PackageDefinition.PackageState packageState) {
Misc.checkArgsNotNull(packageState);
// History does not return deployed packages
if (packageState.equals(PackageDefinition.PackageState.DEPLOYED)) {
return null;
}
return super.getLastDeployedPackage(packageId, packageState);
}
@Override
public ProcessFullDefinition getLastDeployedProcess(final String packageId,
final String processId, final ProcessDefinition.ProcessState processState) {
Misc.checkArgsNotNull(processState);
// History does not return deployed packages
if (processState.equals(ProcessDefinition.ProcessState.DEPLOYED)) {
return null;
}
return super.getLastDeployedProcess(packageId, processId, processState);
}
@Override
public Set getPackages(final PackageDefinition.PackageState packageState) {
Misc.checkArgsNotNull(packageState);
// History does not return deployed packages
if (packageState.equals(PackageDefinition.PackageState.DEPLOYED)) {
return Collections.emptySet();
}
return super.getPackages(packageState);
}
@Override
public Set getPackages(final String packageId, final PackageDefinition.PackageState packageState) {
Misc.checkArgsNotNull(packageState);
// History does not return deployed packages
if (packageState.equals(PackageDefinition.PackageState.DEPLOYED)) {
return Collections.emptySet();
}
return super.getPackages(packageId, packageState);
}
@Override
public Set getProcesses(final ProcessDefinition.ProcessState processState) {
Misc.checkArgsNotNull(processState);
// History does not return deployed processes
if (processState.equals(ProcessDefinition.ProcessState.DEPLOYED)) {
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(ProcessDefinition.ProcessState.DEPLOYED)) {
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.INITIAL)
|| 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.INITIAL)
|| 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