You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/09/07 23:49:34 UTC
[6/7] incubator-taverna-language git commit: test resolveStream()
test resolveStream()
.. and use correct path in flatMap() !
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/bc6f8a23
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/bc6f8a23
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/bc6f8a23
Branch: refs/heads/master
Commit: bc6f8a23a43181c23f269ca8997d8c1c9af5dbd2
Parents: 135155e
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Aug 29 19:05:33 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Aug 29 19:05:33 2016 +0100
----------------------------------------------------------------------
.../apache/taverna/databundle/DataBundles.java | 2 +-
.../taverna/databundle/TestDataBundles.java | 40 ++++++++++++++++++++
2 files changed, 41 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/bc6f8a23/taverna-databundle/src/main/java/org/apache/taverna/databundle/DataBundles.java
----------------------------------------------------------------------
diff --git a/taverna-databundle/src/main/java/org/apache/taverna/databundle/DataBundles.java b/taverna-databundle/src/main/java/org/apache/taverna/databundle/DataBundles.java
index 9db6a2c..897bc15 100644
--- a/taverna-databundle/src/main/java/org/apache/taverna/databundle/DataBundles.java
+++ b/taverna-databundle/src/main/java/org/apache/taverna/databundle/DataBundles.java
@@ -702,7 +702,7 @@ public class DataBundles extends Bundles {
return Files.walk(path)
// avoid re-recursion
.filter(p -> !Files.isDirectory(p))
- .flatMap(p -> resolveItemAsStream(path, type, options));
+ .flatMap(p -> resolveItemAsStream(p, type, options));
} catch (IOException e) {
throw new UncheckedIOException(e);
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/bc6f8a23/taverna-databundle/src/test/java/org/apache/taverna/databundle/TestDataBundles.java
----------------------------------------------------------------------
diff --git a/taverna-databundle/src/test/java/org/apache/taverna/databundle/TestDataBundles.java b/taverna-databundle/src/test/java/org/apache/taverna/databundle/TestDataBundles.java
index 6c6ab4b..0a67b95 100644
--- a/taverna-databundle/src/test/java/org/apache/taverna/databundle/TestDataBundles.java
+++ b/taverna-databundle/src/test/java/org/apache/taverna/databundle/TestDataBundles.java
@@ -43,6 +43,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.stream.Stream;
import org.apache.taverna.databundle.DataBundles.ResolveOptions;
import org.apache.taverna.robundle.Bundle;
@@ -603,6 +604,45 @@ public class TestDataBundles {
assertEquals("test0,2", resolved.get(0).get(2));
assertEquals("test2,0", resolved.get(2).get(0));
}
+
+
+ @Test
+ public void resolveStream() throws Exception {
+ Path inputs = DataBundles.getInputs(dataBundle);
+ Path list = DataBundles.getPort(inputs, "in1");
+ DataBundles.createList(list);
+
+ Path nested0 = DataBundles.newListItem(list);
+ DataBundles.newListItem(nested0);
+ DataBundles.setStringValue(DataBundles.newListItem(nested0), "test0,0");
+ DataBundles.setStringValue(DataBundles.newListItem(nested0), "test0,1");
+ DataBundles.setStringValue(DataBundles.newListItem(nested0), "test0,2");
+ DataBundles.setError(DataBundles.newListItem(nested0), "Ignore me", "This error is hidden");
+ Path nested1 = DataBundles.newListItem(list);
+ DataBundles.newListItem(nested1); // empty
+ Path nested2 = DataBundles.newListItem(list);
+ DataBundles.newListItem(nested2);
+ DataBundles.setStringValue(DataBundles.newListItem(nested2), "test2,0");
+ DataBundles.setReference(DataBundles.newListItem(nested2), URI.create("http://example.com/"));
+
+
+
+ assertEquals(6, DataBundles.resolveAsStream(list, Object.class).count());
+ assertEquals(6, DataBundles.resolveAsStream(list, Path.class).count());
+ assertEquals(5, DataBundles.resolveAsStream(list, URI.class).count());
+ assertEquals(1, DataBundles.resolveAsStream(list, URL.class).count());
+ assertEquals(0, DataBundles.resolveAsStream(list, File.class).count());
+ assertEquals(1, DataBundles.resolveAsStream(list, ErrorDocument.class).count());
+ // Let's have a look at one of the types in detail
+ assertEquals(4, DataBundles.resolveAsStream(list, String.class).count());
+ Stream<String> resolved = DataBundles.resolveAsStream(list, String.class);
+ Object[] strings = resolved.sorted().map(t -> t.replace("test", "X")).toArray();
+ // NOTE: We can only assume the below order because we used .sorted()
+ assertEquals("X0,0", strings[0]);
+ assertEquals("X0,1", strings[1]);
+ assertEquals("X0,2", strings[2]);
+ assertEquals("X2,0", strings[3]);
+ }
@Test
public void resolveURIs() throws Exception {