private void genInstanceSummaryEntry(TInstanceSummary.Instances instances, TInstanceStatus.Enum state, String pid, Map<InstanceSummaryKey, Long> summary) { instances.setState(state); Long count = summary.get(new InstanceSummaryKey(pid, state.toString())); instances.setCount(count == null ? 0 : count.intValue()); }
private void addFailuresToInstanceSummary(final InstanceSummary instSum, ProcessConf pconf) throws ProcessManagementException { final FailuresInfo failureInfo = new FailuresInfo(); String queryStatus = InstanceFilter.StatusKeys.valueOf(TInstanceStatus.ACTIVE.toString()). toString().toLowerCase(); final InstanceFilter instanceFilter = new InstanceFilter("status=" + queryStatus + " pid=" + pconf.getProcessId()); dbexec(new BpelDatabase.Callable<Void>() { public Void run(BpelDAOConnection conn) throws Exception { Date lastFailureDt = null; int failureInstances = 0; for (ProcessInstanceDAO instance : conn.instanceQuery(instanceFilter)) { int count = instance.getActivityFailureCount(); if (count > 0) { ++failureInstances; Date failureDt = instance.getActivityFailureDateTime(); if (lastFailureDt == null || lastFailureDt.before(failureDt)) { lastFailureDt = failureDt; } } } if (failureInstances > 0) { failureInfo.setCount(failureInstances); failureInfo.setFailureDate(AdminServiceUtils.toCalendar(lastFailureDt)); instSum.setFailures(failureInfo); } return null; } }); }