public QuerierListAccessor(List<Querier> queriers) { List<Querier> journalsList = new ArrayList<Querier>(); List<Querier> historiesList = new ArrayList<Querier>(); for (Querier q : queriers) { if (q instanceof Recorder) { journalsList.add(q); } else if (q instanceof Archiver) { historiesList.add(q); } else { throw new BonitaRuntimeException("Invalid querier " + q + ": queriers should implement " + Recorder.class.getName() + " or " + Archiver.class.getName()); } } this.allQueriers = new QuerierChainer(queriers); this.journals = new QuerierChainer(journalsList); this.histories = new QuerierChainer(historiesList); }
@Override public List<InternalProcessInstance> getProcessInstances(final Collection<ProcessInstanceUUID> instanceUUIDs, final int fromIndex, final int pageSize) { final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getProcessInstances(instanceUUIDs, fromIndex, pageSize)); return processInsts; } for (final Querier querier : queriers) { if (processInsts.size() < fromIndex + pageSize) { // buid a set with at least all the first elements processInsts.addAll(querier.getProcessInstances(instanceUUIDs, 0, fromIndex + pageSize)); } else { mergePaginatedProcessInstances(processInsts, querier.getMostRecentMatchingProcessInstances(instanceUUIDs, fromIndex + pageSize, getOldestTime(processInsts)), querier, fromIndex, pageSize, ProcessInstanceCriterion.DEFAULT); } } return getInstancesSubset(fromIndex, pageSize, processInsts, ProcessInstanceCriterion.DEFAULT); }
@Override public List<InternalProcessDefinition> getProcesses(final Set<ProcessDefinitionUUID> definitionUUIDs, final int fromIndex, final int pageSize, final ProcessDefinitionCriterion pagingCriterion) { final List<InternalProcessDefinition> processes = new ArrayList<InternalProcessDefinition>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processes.addAll(querier.getProcesses(definitionUUIDs, fromIndex, pageSize, pagingCriterion)); return processes; } for (final Querier querier : queriers) { processes.addAll(querier.getProcesses(definitionUUIDs, 0, fromIndex + pageSize, pagingCriterion)); } return getProcessesSubset(fromIndex, pageSize, processes, pagingCriterion); }
public ProcessFullDefinition getLastDeployedProcess( String packageId, String processId, ProcessDefinition.ProcessState processState) { Set<ProcessFullDefinition> processes = getProcesses(packageId, processId, processState); PackageFullDefinition lastPackage = null; ProcessFullDefinition lastProcess = null; for (ProcessFullDefinition process : processes) { PackageDefinitionUUID packageIdent = process.getPackageDefinitionUUID(); PackageFullDefinition package1 = getPackage(packageIdent); if (lastPackage == null) { lastPackage = package1; lastProcess = process; } else if (package1.getDeployedDate().after(lastPackage.getDeployedDate())) { lastPackage = package1; lastProcess = process; } } return lastProcess; }
@Override public InternalProcessDefinition getLastDeployedProcess(final String processId, final ProcessState processState) { Misc.checkArgsNotNull(processId, processState); final Set<InternalProcessDefinition> processes = getProcesses(processId, processState); InternalProcessDefinition lastProcess = null; for (final InternalProcessDefinition process : processes) { if (lastProcess == null) { lastProcess = process; } else if (process.getDeployedDate().after(lastProcess.getDeployedDate())) { lastProcess = process; } } return lastProcess; }
public PackageFullDefinition getLastDeployedPackage(String packageId, PackageDefinition.PackageState packageState) { Set<PackageFullDefinition> packages = getPackages(packageId, packageState); PackageFullDefinition last = null; for (PackageFullDefinition package1 : packages) { if (last == null) { last = package1; } else if (package1.getDeployedDate().after(last.getDeployedDate())) { last = package1; } } return last; }
@Override public List<InternalProcessInstance> getParentProcessInstancesExcept(final Set<ProcessDefinitionUUID> exceptions, final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { if (exceptions == null || exceptions.isEmpty()) { return getParentProcessInstances(fromIndex, pageSize, pagingCriterion); } final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getParentProcessInstancesExcept(exceptions, fromIndex, pageSize, pagingCriterion)); return processInsts; } for (final Querier querier : queriers) { processInsts.addAll(querier.getParentProcessInstancesExcept(exceptions, fromIndex, pageSize, pagingCriterion)); } Collections.sort(processInsts, new InternalProcessInstanceComparator(pagingCriterion)); return Misc.subList(InternalProcessInstance.class, processInsts, 0, pageSize); }
public ProcessFullDefinition getLastDeployedProcess( String packageId, String processId, ProcessDefinition.ProcessState processState) { Set<ProcessFullDefinition> processes = getProcesses(packageId, processId, processState); PackageFullDefinition lastPackage = null; ProcessFullDefinition lastProcess = null; for (ProcessFullDefinition process : processes) { PackageDefinitionUUID packageIdent = process.getPackageDefinitionUUID(); PackageFullDefinition package1 = getPackage(packageIdent); if (lastPackage == null) { lastPackage = package1; lastProcess = process; } else if (package1.getDeployedDate().after(lastPackage.getDeployedDate())) { lastPackage = package1; lastProcess = process; } } return lastProcess; }
@Override public InternalProcessDefinition getLastDeployedProcess(final Set<ProcessDefinitionUUID> definitionUUIDs, final ProcessState processState) { Misc.checkArgsNotNull(processState); final Set<InternalProcessDefinition> processes = getProcesses(definitionUUIDs, processState); InternalProcessDefinition lastProcess = null; for (final InternalProcessDefinition process : processes) { if (lastProcess == null) { lastProcess = process; } else if (process.getDeployedDate().after(lastProcess.getDeployedDate())) { lastProcess = process; } } return lastProcess; }
public PackageFullDefinition getLastDeployedPackage(String packageId, PackageDefinition.PackageState packageState) { Set<PackageFullDefinition> packages = getPackages(packageId, packageState); PackageFullDefinition last = null; for (PackageFullDefinition package1 : packages) { if (last == null) { last = package1; } else if (package1.getDeployedDate().after(last.getDeployedDate())) { last = package1; } } return last; }
@Override public List<InternalProcessInstance> getParentProcessInstances(final int fromIndex, final int pageSize) { final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getParentProcessInstances(fromIndex, pageSize)); return processInsts; } for (final Querier querier : queriers) { if (processInsts.size() < fromIndex + pageSize) { // buid a set with at least all the first elements processInsts.addAll(querier.getParentProcessInstances(0, fromIndex + pageSize)); } else { mergePaginatedProcessInstances(processInsts, querier.getMostRecentParentProcessInstances(fromIndex + pageSize, getOldestTime(processInsts)), querier, fromIndex, pageSize, ProcessInstanceCriterion.DEFAULT); } } return getInstancesSubset(fromIndex, pageSize, processInsts, ProcessInstanceCriterion.DEFAULT); }
public QuerierListAccessor(List<Querier> queriers) { List<Querier> journalsList = new ArrayList<Querier>(); List<Querier> historiesList = new ArrayList<Querier>(); for (Querier q : queriers) { if (q instanceof Recorder) { journalsList.add(q); } else if (q instanceof Archiver) { historiesList.add(q); } else { throw new BonitaRuntimeException("Invalid querier " + q + ": queriers should implement " + Recorder.class.getName() + " or " + Archiver.class.getName()); } } this.allQueriers = new QuerierChainer(queriers); this.journals = new QuerierChainer(journalsList); this.histories = new QuerierChainer(historiesList); }
@Override public List<InternalProcessDefinition> getProcesses(final int fromIndex, final int pageSize) { final List<InternalProcessDefinition> processes = new ArrayList<InternalProcessDefinition>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processes.addAll(querier.getProcesses(fromIndex, pageSize)); return processes; } for (final Querier querier : queriers) { processes.addAll(querier.getProcesses(0, fromIndex + pageSize)); } return getProcessesSubset(fromIndex, pageSize, processes, ProcessDefinitionCriterion.DEFAULT); }
@Override public List<InternalProcessInstance> getProcessInstances(final int fromIndex, final int pageSize) { final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getProcessInstances(fromIndex, pageSize)); return processInsts; } for (final Querier querier : queriers) { if (processInsts.size() < fromIndex + pageSize) { // buid a set with at least all the first elements processInsts.addAll(querier.getProcessInstances(0, fromIndex + pageSize)); } else { mergePaginatedProcessInstances(processInsts, querier.getMostRecentProcessInstances(fromIndex + pageSize, getOldestTime(processInsts)), querier, fromIndex, pageSize, ProcessInstanceCriterion.DEFAULT); } } return getInstancesSubset(fromIndex, pageSize, processInsts, ProcessInstanceCriterion.DEFAULT); }
public QuerierListAccessor(List<Querier> queriers) { List<Querier> journalsList = new ArrayList<Querier>(); List<Querier> historiesList = new ArrayList<Querier>(); for (Querier q : queriers) { if (q instanceof Recorder) { journalsList.add(q); } else if (q instanceof Archiver) { historiesList.add(q); } else { String message = ExceptionManager.getInstance().getMessage( "bs_QLA_1", q, Recorder.class.getName(), Archiver.class.getName()); throw new BonitaRuntimeException(message); } } this.allQueriers = new QuerierChainer(queriers); this.journals = new QuerierChainer(journalsList); this.histories = new QuerierChainer(historiesList); }
@Override public List<InternalProcessDefinition> getProcessesExcept(final Set<ProcessDefinitionUUID> processUUIDs, final int fromIndex, final int pageSize, final ProcessDefinitionCriterion pagingCriterion) { final List<InternalProcessDefinition> processes = new ArrayList<InternalProcessDefinition>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processes.addAll(querier.getProcessesExcept(processUUIDs, fromIndex, pageSize, pagingCriterion)); return processes; } for (final Querier querier : queriers) { processes.addAll(querier.getProcessesExcept(processUUIDs, 0, fromIndex + pageSize, pagingCriterion)); } return getProcessesSubset(fromIndex, pageSize, processes, pagingCriterion); }
@Override public List<InternalProcessInstance> getParentProcessInstances(final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getParentProcessInstances(fromIndex, pageSize, pagingCriterion)); return processInsts; } for (final Querier querier : queriers) { if (processInsts.size() < fromIndex + pageSize) { // buid a set with at least all the first elements processInsts.addAll(querier.getParentProcessInstances(0, fromIndex + pageSize, pagingCriterion)); } else { mergePaginatedProcessInstances(processInsts, querier.getMostRecentParentProcessInstances(fromIndex + pageSize, getOldestTime(processInsts), pagingCriterion), querier, fromIndex, pageSize, pagingCriterion); } } return getInstancesSubset(fromIndex, pageSize, processInsts, pagingCriterion); }
@Override public List<InternalProcessDefinition> getProcesses(final Set<ProcessDefinitionUUID> definitionUUIDs, final int fromIndex, final int pageSize) { final List<InternalProcessDefinition> processes = new ArrayList<InternalProcessDefinition>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processes.addAll(querier.getProcesses(definitionUUIDs, fromIndex, pageSize)); return processes; } for (final Querier querier : queriers) { processes.addAll(querier.getProcesses(definitionUUIDs, 0, fromIndex + pageSize)); } return getProcessesSubset(fromIndex, pageSize, processes, ProcessDefinitionCriterion.DEFAULT); }
@Override public List<InternalProcessInstance> getProcessInstances(final Set<ProcessDefinitionUUID> definitionUUIDs, final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { final List<InternalProcessInstance> processInsts = new ArrayList<InternalProcessInstance>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processInsts.addAll(querier.getProcessInstances(definitionUUIDs, fromIndex, pageSize, pagingCriterion)); return processInsts; } for (final Querier querier : queriers) { if (processInsts.size() < fromIndex + pageSize) { // buid a set with at least all the first elements processInsts.addAll(querier.getProcessInstances(definitionUUIDs, 0, fromIndex + pageSize, pagingCriterion)); } else { mergePaginatedProcessInstances(processInsts, querier.getMostRecentProcessesProcessInstances(definitionUUIDs, fromIndex + pageSize, getOldestTime(processInsts), pagingCriterion), querier, fromIndex, pageSize, pagingCriterion); } } return getInstancesSubset(fromIndex, pageSize, processInsts, pagingCriterion); }
@Override public List<InternalProcessDefinition> getProcessesExcept(final Set<ProcessDefinitionUUID> processUUIDs, final int fromIndex, final int pageSize) { final List<InternalProcessDefinition> processes = new ArrayList<InternalProcessDefinition>(); if (queriers.size() == 1) { // can perform directly the query final Querier querier = queriers.get(0); processes.addAll(querier.getProcessesExcept(processUUIDs, fromIndex, pageSize)); return processes; } for (final Querier querier : queriers) { processes.addAll(querier.getProcessesExcept(processUUIDs, 0, fromIndex + pageSize)); } return getProcessesSubset(fromIndex, pageSize, processes, ProcessDefinitionCriterion.DEFAULT); }