You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2018/06/29 21:48:04 UTC

svn commit: r1834706 - in /uima/uimaj/trunk: uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java

Author: schor
Date: Fri Jun 29 21:48:04 2018
New Revision: 1834706

URL: http://svn.apache.org/viewvc?rev=1834706&view=rev
Log:
[UIMA-5802] consolidate most class loading or setting extension class loader parents, include the Thread context class loader

Modified:
    uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java
    uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java

Modified: uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java?rev=1834706&r1=1834705&r2=1834706&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java (original)
+++ uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/container/CPEFactory.java Fri Jun 29 21:48:04 2018
@@ -72,6 +72,7 @@ import org.apache.uima.collection.metada
 import org.apache.uima.collection.metadata.CpeResourceManagerConfiguration;
 import org.apache.uima.collection.metadata.CpeSofaMapping;
 import org.apache.uima.collection.metadata.CpeSofaMappings;
+import org.apache.uima.internal.util.Class_TCCL;
 import org.apache.uima.resource.ConfigurableResource_ImplBase;
 import org.apache.uima.resource.Resource;
 import org.apache.uima.resource.ResourceConfigurationException;
@@ -638,16 +639,7 @@ public class CPEFactory {
       } else {
         // String className = ((CasConsumerDescription) resourceSpecifier).getImplementationName();
         // load class using UIMA Extension ClassLoader if there is one
-        ClassLoader cl = null;
-        ResourceManager rm = getResourceManager();
-        if (rm != null) {
-          cl = rm.getExtensionClassLoader();
-        }
-        if (cl == null) {
-          cl = this.getClass().getClassLoader();
-        }
-        // Class currentClass = Class.forName(className, true, cl);
-        Class currentClass = Class.forName(implementationClass, true, cl);
+        Class currentClass = Class_TCCL.forName(implementationClass, getResourceManager());
 
         // check to see if this is a subclass of aResourceClass
         if (aResourceClass.isAssignableFrom(currentClass)) {
@@ -735,15 +727,7 @@ public class CPEFactory {
     try {
       className = ((CasInitializerDescription) aSpecifier).getImplementationName();
       // load class using UIMA Extension ClassLoader if there is one
-      ClassLoader cl = null;
-      ResourceManager rm = getResourceManager();
-      if (rm != null) {
-        cl = rm.getExtensionClassLoader();
-      }
-      if (cl == null) {
-        cl = this.getClass().getClassLoader();
-      }
-      Class currentClass = Class.forName(className, true, cl);
+      Class<?> currentClass = Class_TCCL.forName(className, getResourceManager());
       Object initializer = currentClass.newInstance();
       // check to see if this is a subclass of aResourceClass
       if (initializer instanceof CasInitializer) {

Modified: uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java?rev=1834706&r1=1834705&r2=1834706&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java (original)
+++ uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditor.java Fri Jun 29 21:48:04 2018
@@ -61,6 +61,7 @@ import org.apache.uima.collection.CasIni
 import org.apache.uima.collection.CollectionReaderDescription;
 import org.apache.uima.flow.FlowControllerDescription;
 import org.apache.uima.internal.util.UIMAClassLoader;
+import org.apache.uima.internal.util.Class_TCCL;
 import org.apache.uima.jcas.jcasgenp.MergerImpl;
 import org.apache.uima.resource.ResourceCreationSpecifier;
 import org.apache.uima.resource.ResourceInitializationException;
@@ -1136,7 +1137,10 @@ public class MultiPageEditor extends For
         // first arg in next is the parent of the class loader.  Make it be the
         //   uima framework's class loader (not this class's class loader)
         //   so the validation tests work properly (that test isAssignableFrom)
-        resourceManager.setExtensionClassPath(UIMAFramework.class.getClassLoader(), classPath, true);
+        resourceManager.setExtensionClassPath(
+            Class_TCCL.get_parent_cl(), // UIMAFramework.class.getClassLoader(), 
+            classPath, 
+            true);
         cachedRMclassPath = classPath;
         cachedRMcl = new SoftReference<UIMAClassLoader>((UIMAClassLoader) resourceManager.getExtensionClassLoader());
       }