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