Author: cziegeler
Date: Tue Jun 6 10:18:58 2017
New Revision: 1797766
URL: http://svn.apache.org/viewvc?rev=1797766&view=rev
Log:
Set TCCL for johnzon
Modified:
felix/trunk/osgi-r7/configurator/pom.xml
felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
Modified: felix/trunk/osgi-r7/configurator/pom.xml
URL:
http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configurator/pom.xml?rev=1797766&r1=1797765&r2=1797766&view=diff
==============================================================================
--- felix/trunk/osgi-r7/configurator/pom.xml (original)
+++ felix/trunk/osgi-r7/configurator/pom.xml Tue Jun 6 10:18:58 2017
@@ -69,7 +69,7 @@
<Provide-Capability>
osgi.implementation;osgi.implementation="osgi.configurator";version:Version="1.0"
</Provide-Capability>
-
<Embed-Dependency>geronimo-json_1.0_spec,johnzon-core;inline=true,org.apache.felix.converter</Embed-Dependency>
+
<Embed-Dependency>geronimo-json_1.0_spec,johnzon-core,org.apache.felix.converter</Embed-Dependency>
</instructions>
</configuration>
</plugin>
Modified:
felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
URL:
http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java?rev=1797766&r1=1797765&r2=1797766&view=diff
==============================================================================
---
felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
(original)
+++
felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
Tue Jun 6 10:18:58 2017
@@ -298,12 +298,19 @@ public class JSONUtil {
report.errors.add("Invalid JSON from " + name);
return null;
}
- try (final JsonReader reader = Json.createReader(new
StringReader(contents)) ) {
- final JsonStructure obj = reader.read();
- if ( obj != null && obj.getValueType() == ValueType.OBJECT ) {
- return (JsonObject)obj;
+ // Jonhzon uses TCCL
+ final ClassLoader oldCL =
Thread.currentThread().getContextClassLoader();
+ try {
+
Thread.currentThread().setContextClassLoader(JSONUtil.class.getClassLoader());
+ try (final JsonReader reader = Json.createReader(new
StringReader(contents)) ) {
+ final JsonStructure obj = reader.read();
+ if ( obj != null && obj.getValueType() == ValueType.OBJECT ) {
+ return (JsonObject)obj;
+ }
+ report.errors.add("Invalid JSON from " + name);
}
- report.errors.add("Invalid JSON from " + name);
+ } finally {
+ Thread.currentThread().setContextClassLoader(oldCL);
}
return null;
}