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