for (String status : statusFilter) { try { StatusKeys.valueOf(status.toUpperCase()); } catch (IllegalArgumentException e) { throw new InvalidRequestException(
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; } }); }
private void addInstanceSummaryEntry(InstanceSummary instSum, ProcessConf pconf, InstanceStatus state) throws ProcessManagementException { Instances_type0 instances = new Instances_type0(); instances.setState(state); String queryStatus = InstanceFilter.StatusKeys.valueOf(state.toString()).toString(). toLowerCase(); final InstanceFilter instanceFilter = new InstanceFilter("status=" + queryStatus + " pid=" + pconf.getProcessId()); int count = dbexec(new BpelDatabase.Callable<Integer>() { public Integer run(BpelDAOConnection conn) throws Exception { return conn.instanceCount(instanceFilter).intValue(); } }); instances.setCount(count); instSum.addInstances(instances); }