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 2018/01/05 16:11:55 UTC

[01/15] incubator-taverna-language git commit: add test-jar, not test-jar sources :) [Forced Update!]

Repository: incubator-taverna-language
Updated Branches:
  refs/heads/TAVERNA-1017 a748e824f -> 037b1dd51 (forced update)


add test-jar, not test-jar sources :)


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/b3a78ddc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/b3a78ddc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/b3a78ddc

Branch: refs/heads/TAVERNA-1017
Commit: b3a78ddc33762b6344059b255e8e2df30104072d
Parents: 7b70e67
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Nov 2 17:30:14 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Nov 2 17:30:14 2016 +0000

----------------------------------------------------------------------
 taverna-scufl2-api/pom.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/b3a78ddc/taverna-scufl2-api/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-api/pom.xml b/taverna-scufl2-api/pom.xml
index 4c0052a..2930371 100644
--- a/taverna-scufl2-api/pom.xml
+++ b/taverna-scufl2-api/pom.xml
@@ -53,9 +53,10 @@
     </dependencies>
     <build>
         <plugins>
+
             <plugin>
               <groupId>org.apache.maven.plugins</groupId>
-              <artifactId>maven-source-plugin</artifactId>
+              <artifactId>maven-jar-plugin</artifactId>
               <executions>
             <execution>
               <goals>


[11/15] incubator-taverna-language git commit: Merge remote-tracking branch 'mark/retrieved'

Posted by st...@apache.org.
Merge remote-tracking branch 'mark/retrieved'


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/ce77335e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/ce77335e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/ce77335e

Branch: refs/heads/TAVERNA-1017
Commit: ce77335ee950a15953adfcc382d20311f2b68d9b
Parents: 6171859 63f2469
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 23 14:59:16 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 23 14:59:16 2017 +0000

----------------------------------------------------------------------
 .../taverna/robundle/manifest/Manifest.java     |  32 +++++-
 .../taverna/robundle/manifest/PathMetadata.java |  31 ++++-
 .../robundle/manifest/RDFToManifest.java        | 113 ++++++++++++++++---
 .../apache/taverna/robundle/utils/RDFUtils.java |   1 +
 .../taverna/robundle/manifest/TestManifest.java |  10 ++
 .../src/test/resources/manifest.json            |  20 +++-
 6 files changed, 184 insertions(+), 23 deletions(-)
----------------------------------------------------------------------



[04/15] incubator-taverna-language git commit: Updated copyright to 2017

Posted by st...@apache.org.
Updated copyright to 2017


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/6171859d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/6171859d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/6171859d

Branch: refs/heads/TAVERNA-1017
Commit: 6171859dc265b5b95ef62953956fe7047f052ac3
Parents: 529ae2a
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jan 13 15:36:13 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jan 13 15:36:13 2017 +0000

----------------------------------------------------------------------
 NOTICE | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/6171859d/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index 750b5d3..6a04f22 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Taverna Language
-Copyright 2014-2016 The Apache Software Foundation
+Copyright 2014-2017 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).


[02/15] incubator-taverna-language git commit: javadoc plugin only needed during release

Posted by st...@apache.org.
javadoc plugin only needed during release


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/4b923afb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/4b923afb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/4b923afb

Branch: refs/heads/TAVERNA-1017
Commit: 4b923afb03ea7685e0c75fd9752023472d88850a
Parents: b3a78dd
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Nov 2 17:33:13 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Nov 2 17:33:13 2016 +0000

----------------------------------------------------------------------
 pom.xml | 16 ----------------
 1 file changed, 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/4b923afb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index af5f393..78e571b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,22 +32,6 @@
 		and workflow inputs/outputs/run (DataBundle).
 	</description>
 	<build>
-		<plugins>
-			<plugin>
-    <groupId>org.apache.maven.plugins</groupId>
-    <artifactId>maven-javadoc-plugin</artifactId>
-    <executions>
-        <execution>
-            <id>attach-javadocs</id>
-            <goals>
-                <goal>jar</goal>
-            </goals>
-            <configuration>
-                <additionalparam>-Xdoclint:none</additionalparam>
-            </configuration>
-        </execution>
-    </executions>
-</plugin>
 			<plugin>
 				<groupId>org.apache.rat</groupId>
 				<artifactId>apache-rat-plugin</artifactId>


[09/15] incubator-taverna-language git commit: optional retrievedFrom

Posted by st...@apache.org.
optional retrievedFrom


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/4f0421a6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/4f0421a6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/4f0421a6

Branch: refs/heads/TAVERNA-1017
Commit: 4f0421a646a40d351dd340f7114981cde1312cb2
Parents: 91a0214
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Feb 23 14:35:49 2017 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Feb 23 14:35:49 2017 +0000

----------------------------------------------------------------------
 .../robundle/manifest/RDFToManifest.java        | 24 ++++++++++++--------
 1 file changed, 14 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/4f0421a6/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index b758244..6b8ef97 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -436,11 +436,13 @@ public class RDFToManifest {
 
 		// retrievedFrom
 		RDFNode retrievedNode = ro.getPropertyValue(retrievedFrom);
-		try {
-			manifest.setRetrievedFrom(new URI(retrievedNode.asResource().getURI()));
-		} catch (URISyntaxException ex) {
-			logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
-					retrievedNode.asResource().getURI(), ex);
+		if (retrievedNode != null) {
+    		try {
+    			manifest.setRetrievedFrom(new URI(retrievedNode.asResource().getURI()));
+    		} catch (URISyntaxException ex) {
+    			logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+    					retrievedNode.asResource().getURI(), ex);
+    		}
 		}
 
 		// retrievedBy
@@ -504,11 +506,13 @@ public class RDFToManifest {
 
 			// retrievedFrom
 			RDFNode retrievedAggrNode = aggrResource.getPropertyValue(retrievedFrom);
-			try {
-				meta.setRetrievedFrom(new URI(retrievedAggrNode.asResource().getURI()));
-			} catch (URISyntaxException ex) {
-				logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
-						retrievedAggrNode.asResource().getURI(), ex);
+			if (retrievedAggrNode != null) {
+    			try {
+    				meta.setRetrievedFrom(new URI(retrievedAggrNode.asResource().getURI()));
+    			} catch (URISyntaxException ex) {
+    				logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+    						retrievedAggrNode.asResource().getURI(), ex);
+    			}
 			}
 
 			// retrievedBy


[08/15] incubator-taverna-language git commit: URI Fixes

Posted by st...@apache.org.
URI Fixes


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/91a02149
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/91a02149
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/91a02149

Branch: refs/heads/TAVERNA-1017
Commit: 91a0214944b4f234b7d8b040f6741e52aeaa86ed
Parents: a805993
Author: Mark Robinson <ma...@student.manchester.ac.uk>
Authored: Thu Feb 23 14:08:49 2017 +0000
Committer: Mark Robinson <ma...@student.manchester.ac.uk>
Committed: Thu Feb 23 14:08:49 2017 +0000

----------------------------------------------------------------------
 .../taverna/robundle/manifest/RDFToManifest.java     | 15 +++++++++++++--
 .../org/apache/taverna/robundle/utils/RDFUtils.java  |  1 +
 2 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/91a02149/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index 25b0558..b758244 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -35,6 +35,7 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.UUID;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import org.apache.jena.riot.Lang;
@@ -435,7 +436,12 @@ public class RDFToManifest {
 
 		// retrievedFrom
 		RDFNode retrievedNode = ro.getPropertyValue(retrievedFrom);
-		manifest.setRetrievedFrom(retrievedNode);
+		try {
+			manifest.setRetrievedFrom(new URI(retrievedNode.asResource().getURI()));
+		} catch (URISyntaxException ex) {
+			logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+					retrievedNode.asResource().getURI(), ex);
+		}
 
 		// retrievedBy
 		List<Agent> retrievers = getAgents(root, ro, retrievedBy);
@@ -498,7 +504,12 @@ public class RDFToManifest {
 
 			// retrievedFrom
 			RDFNode retrievedAggrNode = aggrResource.getPropertyValue(retrievedFrom);
-			meta.setRetrievedFrom(retrievedAggrNode);
+			try {
+				meta.setRetrievedFrom(new URI(retrievedAggrNode.asResource().getURI()));
+			} catch (URISyntaxException ex) {
+				logger.log(Level.WARNING, "Error creating URI for retrievedFrom: " +
+						retrievedAggrNode.asResource().getURI(), ex);
+			}
 
 			// retrievedBy
 			List<Agent> retrieversAggr = getAgents(root, aggrResource, retrievedBy);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/91a02149/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
index 5230827..716a723 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/utils/RDFUtils.java
@@ -39,6 +39,7 @@ public class RDFUtils {
 		if (rdfNode == null)
 			return null;
 		if (!rdfNode.isLiteral()) {
+			new Exception().printStackTrace();
 			logger.warning("Expected literal. not " + rdfNode);
 			return null;
 		}


[07/15] incubator-taverna-language git commit: Remove debug print statements

Posted by st...@apache.org.
Remove debug print statements


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/a8059936
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/a8059936
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/a8059936

Branch: refs/heads/TAVERNA-1017
Commit: a805993614f689327c090b18b79dae008135e413
Parents: c3bb6d9
Author: Mark Robinson <ma...@student.manchester.ac.uk>
Authored: Tue Feb 21 09:18:10 2017 +0000
Committer: Mark Robinson <ma...@student.manchester.ac.uk>
Committed: Tue Feb 21 09:18:10 2017 +0000

----------------------------------------------------------------------
 .../org/apache/taverna/robundle/manifest/RDFToManifest.java     | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/a8059936/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index d056ace..25b0558 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -382,9 +382,6 @@ public class RDFToManifest {
 		model.add(jsonLdAsJenaModel(manifestResourceAsStream,
 				manifestResourceBaseURI));
 
-		// model.write(System.out, "TURTLE");
-		// System.out.println();
-
 		URI root = manifestResourceBaseURI.resolve("/");
 		Individual ro = findRO(model, root);
 		if (ro == null)
@@ -425,7 +422,7 @@ public class RDFToManifest {
 			history.add(Bundles.uriToBundlePath(manifest.getBundle(), relativizeFromBase(histItem.getURI(), root)));
 		}
 		manifest.setHistory(history);
-		
+
 		// authoredBy
 		List<Agent> authors = getAgents(root, ro, authoredBy);
 		if (!authors.isEmpty()) {


[12/15] incubator-taverna-language git commit: Happy New Year

Posted by st...@apache.org.
Happy New Year


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/2f246f08
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/2f246f08
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/2f246f08

Branch: refs/heads/TAVERNA-1017
Commit: 2f246f089d61a8d76dfe32551cb36ad8c6c03a0a
Parents: ce77335
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu Jan 4 17:31:31 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu Jan 4 17:31:31 2018 +0000

----------------------------------------------------------------------
 NOTICE | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2f246f08/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index 6a04f22..72df5ec 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Taverna Language
-Copyright 2014-2017 The Apache Software Foundation
+Copyright 2014-2018 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).


[14/15] incubator-taverna-language git commit: Newer jsonld-java broke test compile

Posted by st...@apache.org.
Newer jsonld-java broke test compile


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/ac86734b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/ac86734b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/ac86734b

Branch: refs/heads/TAVERNA-1017
Commit: ac86734bdcd33f63ef77af19d3e10ea8c44d25ce
Parents: ba22194
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jan 5 13:52:28 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jan 5 13:52:28 2018 +0000

----------------------------------------------------------------------
 .../org/apache/taverna/robundle/manifest/TestRDFToManifest.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ac86734b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java
index 2557973..59044ec 100644
--- a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java
+++ b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java
@@ -22,7 +22,6 @@ package org.apache.taverna.robundle.manifest;
 
 import static org.junit.Assert.assertNotNull;
 
-import java.net.URL;
 import java.util.Map;
 
 import org.junit.Test;
@@ -39,7 +38,7 @@ public class TestRDFToManifest {
 		// RDFToManifest.makeBaseURI(); // trigger static{} block
 		@SuppressWarnings("unchecked")
 		Map<String, Object> context = (Map<String, Object>) new DocumentLoader()
-				.fromURL(new URL(CONTEXT));
+				.loadDocument(CONTEXT);
 		// FIXME: jsonld-java 0.3 and later uses DocumentLoader instead of
 		// JSONUtils
 		// Map<String, Object> context = (Map<String, Object>)


[10/15] incubator-taverna-language git commit: Read manifest test for retrieved fields

Posted by st...@apache.org.
Read manifest test for retrieved fields


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/63f24690
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/63f24690
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/63f24690

Branch: refs/heads/TAVERNA-1017
Commit: 63f246901b81480eca295809af3a2ba9f958a330
Parents: 4f0421a
Author: Mark Robinson <ma...@student.manchester.ac.uk>
Authored: Thu Feb 23 14:56:42 2017 +0000
Committer: Mark Robinson <ma...@student.manchester.ac.uk>
Committed: Thu Feb 23 14:56:42 2017 +0000

----------------------------------------------------------------------
 .../taverna/robundle/manifest/TestManifest.java | 10 ++++++++++
 .../src/test/resources/manifest.json            | 20 ++++++++++++++++++--
 2 files changed, 28 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/63f24690/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestManifest.java b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestManifest.java
index 32d2048..2c1221c 100644
--- a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestManifest.java
+++ b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestManifest.java
@@ -214,6 +214,16 @@ public class TestManifest {
 				manifest.getBaseURI().resolve("does/not/exist"));
 
 		Path r = bundle.getRoot();
+
+		assertEquals("http://example.com/retrieved", manifest.getRetrievedFrom().toString());
+		assertEquals("2013-03-05T17:29:03Z", manifest.getRetrievedOn().toString());
+		assertEquals("http://example.com/foaf#john", manifest.getRetrievedBy().getUri().toString());
+
+		PathMetadata soupAggregation = manifest.getAggregation(r.resolve("/folder/soup.jpeg"));
+		assertEquals("http://example.com/retrieved/soup.jpeg", soupAggregation.getRetrievedFrom().toString());
+		assertEquals("2013-03-05T17:29:04Z", soupAggregation.getRetrievedOn().toString());
+		assertEquals("http://example.com/foaf#peter", soupAggregation.getRetrievedBy().getUri().toString());
+
 		assertNotNull(manifest.getAggregation(r.resolve("/README.txt")));
 		PathMetadata readme = manifest.getAggregation(r.resolve("/README.txt"));
 		assertEquals("http://example.com/foaf#bob", readme.getCreatedBy()

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/63f24690/taverna-robundle/src/test/resources/manifest.json
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/test/resources/manifest.json b/taverna-robundle/src/test/resources/manifest.json
index 65b57b0..e4a8526 100644
--- a/taverna-robundle/src/test/resources/manifest.json
+++ b/taverna-robundle/src/test/resources/manifest.json
@@ -4,6 +4,13 @@
     ],
     "id": "/",
     "manifest":  "manifest.json",
+    "retrievedFrom": "http://example.com/retrieved",
+    "retrievedOn": "2013-03-05T17:29:03Z",
+    "retrievedBy": {
+      "uri":     "http://example.com/foaf#john",
+      "orcid":   "http://orcid.org/0000-0002-1825-0100",
+      "name":    "John P. Smith"
+    },
     "createdOn": "2013-03-05T17:29:03Z",
     "createdBy": {
         "uri":     "http://example.com/foaf#alice",
@@ -11,7 +18,15 @@
         "name":    "Alice W. Land" },
     "history":   "evolution.ttl",
     "aggregates": [
-       { "uri":  "/folder/soup.jpeg" },
+       { "uri":  "/folder/soup.jpeg",
+         "retrievedFrom": "http://example.com/retrieved/soup.jpeg",
+         "retrievedOn": "2013-03-05T17:29:04Z",
+         "retrievedBy": {
+           "uri":     "http://example.com/foaf#peter",
+           "orcid":   "http://orcid.org/0000-0002-1825-0120",
+           "name":    "Peter L. Jones"
+         }
+       },
        { "uri":  "http://example.com/blog/" },
        { "uri":      "/README.txt",
          "mediatype": "text/plain",
@@ -29,7 +44,8 @@
     "annotations": [
       { "uri":     "urn:uuid:d67466b4-3aeb-4855-8203-90febe71abdf",
         "about":   "/folder/soup.jpeg",
-        "content": "annotations/soup-properties.ttl" },
+        "content": "annotations/soup-properties.ttl"
+      },
 
       { "about":   "urn:uuid:a0cf8616-bee4-4a71-b21e-c60e6499a644",
         "content": "http://example.com/blog/they-aggregated-our-file" },


[05/15] incubator-taverna-language git commit: Add retrievedFrom, retrievedOn and retrievedBy to manifest+aggregates

Posted by st...@apache.org.
Add retrievedFrom, retrievedOn and retrievedBy to manifest+aggregates


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/e0e68bd7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/e0e68bd7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/e0e68bd7

Branch: refs/heads/TAVERNA-1017
Commit: e0e68bd7867b83b812ca29cd4616347b894074e9
Parents: 6171859
Author: Mark Robinson <ma...@student.manchester.ac.uk>
Authored: Sat Feb 18 20:27:55 2017 +0000
Committer: Mark Robinson <ma...@student.manchester.ac.uk>
Committed: Sat Feb 18 20:27:55 2017 +0000

----------------------------------------------------------------------
 .../taverna/robundle/manifest/Manifest.java     | 32 ++++++++++++++++++--
 .../taverna/robundle/manifest/PathMetadata.java | 31 ++++++++++++++++++-
 2 files changed, 60 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e0e68bd7/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/Manifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/Manifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/Manifest.java
index e8a6394..ba23bf1 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/Manifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/Manifest.java
@@ -68,8 +68,9 @@ import com.fasterxml.jackson.annotation.JsonValue;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 @JsonPropertyOrder(value = { "@context", "id", "manifest", "createdOn",
-		"createdBy", "createdOn", "authoredOn", "authoredBy", "history",
-		"aggregates", "annotations", "@graph" })
+		"createdBy", "createdOn", "authoredOn", "authoredBy",
+		"retrievedFrom", "retrievedOn", "retrievedBy",
+		"history", "aggregates", "annotations", "@graph" })
 public class Manifest {
 	public abstract class FileTimeMixin {
 		@Override
@@ -120,6 +121,9 @@ public class Manifest {
 	private Bundle bundle;
 	private Agent createdBy = null;
 	private FileTime createdOn = now();
+	private URI retrievedFrom = null;
+	private Agent retrievedBy = null;
+	private FileTime retrievedOn = null;
 	private List<String> graph;
 	private List<Path> history = new ArrayList<>();
 	private URI id = URI.create("/");
@@ -195,6 +199,18 @@ public class Manifest {
 		return createdOn;
 	}
 
+	public URI getRetrievedFrom() {
+		return retrievedFrom;
+	}
+
+	public Agent getRetrievedBy() {
+		return retrievedBy;
+	}
+
+	public FileTime getRetrievedOn() {
+		return retrievedOn;
+	}
+
 	public List<String> getGraph() {
 		return graph;
 	}
@@ -385,6 +401,18 @@ public class Manifest {
 		this.createdOn = createdOn;
 	}
 
+	public void setRetrievedFrom(URI retrievedFrom) {
+		this.retrievedFrom = retrievedFrom;
+	}
+
+	public void setRetrievedBy(Agent retrievedBy) {
+		this.retrievedBy = retrievedBy;
+	}
+
+	public void setRetrievedOn(FileTime retrievedOn) {
+		this.retrievedOn = retrievedOn;
+	}
+
 	public void setGraph(List<String> graph) {
 		this.graph = graph;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/e0e68bd7/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/PathMetadata.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/PathMetadata.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/PathMetadata.java
index 2e22ae2..d145fdd 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/PathMetadata.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/PathMetadata.java
@@ -31,7 +31,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 
 @JsonPropertyOrder(value = { "uri", "mediatype", "createdOn", "createdBy",
-		"authoredOn", "authoredBy", "conformsTo", "bundledAs" })
+		"authoredOn", "authoredBy", "retrievedFrom", "retrievedOn",
+		"retrievedBy", "conformsTo", "bundledAs" })
 public class PathMetadata {
 
 	private static URI ROOT = URI.create("/");
@@ -46,6 +47,10 @@ public class PathMetadata {
 	private FileTime createdOn;
 	private Path file;
 
+	private URI retrievedFrom;
+	private Agent retrievedBy;
+	private FileTime retrievedOn;
+
 	private String mediatype;
 
 	private URI uri;
@@ -82,6 +87,18 @@ public class PathMetadata {
 		return createdOn;
 	}
 
+	public URI getRetrievedFrom() {
+		return retrievedFrom;
+	}
+
+	public Agent getRetrievedBy() {
+		return retrievedBy;
+	}
+
+	public FileTime getRetrievedOn() {
+		return retrievedOn;
+	}
+
 	@JsonIgnore
 	public Path getFile() {
 		return file;
@@ -155,6 +172,18 @@ public class PathMetadata {
 		this.createdOn = createdOn;
 	}
 
+	public void setRetrievedFrom(URI retrievedFrom) {
+		this.retrievedFrom = retrievedFrom;
+	}
+
+	public void setRetrievedBy(Agent retrievedBy) {
+		this.retrievedBy = retrievedBy;
+	}
+
+	public void setRetrievedOn(FileTime retrievedOn) {
+		this.retrievedOn = retrievedOn;
+	}
+
 	public void setFile(Path file) {
 		this.file = file;
 		Path root = this.file.resolve("/");


[03/15] incubator-taverna-language git commit: pom.xml typo

Posted by st...@apache.org.
pom.xml typo


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/529ae2ab
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/529ae2ab
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/529ae2ab

Branch: refs/heads/TAVERNA-1017
Commit: 529ae2ab1b8ee5b1b333283e818048f29f491a75
Parents: 4b923af
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Nov 2 17:34:04 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Nov 2 17:34:04 2016 +0000

----------------------------------------------------------------------
 pom.xml | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/529ae2ab/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 78e571b..c5bef95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,6 +32,7 @@
 		and workflow inputs/outputs/run (DataBundle).
 	</description>
 	<build>
+		<plugins>
 			<plugin>
 				<groupId>org.apache.rat</groupId>
 				<artifactId>apache-rat-plugin</artifactId>


[06/15] incubator-taverna-language git commit: Add retrievedFrom, retrievedOn and retrievedBy to RDF translation

Posted by st...@apache.org.
Add retrievedFrom, retrievedOn and retrievedBy to RDF translation


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/c3bb6d97
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/c3bb6d97
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/c3bb6d97

Branch: refs/heads/TAVERNA-1017
Commit: c3bb6d97ee48877e0c7949eff31c11063f746e8d
Parents: e0e68bd
Author: Mark Robinson <ma...@student.manchester.ac.uk>
Authored: Tue Feb 21 09:16:31 2017 +0000
Committer: Mark Robinson <ma...@student.manchester.ac.uk>
Committed: Tue Feb 21 09:16:31 2017 +0000

----------------------------------------------------------------------
 .../robundle/manifest/RDFToManifest.java        | 95 ++++++++++++++++----
 1 file changed, 80 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c3bb6d97/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index 0b03f10..d056ace 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -130,6 +130,9 @@ public class RDFToManifest {
 	private ObjectProperty conformsTo;
 	private ObjectProperty createdBy;
 	private DatatypeProperty createdOn;
+	private ObjectProperty retrievedFrom;
+	private ObjectProperty retrievedBy;
+	private DatatypeProperty retrievedOn;
 	private OntModel dct;
 	private OntModel foaf;
 	private DatatypeProperty foafName;
@@ -336,7 +339,12 @@ public class RDFToManifest {
 		createdOn = ontModel.getDatatypeProperty(PAV + "createdOn");
 		authoredBy = ontModel.getObjectProperty(PAV + "authoredBy");
 		authoredOn = ontModel.getDatatypeProperty(PAV + "authoredOn");
-		checkNotNull(createdBy, createdOn, authoredBy, authoredOn);
+		retrievedFrom = ontModel.getObjectProperty(PAV + "retrievedFrom");
+		retrievedBy = ontModel.getObjectProperty(PAV + "retrievedBy");
+		retrievedOn = ontModel.getDatatypeProperty(PAV + "retrievedOn");
+
+		checkNotNull(createdBy, createdOn, authoredBy, authoredOn,
+				retrievedFrom, retrievedBy, retrievedOn);
 
 		pav = ontModel;
 	}
@@ -383,6 +391,7 @@ public class RDFToManifest {
 			throw new IOException("root ResearchObject not found - "
 					+ "Not a valid RO Bundle manifest");
 
+		// isDescribedBy URI
 		for (Individual manifestResource : listObjectProperties(ro,
 				isDescribedBy)) {
 			String uriStr = manifestResource.getURI();
@@ -397,29 +406,54 @@ public class RDFToManifest {
 			manifest.getManifest().add(path);
 		}
 
+		// createdBy
 		List<Agent> creators = getAgents(root, ro, createdBy);
 		if (!creators.isEmpty()) {
 			manifest.setCreatedBy(creators.get(0));
-			if (creators.size() > 1)
+			if (creators.size() > 1) {
 				logger.warning("Ignoring additional createdBy agents");
+			}
 		}
 
+		// createdOn
 		RDFNode created = ro.getPropertyValue(createdOn);
 		manifest.setCreatedOn(literalAsFileTime(created));
 		
-		
+		// history
 		List<Path> history = new ArrayList<Path> ();
-		for (Individual histItem : listObjectProperties (ro, hasProvenance))
-			history.add (Bundles.uriToBundlePath (manifest.getBundle (), relativizeFromBase(histItem.getURI (), root)));
-		manifest.setHistory (history);
+		for (Individual histItem : listObjectProperties (ro, hasProvenance)) {
+			history.add(Bundles.uriToBundlePath(manifest.getBundle(), relativizeFromBase(histItem.getURI(), root)));
+		}
+		manifest.setHistory(history);
 		
-
+		// authoredBy
 		List<Agent> authors = getAgents(root, ro, authoredBy);
-		if (!authors.isEmpty())
+		if (!authors.isEmpty()) {
 			manifest.setAuthoredBy(authors);
+		}
+
+		// authoredOn
 		RDFNode authored = ro.getPropertyValue(authoredOn);
 		manifest.setAuthoredOn(literalAsFileTime(authored));
 
+		// retrievedFrom
+		RDFNode retrievedNode = ro.getPropertyValue(retrievedFrom);
+		manifest.setRetrievedFrom(retrievedNode);
+
+		// retrievedBy
+		List<Agent> retrievers = getAgents(root, ro, retrievedBy);
+		if (!retrievers.isEmpty()) {
+			manifest.setRetrievedBy(retrievers.get(0));
+			if (retrievers.size() > 1) {
+				logger.warning("Ignoring additional retrievedBy agents");
+			}
+		}
+
+		// retrievedOn
+		RDFNode retrieved = ro.getPropertyValue(retrievedOn);
+		manifest.setRetrievedOn(literalAsFileTime(retrieved));
+
+		// Aggregates
 		for (Individual aggrResource : listObjectProperties(ro, aggregates)) {
 			String uriStr = aggrResource.getURI();
 			// PathMetadata meta = new PathMetadata();
@@ -432,6 +466,7 @@ public class RDFToManifest {
 			PathMetadata meta = manifest.getAggregation(relativizeFromBase(
 					uriStr, root));
 
+			// hasProxy
 			Set<Individual> proxies = listObjectProperties(aggrResource,
 					hasProxy);
 			if (!proxies.isEmpty()) {
@@ -439,33 +474,63 @@ public class RDFToManifest {
 				Individual proxy = proxies.iterator().next();
 
 				String proxyUri = null;
-				if (proxy.getURI() != null)
+				if (proxy.getURI() != null) {
 					proxyUri = proxy.getURI();
-				else if (proxy.getSameAs() != null)
+				} else if (proxy.getSameAs() != null) {
 					proxyUri = proxy.getSameAs().getURI();
-				if (proxyUri != null)
+				}
+
+				if (proxyUri != null) {
 					setPathProxy(meta, relativizeFromBase(proxyUri, root));
+				}
 			}
 
+			// createdBy
 			creators = getAgents(root, aggrResource, createdBy);
 			if (!creators.isEmpty()) {
 				meta.setCreatedBy(creators.get(0));
-				if (creators.size() > 1)
+				if (creators.size() > 1) {
 					logger.warning("Ignoring additional createdBy agents for "
 							+ meta);
+				}
 			}
+
+			// createdOn
 			meta.setCreatedOn(literalAsFileTime(aggrResource
 					.getPropertyValue(createdOn)));
 
+			// retrievedFrom
+			RDFNode retrievedAggrNode = aggrResource.getPropertyValue(retrievedFrom);
+			meta.setRetrievedFrom(retrievedAggrNode);
+
+			// retrievedBy
+			List<Agent> retrieversAggr = getAgents(root, aggrResource, retrievedBy);
+			if (!retrieversAggr.isEmpty()) {
+				meta.setRetrievedBy(retrieversAggr.get(0));
+				if (retrieversAggr.size() > 1) {
+					logger.warning("Ignoring additional retrievedBy agents for "
+							+ meta);
+				}
+			}
+
+			// retrievedOn
+			RDFNode retrievedAggr = aggrResource.getPropertyValue(retrievedOn);
+			meta.setRetrievedOn(literalAsFileTime(retrievedAggr));
+
+			// conformsTo
 			for (Individual standard : listObjectProperties(aggrResource,
-					conformsTo))
-				if (standard.getURI() != null)
+					conformsTo)) {
+				if (standard.getURI() != null) {
 					meta.setConformsTo(relativizeFromBase(standard.getURI(),
 							root));
+				}
+			}
 
+			// format
 			RDFNode mediaType = aggrResource.getPropertyValue(format);
-			if (mediaType != null && mediaType.isLiteral())
+			if (mediaType != null && mediaType.isLiteral()) {
 				meta.setMediatype(mediaType.asLiteral().getLexicalForm());
+			}
 		}
 
 		for (Individual ann : listObjectProperties(ro, hasAnnotation)) {


[15/15] incubator-taverna-language git commit: TAVERNA-1017 Use Commons RDF API instead of Jena

Posted by st...@apache.org.
TAVERNA-1017 Use Commons RDF API instead of Jena


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/037b1dd5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/037b1dd5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/037b1dd5

Branch: refs/heads/TAVERNA-1017
Commit: 037b1dd519818ec45d222a646b796d200070bcfe
Parents: ac86734
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Oct 31 17:37:11 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jan 5 16:11:36 2018 +0000

----------------------------------------------------------------------
 pom.xml                                         |   3 +
 taverna-scufl2-annotation/pom.xml               |  11 +-
 .../scufl2/annotation/AnnotationTools.java      | 154 ++++++++++---------
 taverna-scufl2-api/pom.xml                      |   5 +
 .../taverna/scufl2/api/common/URITools.java     |  15 ++
 5 files changed, 113 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/037b1dd5/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 01cd73a..67c98bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,6 +31,9 @@
 	<description>Taverna Language API for workflow definitions (SCUFL2)
 		and workflow inputs/outputs/run (DataBundle).
 	</description>
+	<properties>
+		<commons.rdf.version>0.4.0-incubating-SNAPSHOT</commons.rdf.version>
+	</properties>
 	<build>
 		<plugins>
 			<plugin>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/037b1dd5/taverna-scufl2-annotation/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-annotation/pom.xml b/taverna-scufl2-annotation/pom.xml
index b5d7ea2..23e2875 100644
--- a/taverna-scufl2-annotation/pom.xml
+++ b/taverna-scufl2-annotation/pom.xml
@@ -44,12 +44,11 @@
 			<version>${project.version}</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.apache.jena</groupId>
-			<artifactId>jena-osgi</artifactId>
-			<version>${jena.version}</version>
-		</dependency>
-
+        <dependency>
+        	<groupId>org.apache.commons</groupId>
+        	<artifactId>commons-rdf-jena</artifactId>
+        	<version>${commons.rdf.version}</version>        	
+        </dependency>
 
 	</dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/037b1dd5/taverna-scufl2-annotation/src/main/java/org/apache/taverna/scufl2/annotation/AnnotationTools.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-annotation/src/main/java/org/apache/taverna/scufl2/annotation/AnnotationTools.java b/taverna-scufl2-annotation/src/main/java/org/apache/taverna/scufl2/annotation/AnnotationTools.java
index 9e8a157..4a5de12 100644
--- a/taverna-scufl2-annotation/src/main/java/org/apache/taverna/scufl2/annotation/AnnotationTools.java
+++ b/taverna-scufl2-annotation/src/main/java/org/apache/taverna/scufl2/annotation/AnnotationTools.java
@@ -26,12 +26,19 @@ import java.io.InputStream;
 import java.net.URI;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
-import java.util.Iterator;
+import java.util.Optional;
+import java.util.concurrent.ExecutionException;
 import java.util.logging.Logger;
 
-import org.apache.jena.riot.Lang;
-import org.apache.jena.riot.RDFDataMgr;
-import org.apache.jena.riot.RDFLanguages;
+import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.Literal;
+import org.apache.commons.rdf.api.Quad;
+import org.apache.commons.rdf.jena.JenaIRI;
+import org.apache.commons.rdf.jena.JenaLiteral;
+import org.apache.commons.rdf.jena.JenaRDF;
+import org.apache.commons.rdf.jena.experimental.JenaRDFParser;
 import org.apache.taverna.scufl2.api.annotation.Annotation;
 import org.apache.taverna.scufl2.api.common.Child;
 import org.apache.taverna.scufl2.api.common.Scufl2Tools;
@@ -39,24 +46,14 @@ import org.apache.taverna.scufl2.api.common.URITools;
 import org.apache.taverna.scufl2.api.container.WorkflowBundle;
 import org.apache.taverna.scufl2.ucfpackage.UCFPackage.ResourceEntry;
 
-
-import org.apache.jena.graph.Node;
-import org.apache.jena.graph.NodeFactory;
-import org.apache.jena.query.Dataset;
-import org.apache.jena.query.DatasetFactory;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.sparql.core.Quad;
-
 public class AnnotationTools {
-	private static final String EXAMPLE_DATA_PREDICATE = "http://biocatalogue.org/attribute/exampleData";
-	public static final URI EXAMPLE_DATA = URI.create(EXAMPLE_DATA_PREDICATE);
-	private static final String TITLE_PREDICATE = "http://purl.org/dc/terms/title";
-	public static final URI TITLE = URI.create(TITLE_PREDICATE);
-	private static final String DESCRIPTION_PREDICATE = "http://purl.org/dc/terms/description";
-	public static final URI DESCRIPTION = URI.create(DESCRIPTION_PREDICATE);
-	private static final String CREATOR_PREDICATE = "http://purl.org/dc/elements/1.1/creator";
-	public static final URI CREATOR = URI.create(CREATOR_PREDICATE);
+    
+    private static JenaRDF rdf = new JenaRDF();
+    	
+	public static final IRI EXAMPLE_DATA = rdf.createIRI("http://biocatalogue.org/attribute/exampleData");
+	public static final IRI TITLE = rdf.createIRI("http://purl.org/dc/terms/title");
+	public static final IRI DESCRIPTION = rdf.createIRI("http://purl.org/dc/terms/description");
+	public static final IRI CREATOR = rdf.createIRI("http://purl.org/dc/elements/1.1/creator");
 
 	private static Logger logger = Logger.getLogger(AnnotationTools.class
 			.getCanonicalName());
@@ -65,7 +62,7 @@ public class AnnotationTools {
 	private URITools uritools = new URITools();
 
 	public Dataset annotationDatasetFor(Child<?> workflowBean) {
-		Dataset dataset = DatasetFactory.createMem();
+		Dataset dataset = rdf.createDataset();
 		for (Annotation ann : scufl2Tools.annotationsFor(workflowBean)) {
 			WorkflowBundle bundle = ann.getParent();
 			URI annUri = uritools.uriForBean(ann);
@@ -87,57 +84,79 @@ public class AnnotationTools {
 				continue;
 			}
 			String contentType = resourceEntry.getMediaType();
-			Lang lang = RDFLanguages.contentTypeToLang(contentType);
-			if (lang == null) {
-				lang = RDFLanguages.filenameToLang(path);
-			}
-			if (lang == null) {
-				logger.warning("Can't find media type of annotation body: "
-						+ ann.getBody());
-				continue;
-			}
-			Model model = ModelFactory.createDefaultModel();
+			
 			try (InputStream inStream = bundle.getResources()
 					.getResourceAsInputStream(path)) {
-				RDFDataMgr.read(model, inStream, bodyUri, lang);
+			    
+			    Optional<Graph> graph = graphForAnnotation(dataset, annUri);
+			    
+			            
+			    JenaRDFParser parser = new JenaRDFParser()
+			            .base(bodyUri).source(inStream)
+			            .contentType(contentType)
+			            .target(graph.get());
+                // TODO: Do multiple parsings in one go to speed up outer
+                // for-loop? Would need thread-safe Dataset backed by say TDB in memory			    
+			    try {
+                    parser.parse().get();
+                } catch (IllegalStateException | InterruptedException | ExecutionException e) {
+                    logger.warning("Can't parse annotation body: " + path);
+                    continue;
+                }
 			} catch (IOException e) {
 				logger.warning("Can't read annotation body: " + path);
 				continue;
 			}
-			dataset.addNamedModel(annUri.toString(), model);
 		}
 
 		return dataset;
 	}
 
+    private Optional<Graph> graphForAnnotation(Dataset dataset, URI annUri) {
+        IRI graphUri = uritools.asIRI(annUri);
+        Optional<Graph> graph = dataset.getGraph(graphUri);
+        
+        if (! graph.isPresent()) {
+            // Need a dummy quad first? 
+            JenaIRI example = rdf.createIRI("http://example.com/");
+            dataset.add(graphUri, example, example, example);
+            graph = dataset.getGraph(graphUri);
+            if (! graph.isPresent()) {
+                logger.severe("Can't create named graph: " + graphUri.getIRIString());
+            }
+            // Remove dummy triple :)  This will crash if the above can't create graph. 
+            graph.get().remove(example, example, example);
+        }
+        
+        return graph;
+    }
+
 	public String getTitle(Child<?> workflowBean) {
-		return getLiteral(workflowBean, TITLE_PREDICATE);
+		return getLiteral(workflowBean, TITLE).orElse(null);
 	}
 
-	private String getLiteral(Child<?> workflowBean, String propertyUri) {
+	private Optional<String> getLiteral(Child<?> workflowBean, IRI property) {
+	    // TODO: Cache dataset PARSING!
 		Dataset annotations = annotationDatasetFor(workflowBean);
-		URI beanUri = uritools.uriForBean(workflowBean);
-		Node subject = NodeFactory.createURI(beanUri.toString());
-		Node property = NodeFactory.createURI(propertyUri);
-
-		Iterator<Quad> found = annotations.asDatasetGraph().find(null, subject,
-				property, null);
-		if (!found.hasNext()) {
-			return null;
-		}
-		return found.next().getObject().toString(false);
+		IRI beanIRI = uritools.asIRI(uritools.uriForBean(workflowBean));		
+		return annotations.stream(null, beanIRI, property, null).map(Quad::getObject)
+		        // Pick any Literal property value, if it exist
+		    .filter(Literal.class::isInstance).map(Literal.class::cast)
+		    .map(Literal::getLexicalForm).findAny();	
 	}
 
 	public String getCreator(Child<?> workflowBean) {
-		return getLiteral(workflowBean, CREATOR_PREDICATE);
+	    // TODO: Also support dcterms:creator and foaf:name ?
+		return getLiteral(workflowBean, CREATOR).orElse(null);
 	}
 
 	public String getExampleValue(Child<?> workflowBean) {
-		return getLiteral(workflowBean, EXAMPLE_DATA_PREDICATE);
+	    // TODO: Also support example value as a path?
+		return getLiteral(workflowBean, EXAMPLE_DATA).orElse(null);
 	}
 
-	public String getDescription(Child<?> workflowBean) {
-		return getLiteral(workflowBean, DESCRIPTION_PREDICATE);
+	public String getDescription(Child<?> workflowBean) {	    
+		return getLiteral(workflowBean, DESCRIPTION).orElse(null);
 	}
 
 	/**
@@ -150,7 +169,7 @@ public class AnnotationTools {
 	 * @throws IOException
 	 */
 	public Annotation createNewAnnotation(WorkflowBundle workflowBundle,
-			Child<?> subject, URI predicate, String value) throws IOException {
+			Child<?> subject, IRI predicate, String value) throws IOException {
 		Object parent = subject.getParent();
 		while (parent instanceof Child)
 			parent = ((Child<?>) parent).getParent();
@@ -176,25 +195,22 @@ public class AnnotationTools {
 		annotation.setAnnotatedAt(now);
 		// annotation.setAnnotator();//FIXME
 		annotation.setSerializedAt(now);
-		URI annotatedSubject = uritools.relativeUriForBean(subject, annotation);
+		IRI annotatedSubject = uritools.asIRI(uritools.relativeUriForBean(subject, annotation));
+		
+		
 		StringBuilder turtle = new StringBuilder();
-		turtle.append("<");
-		turtle.append(annotatedSubject.toASCIIString());
-		turtle.append("> ");
-
-		turtle.append("<");
-		turtle.append(predicate.toASCIIString());
-		turtle.append("> ");
-
-		// A potentially multi-line string
-		turtle.append("\"\"\"");
-		// Escape existing \ to \\
-		String escaped = value.replace("\\", "\\\\");
-		// Escape existing " to \" (beware Java's escaping of \ and " below)
-		escaped = escaped.replace("\"", "\\\"");
-		turtle.append(escaped);
-		turtle.append("\"\"\"");
-		turtle.append(" .");
+		turtle.append(annotatedSubject.ntriplesString());
+
+		turtle.append(" ");
+		turtle.append(predicate.ntriplesString());
+
+		turtle.append(" ");
+		JenaLiteral literal = rdf.createLiteral(value);
+		turtle.append(literal.ntriplesString());
+		
+		turtle.append(" .\n");
+		
+		// TODO: Save with Jena instead
 		try {
 			workflowBundle.getResources().addResource(turtle.toString(), path,
 					"text/turtle");

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/037b1dd5/taverna-scufl2-api/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-api/pom.xml b/taverna-scufl2-api/pom.xml
index 2930371..6efa903 100644
--- a/taverna-scufl2-api/pom.xml
+++ b/taverna-scufl2-api/pom.xml
@@ -50,6 +50,11 @@
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
+        <dependency>
+        	<groupId>org.apache.commons</groupId>
+        	<artifactId>commons-rdf-simple</artifactId>
+        	<version>${commons.rdf.version}</version>        	
+        </dependency>        
     </dependencies>
     <build>
         <plugins>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/037b1dd5/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/URITools.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/URITools.java b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/URITools.java
index 85d96ac..dff04b4 100644
--- a/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/URITools.java
+++ b/taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/common/URITools.java
@@ -27,6 +27,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.rdf.api.IRI;
+import org.apache.commons.rdf.api.RDF;
+import org.apache.commons.rdf.simple.SimpleRDF;
 import org.apache.taverna.scufl2.api.annotation.Annotation;
 import org.apache.taverna.scufl2.api.annotation.Revision;
 import org.apache.taverna.scufl2.api.common.Visitor.VisitorWithPath;
@@ -53,6 +56,18 @@ public class URITools {
 	private static final String DATALINK = "datalink";
 	private static final URI DOT = URI.create(".");
 
+	private RDF rdf = new SimpleRDF();
+	
+	public IRI asIRI(URI uri) {
+	    // TODO: Handle internationalization?
+	    return rdf.createIRI(uri.toString());
+	}
+	
+	public URI asURI(IRI iri) {
+        // TODO: Handle internationalization?
+	    return URI.create(iri.getIRIString());
+	}
+	
 	public URI relativePath(URI base, URI uri) {
 		URI root = base.resolve("/");
 		if (!root.equals(uri.resolve("/")))


[13/15] incubator-taverna-language git commit: removed redundant rat exclusions

Posted by st...@apache.org.
removed redundant rat exclusions

(covered by taverna-maven-parent)


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/ba221941
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/ba221941
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/ba221941

Branch: refs/heads/TAVERNA-1017
Commit: ba221941b9c9f4fdc778a2b268bfe9673eb02dcd
Parents: 2f246f0
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jan 5 13:52:08 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jan 5 13:52:08 2018 +0000

----------------------------------------------------------------------
 pom.xml | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/ba221941/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c5bef95..01cd73a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,9 +38,7 @@
 				<artifactId>apache-rat-plugin</artifactId>
 				<configuration>
 					<useDefaultExcludes>true</useDefaultExcludes>
-					<excludes>
-            <!--Just a META-INF file -->
-            <exclude>DEPENDENCIES</exclude>
+					<excludes combine.children="append">
 						<!-- Following excludes needed for taverna-scufl2-rdf,
 						taverna-scufl2-integration-tests and taverna-scufl2-validation-integration
 						subfolders that should be modules but are not. -->
@@ -48,14 +46,6 @@
 						<exclude>**/.project</exclude>
 						<exclude>**/.settings/</exclude>
 						<exclude>**/target/</exclude>
-						<!-- Text and Markdown files are typically used only for documentation 
-							purposes and license declarations are usually spurious in these files since 
-							often they will refer to the LICENSE/NOTICE for users to find the actual 
-							licenses -->
-						<exclude>**/*.md</exclude>
-						<!-- META-INF services files can include comments but a license header 
-							would be unecessarily clutter so we exclude these -->
-						<exclude>**/META-INF/services/*</exclude>
 						<!-- No headers in JSON which haven't got comments ... -->
 						<exclude>**/*.json</exclude>
 						<!-- Really a binary format, but must look like text -->
@@ -78,9 +68,6 @@
             <exclude>src/test/resources/document.odt</exclude>
             <exclude>src/test/resources/workflowrun.bundle.zip</exclude>
 
-           <!-- Created by Maven Shade plugin -->
-           <exclude>dependency-reduced-pom.xml</exclude>
-
             <!-- 
                  Below exclusions are for 
                  externally sourced/derived files