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:03:36 UTC
[2/2] incubator-taverna-language git commit: TAVERNA-1027: Avoid
app:// for Jena
TAVERNA-1027: Avoid app:// for Jena
.. by making a fake file:/// URI instead without the UUID
As Jena would fail with ERR_RESOLVING_AGAINST_MALFORMED_BASE
not recognising app:// from https://www.w3.org/TR/app-uri/
as a valid URL scheme
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/cb45105e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/cb45105e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/cb45105e
Branch: refs/heads/TAVERNA-1027
Commit: cb45105e7be1ca53eae3818bdaf9c82968d3a0e4
Parents: d9552b6
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Fri Jan 5 15:59:32 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Fri Jan 5 15:59:32 2018 +0000
----------------------------------------------------------------------
.../manifest/combine/CombineManifest.java | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/cb45105e/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
----------------------------------------------------------------------
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
index 0594f4e..13fa452 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/combine/CombineManifest.java
@@ -237,11 +237,21 @@ public class CombineManifest {
private static Model parseRDF(Path metadata) throws IOException {
Model model = createDefaultModel();
try (InputStream in = newInputStream(metadata)) {
- read(model, in, metadata.toUri().toASCIIString(), RDFXML);
+ // TAVERNA-1027: Avoid Jena error over non-IANA URI scheme app://
+ read(model, in, fakeFileURI(metadata), RDFXML);
}
return model;
}
+ private static String fakeFileURI(Path path) {
+ return fakeFileURI(path.toAbsolutePath().toUri());
+ }
+
+ private static String fakeFileURI(URI uri) {
+ // Assume path starts with "/"
+ return "file://" + uri.getPath();
+ }
+
protected static void setPrefixMapper(Marshaller marshaller) {
boolean setPrefixMapper = false;
@@ -330,6 +340,7 @@ public class CombineManifest {
Model metadata;
try {
metadata = parseRDF(metadataRdf);
+ metadata.write(System.out, "turtle");
} catch (IOException e) {
logger.log(WARNING, "Can't read " + metadataRdf, e);
return;
@@ -339,9 +350,11 @@ public class CombineManifest {
}
for (URI about : bundleSubjects()) {
- Resource resource = metadata.getResource(about.toString());
- if (!metadata.containsResource(resource))
+ Resource resource = metadata.getResource(fakeFileURI(about));
+ if (!metadata.containsResource(resource)) {
+ System.out.println("Nothing known about " + resource);
continue;
+ }
PathAnnotation ann = new PathAnnotation();
ann.setAbout(manifest.relativeToBundleRoot(about));