@Override public void jobSuccess(AnalysisJob job, AnalysisJobMetrics metrics) { final AnalysisResult result = new SimpleAnalysisResult(_results); _executionLogger.setStatusSuccess(result); }
@Override public void write(final AnalysisResult result, final DataCleanerConfiguration configuration, final Supplier<Writer> writerRef, final Supplier<OutputStream> outputStreamRef) { final SimpleAnalysisResult simpleAnalysisResult; if (result instanceof SimpleAnalysisResult) { simpleAnalysisResult = (SimpleAnalysisResult) result; } else { simpleAnalysisResult = new SimpleAnalysisResult(result.getResultMap()); } SerializationUtils.serialize(simpleAnalysisResult, outputStreamRef.get()); }
/** * Creates a safe {@link AnalysisResult} for saving * * @return a new {@link AnalysisResult} or null if it is not possible to * create a result that is safer than the previous. */ public AnalysisResult createSafeAnalysisResult() { final Set<ComponentJob> unsafeKeys = getUnsafeResultElements().keySet(); if (unsafeKeys.isEmpty()) { return _analysisResult; } final Map<ComponentJob, AnalyzerResult> resultMap = new LinkedHashMap<>(_analysisResult.getResultMap()); for (final ComponentJob unsafeKey : unsafeKeys) { resultMap.remove(unsafeKey); } if (resultMap.isEmpty()) { return null; } return new SimpleAnalysisResult(resultMap, _analysisResult.getCreationDate()); } }
public Serializable serializeResult(final AnalysisResultFuture resultFuture, final String slaveJobId) { try { // wait for result to be ready resultFuture.await(); final Serializable resultObject; if (resultFuture.isSuccessful()) { resultObject = new SimpleAnalysisResult(resultFuture.getResultMap()); } else { resultObject = new ArrayList<>(resultFuture.getErrors()); } return resultObject; } finally { if (slaveJobId != null) { _runningJobs.remove(slaveJobId); } } }
private static void saveOrThrow(final AnalysisResult analysisResult, final Resource resource) { final SimpleAnalysisResult simpleAnalysisResult; if (analysisResult instanceof SimpleAnalysisResult) { simpleAnalysisResult = (SimpleAnalysisResult) analysisResult; } else { simpleAnalysisResult = new SimpleAnalysisResult(analysisResult.getResultMap(), analysisResult.getCreationDate()); } final OutputStream out = resource.write(); try { SerializationUtils.serialize(simpleAnalysisResult, out); } catch (final SerializationException e) { logger.error("Error serializing analysis result: " + analysisResult, e); throw e; } finally { FileHelper.safeClose(out); } }
final ComponentJob componentJob = new PlaceholderComponentJob(job.getName(), analyzerResult.getClass(), analyzerResult.getClass()); results.put(componentJob, analyzerResult); return new SimpleAnalysisResult(results, creationDate);
} else { final AnalysisResult existinAnalysisResult = result.getAnalysisResult(); newAnalysisResult = new SimpleAnalysisResult(existinAnalysisResult.getResultMap(), newDate);