public boolean saveAttempt() { try { saveOrThrow(); return true; } catch (final SerializationException e) { return false; } }
public void saveOrThrow() throws SerializationException { saveOrThrow(_analysisResult, _resource); }
public void saveWithoutUnsafeResultElements() { final AnalysisResult safeAnalysisResult = createSafeAnalysisResult(); saveOrThrow(safeAnalysisResult, _resource); }
private static void saveResult(final AnalysisResultFuture result, final Resource resultResource) { final AnalysisResultSaveHandler analysisResultSaveHandler = new AnalysisResultSaveHandler(result, resultResource); try { analysisResultSaveHandler.saveOrThrow(); } catch (final SerializationException e) { // attempt to save what we can - and then rethrow final AnalysisResult safeAnalysisResult = analysisResultSaveHandler.createSafeAnalysisResult(); if (safeAnalysisResult == null) { logger.error("Serialization of result failed without any safe result elements to persist"); } else { final Map<ComponentJob, AnalyzerResult> unsafeResultElements = analysisResultSaveHandler.getUnsafeResultElements(); logger.error("Serialization of result failed with the following unsafe elements: {}", unsafeResultElements); logger.warn("Partial AnalysisResult will be persisted to filename '{}'", resultResource.getQualifiedPath()); analysisResultSaveHandler.saveWithoutUnsafeResultElements(); } // rethrow the exception regardless throw e; } }
final AnalysisResultSaveHandler analysisResultSaveHandler = new AnalysisResultSaveHandler((AnalysisResult) result, resource); try { analysisResultSaveHandler.saveOrThrow(); } catch (SerializationException e) {