You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/05/26 15:55:13 UTC

incubator-taverna-language git commit: TAVERNA-971 context class loader before JSON-LD loading

Repository: incubator-taverna-language
Updated Branches:
  refs/heads/master 32a439e9c -> 25b51b818


TAVERNA-971 context class loader before JSON-LD loading


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

Branch: refs/heads/master
Commit: 25b51b8180b4280d63c4924477b51de945bbbfbe
Parents: 32a439e
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Thu May 26 16:40:49 2016 +0100
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Thu May 26 16:40:49 2016 +0100

----------------------------------------------------------------------
 .../robundle/manifest/RDFToManifest.java        | 45 ++++++--------------
 1 file changed, 13 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/25b51b81/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 663fd46..0b03f10 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
@@ -94,9 +94,6 @@ public class RDFToManifest {
 	private static final String PROV_O_RDF = "/ontologies/prov-o.rdf";
 	@SuppressWarnings("unused")
 	private static final String RO = "http://purl.org/wf4ever/ro#";
-	static {
-		setCachedHttpClientInJsonLD();
-	}
 
 	public static <T> ClosableIterable<T> iterate(ExtendedIterator<T> iterator) {
 		return new ClosableIterable<T>(iterator);
@@ -105,42 +102,26 @@ public class RDFToManifest {
 	protected static Model jsonLdAsJenaModel(InputStream jsonIn, URI base)
 			throws IOException, RiotException {
 		Model model = ModelFactory.createDefaultModel();
-		RDFDataMgr.read(model, jsonIn, base.toASCIIString(), Lang.JSONLD);
+		
+		ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
+		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 { 
+			// Restore old context class loader (if any)
+			Thread.currentThread().setContextClassLoader(oldCl);
+		}
 		return model;
-
-		//
-		// Object input = JSONUtils.fromInputStream(jsonIn);
-		// JSONLDTripleCallback callback = new JenaTripleCallback();
-		// Model model = (Model)JSONLD.toRDF(input, callback, new
-		// Options(base.toASCIIString()));
-		// return model;
 	}
 
 	protected static URI makeBaseURI() throws URISyntaxException {
 		return new URI("app", UUID.randomUUID().toString(), "/", (String) null);
 	}
 
-	/**
-	 * Use a JarCacheStorage so that our JSON-LD @context can be loaded from our
-	 * classpath and not require network connectivity
-	 * 
-	 */
-	protected static void setCachedHttpClientInJsonLD() {
-		// JarCacheStorage cacheStorage = new JarCacheStorage(
-		// RDFToManifest.class.getClassLoader());
-		// synchronized (DocumentLoader.class) {
-		// HttpClient oldHttpClient = DocumentLoader.getHttpClient();
-		// CachingHttpClient wrappedHttpClient = new CachingHttpClient(
-		// oldHttpClient, cacheStorage, cacheStorage.getCacheConfig());
-		// DocumentLoader.setHttpClient(wrappedHttpClient);
-		// }
-		// synchronized (JSONUtils.class) {
-		// HttpClient oldHttpClient = JSONUtilsSub.getHttpClient();
-		// CachingHttpClient wrappedHttpClient = new CachingHttpClient(
-		// oldHttpClient, cacheStorage, cacheStorage.getCacheConfig());
-		// JSONUtilsSub.setHttpClient(wrappedHttpClient);
-		// }
-	}
 	private ObjectProperty aggregates;
 	private OntClass aggregation;
 	private ObjectProperty authoredBy;