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 <[email protected]>
Authored: Thu May 26 16:40:49 2016 +0100
Committer: Stian Soiland-Reyes <[email protected]>
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;

Reply via email to