Author: schor
Date: Tue Mar 29 14:47:50 2011
New Revision: 1086609

URL: http://svn.apache.org/viewvc?rev=1086609&view=rev
Log:
[UIMA-2078] allow ConfigurationManager instance to be passed in as 
additionalParams

Modified:
    
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource.java
    
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource_ImplBase.java

Modified: 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource.java?rev=1086609&r1=1086608&r2=1086609&view=diff
==============================================================================
--- 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource.java
 (original)
+++ 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource.java
 Tue Mar 29 14:47:50 2011
@@ -171,4 +171,17 @@ public interface Resource {
   // */
   /** Reserved for future use. */
   public static final String PARAM_AGGREGATE_SOFA_MAPPINGS = 
"AGGREGATE_SOFA_MAPPINGS";
+  
+  /**
+   * Key to specify a pre-existing 
+   * {@link org.apache.uima.resource.ConfigurationManager} object.
+   * If specified, this object is used when initializing the UimaContext
+   * associated with this Resource, instead
+   * of creating a new instance.
+   * This value is used as a key in
+   * the <code>aAdditionalParams</code> Map that is passed to the
+   * {@link #initialize(ResourceSpecifier,Map)} method.
+   */
+  public static final String PARAM_CONFIG_MANAGER = "CONFIG_MANAGER";
+
 }

Modified: 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource_ImplBase.java
URL: 
http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource_ImplBase.java?rev=1086609&r1=1086608&r2=1086609&view=diff
==============================================================================
--- 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource_ImplBase.java
 (original)
+++ 
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/Resource_ImplBase.java
 Tue Mar 29 14:47:50 2011
@@ -94,10 +94,17 @@ public abstract class Resource_ImplBase 
       // UIMA extension ClassLoader is used to locate message digests.
       Logger logger = UIMAFramework.getLogger(this.getClass());
       logger.setResourceManager(resMgr);
+      
+      ConfigurationManager configMgr = null;
+      if (aAdditionalParams != null) {
+        configMgr = 
(ConfigurationManager)aAdditionalParams.get(PARAM_CONFIG_MANAGER);
+      }
+      if (configMgr == null) {
+        configMgr = UIMAFramework.newConfigurationManager();
+      }
 
       // create and initialize UIMAContext
-      mUimaContextAdmin = UIMAFramework.newUimaContext(logger, resMgr, 
UIMAFramework
-              .newConfigurationManager());
+      mUimaContextAdmin = UIMAFramework.newUimaContext(logger, resMgr, 
configMgr);
 
     } else {
       // configure logger of the UIMA context so that class-specific logging
@@ -109,7 +116,7 @@ public abstract class Resource_ImplBase 
       mUimaContextAdmin.setLogger(logger);
     }
 
-    // if this is a local resource (instantaited from a 
ResourceCreationSpecifier),
+    // if this is a local resource (instantiated from a 
ResourceCreationSpecifier),
     // initialize the ResourceManager and UIMA Context.
     if (aSpecifier instanceof ResourceCreationSpecifier) {
       // resolve imports in the metadata


Reply via email to