Parse back conformsTo
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/2ca81c68 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/2ca81c68 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/2ca81c68 Branch: refs/heads/master Commit: 2ca81c68db5702714f24bdafe0f4444c96410dad Parents: dec7689 Author: Stian Soiland-Reyes <[email protected]> Authored: Thu May 10 13:54:46 2018 +0100 Committer: Stian Soiland-Reyes <[email protected]> Committed: Thu May 10 17:40:11 2018 +0100 ---------------------------------------------------------------------- .../robundle/manifest/RDFToManifest.java | 32 +++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/2ca81c68/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 f9fea56..c144f19 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 @@ -8,9 +8,9 @@ package org.apache.taverna.robundle.manifest; * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -103,16 +103,16 @@ public class RDFToManifest { protected static Model jsonLdAsJenaModel(InputStream jsonIn, URI base) throws IOException, RiotException { Model model = ModelFactory.createDefaultModel(); - + ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); - try { + try { // TAVERNA-971: set context classloader so jarcache.json is consulted // even through OSGi Thread.currentThread().setContextClassLoader(RDFToManifest.class.getClassLoader()); - + // Now we can parse the JSON-LD without network access RDFDataMgr.read(model, jsonIn, base.toASCIIString(), Lang.JSONLD); - } finally { + } finally { // Restore old context class loader (if any) Thread.currentThread().setContextClassLoader(oldCl); } @@ -416,7 +416,7 @@ public class RDFToManifest { // createdOn RDFNode created = ro.getPropertyValue(createdOn); manifest.setCreatedOn(literalAsFileTime(created)); - + // history List<Path> history = new ArrayList<Path> (); for (Individual histItem : listObjectProperties (ro, hasProvenance)) { @@ -458,6 +458,24 @@ public class RDFToManifest { RDFNode retrieved = ro.getPropertyValue(retrievedOn); manifest.setRetrievedOn(literalAsFileTime(retrieved)); + // conformsTo + for (Individual standard : listObjectProperties(ro, + conformsTo)) { + if (standard.isURIResource()) { + URI uri; + try { + uri = new URI(standard.getURI()); + } catch (URISyntaxException ex) { + logger.log(Level.WARNING, "Invalid URI for conformsTo: " + + standard, ex); + continue; + } + if (! manifest.getConformsTo().contains(uri)) { + manifest.getConformsTo().add(uri); + } + } + } + // Aggregates for (Individual aggrResource : listObjectProperties(ro, aggregates)) { String uriStr = aggrResource.getURI();
