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;