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());
}