public static void setWorkflowRunReport(Bundle dataBundle, JsonNode workflowRunReport) throws IOException { Path path = getWorkflowRunReport(dataBundle); try (OutputStream out = newOutputStream(path)) { OBJECT_MAPPER.instance.writeValue(out, workflowRunReport); } }
@Test public void getWorkflowReportAsJson() throws Exception { Path runReport = DataBundles.getWorkflowRunReport(dataBundle); DataBundles.setStringValue(runReport, "{ \"valid\": \"not really\", \"number\": 1337 }"); JsonNode json = DataBundles.getWorkflowRunReportAsJson(dataBundle); assertEquals("not really", json.path("valid").asText()); assertEquals(1337, json.path("number").asInt()); }
public static JsonNode getWorkflowRunReportAsJson(Bundle dataBundle) throws IOException { Path path = getWorkflowRunReport(dataBundle); try (InputStream jsonIn = newInputStream(path)) { return OBJECT_MAPPER.instance.readTree(jsonIn); } }
@Test public void getBundle() throws Exception { Bundle bundle = run.getDataBundle(); // Contains a copy of workflow assertEquals(wfBundle.getGlobalBaseURI(), DataBundles.getWorkflowBundle(bundle).getGlobalBaseURI()); // Contains a run report Path runReport = DataBundles.getWorkflowRunReport(bundle); assertTrue(Files.exists(runReport)); JsonNode runReportJson = DataBundles.getWorkflowRunReportAsJson(bundle); assertEquals("COMPLETED", runReportJson.get("state").asText()); }
public WorkflowReport load(Bundle bundle) throws IOException, ReaderException, ParseException { Path path = getWorkflowRunReport(bundle); WorkflowBundle workflow = getWorkflowBundle(bundle); return load(path, workflow); }
@Test public void getWorkflowReport() throws Exception { Path runReport = DataBundles.getWorkflowRunReport(dataBundle); assertEquals("/workflowrun.json", runReport.toString()); }
public void save(WorkflowReport wfReport, Bundle dataBundle) throws IOException { Path path = getWorkflowRunReport(dataBundle); save(wfReport, path); if (!Files.exists(getWorkflow(dataBundle))) // Usually already done by Run constructor setWorkflowBundle(wfReport.getDataBundle(), wfReport.getSubject() .getParent()); }
@Test public void setWorkflowReport() throws Exception { ObjectNode report = JsonNodeFactory.instance.objectNode(); report.put("number", 1337); DataBundles.setWorkflowRunReport(dataBundle, report); Path runReport = DataBundles.getWorkflowRunReport(dataBundle); String json = DataBundles.getStringValue(runReport); assertTrue(json.contains("number")); assertTrue(json.contains("1337")); }