/** * Record a failure incident for a given job. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void recordFailure(Job job, int code, List<Tuple<String, String>> details) { record(job, Severity.FAILURE, code, NO_PARAMS, details); }
/** * Record an incident for a given job. This method is intended to record client incidents, i.e. incidents crafted by * the programmer. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void record(Job job, Severity severity, int code) { record(job, severity, code, NO_PARAMS, NO_DETAILS); }
/** * Record a failure incident for a given job. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void recordFailure(Job job, int code, Map<String, String> params, List<Tuple<String, String>> details) { record(job, Severity.FAILURE, code, params, details); }
/** * Record a failure incident for a given job. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void recordFailure(Job job, int code) { record(job, Severity.FAILURE, code, NO_PARAMS, NO_DETAILS); }
/** * Record a failure incident for a given job. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void recordFailure(Job job, int code, Map<String, String> params) { record(job, Severity.FAILURE, code, params, NO_DETAILS); }
/** * Record a failure incident for a given job. * * @see #record(org.opencastproject.job.api.Job, org.opencastproject.job.api.Incident.Severity, int, java.util.Map, * java.util.List) * @see org.opencastproject.job.api.Incident */ public void recordFailure(Job job, int code, Throwable t, Map<String, String> params, List<Tuple<String, String>> details) { List<Tuple<String, String>> detailList = new ArrayList<>(details); detailList.add(tuple("stack-trace", ExceptionUtils.getStackTrace(t))); record(job, Severity.FAILURE, code, params, detailList); }
@Override public WorkflowOperationResult start(WorkflowInstance wi, JobContext ctx) throws WorkflowOperationException { final WorkflowOperationInstance woi = wi.getCurrentOperation(); final int code = option(woi.getConfiguration(OPT_CODE)).bind(Strings.toInt).getOrElse(1); final Severity severity = option(woi.getConfiguration(OPT_SEVERITY)).bind(parseEnum(Severity.FAILURE)).getOrElse(Severity.INFO); final List<Tuple<String, String>> details = Arrays.stream(ArrayUtils.nullToEmpty( StringUtils.split(woi.getConfiguration(OPT_DETAILS), ";"))) .map((opt) -> opt.split("=")) .filter((t) -> t.length == 2) .map((x) -> Tuple.tuple(x[0], x[1])) .collect(Collectors.toList()); final Map<String, String> params = Arrays.stream(ArrayUtils.nullToEmpty( StringUtils.split(woi.getConfiguration(OPT_PARAMS), ";"))) .map((opt) -> opt.split("=")) .filter((t) -> t.length == 2) .collect(Collectors.toMap(x -> x[0], x -> x[1])); log.info("Create nop job"); final Job job = nopService.nop(); log.info("Log a dummy incident with code %d", code); serviceRegistry.incident().record(job, severity, code, params, details); if (!waitForStatus(job).isSuccess()) { throw new WorkflowOperationException("Job did not complete successfully"); } else { return createResult(WorkflowOperationResult.Action.CONTINUE); } }