@Test public void getOutputs() throws Exception { Path outputs = DataBundles.getOutputs(dataBundle); assertTrue(Files.isDirectory(outputs)); // Second time should not fail because it already exists outputs = DataBundles.getOutputs(dataBundle); assertTrue(Files.isDirectory(outputs)); assertEquals(dataBundle.getRoot(), outputs.getParent()); }
@Test public void setErrorCause() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path portIn1 = DataBundles.getPort(inputs, "in1"); Path cause1 = DataBundles.setError(portIn1, "Something did not work", "A very\n long\n error\n trace"); Path portIn2 = DataBundles.getPort(inputs, "in2"); Path cause2 = DataBundles.setError(portIn2, "Something else did not work", "Shorter trace"); Path outputs = DataBundles.getOutputs(dataBundle); Path portOut1 = DataBundles.getPort(outputs, "out1"); Path errorPath = DataBundles.setError(portOut1, "Errors in input", "", cause1, cause2); List<String> errLines = Files.readAllLines(errorPath, Charset.forName("UTF-8")); assertEquals("../inputs/in1.err", errLines.get(0)); assertEquals("../inputs/in2.err", errLines.get(1)); assertEquals("", errLines.get(2)); }
Path outputs = DataBundles.getOutputs(dataBundle); Path portOut1 = DataBundles.getPort(outputs, "out1");
@Test public void hasOutputs() throws Exception { assertFalse(DataBundles.hasOutputs(dataBundle)); DataBundles.getInputs(dataBundle); // independent assertFalse(DataBundles.hasOutputs(dataBundle)); DataBundles.getOutputs(dataBundle); // create on demand assertTrue(DataBundles.hasOutputs(dataBundle)); }
Path outputs = DataBundles.getOutputs(dataBundle); Files.copy(localFile, DataBundles.getPort(outputs, "out1"));
@Test public void getErrorCause() throws Exception { Path inputs = DataBundles.getInputs(dataBundle); Path portIn1 = DataBundles.getPort(inputs, "in1"); Path cause1 = DataBundles.setError(portIn1, "Something did not work", "A very\n long\n error\n trace"); Path portIn2 = DataBundles.getPort(inputs, "in2"); Path cause2 = DataBundles.setError(portIn2, "Something else did not work", "Shorter trace"); Path outputs = DataBundles.getOutputs(dataBundle); Path portOut1 = DataBundles.getPort(outputs, "out1"); DataBundles.setError(portOut1, "Errors in input", "", cause1, cause2); ErrorDocument error = DataBundles.getError(portOut1); assertEquals("Errors in input", error.getMessage()); assertEquals("", error.getTrace()); assertEquals(2, error.getCausedBy().size()); assertTrue(Files.isSameFile(cause1, error.getCausedBy().get(0))); assertTrue(Files.isSameFile(cause2, error.getCausedBy().get(1))); }
wfInvocation.getInputs().put("name", name); Path greeting = DataBundles.getPort(DataBundles.getOutputs(dataBundle), "greeting"); DataBundles.setStringValue(greeting, "Hello, John Doe"); wfInvocation.getOutputs().put("greeting", greeting);