Author: rec
Date: Tue Aug 25 20:33:43 2015
New Revision: 1697766

URL: http://svn.apache.org/r1697766
Log:
[UIMA-4571] ConfigurationParameterFactory.setParameter() should attempt type 
coercion
- Do coercion for ConfigurationParameter-type parameters

Modified:
    
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java

Modified: 
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java
URL: 
http://svn.apache.org/viewvc/uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java?rev=1697766&r1=1697765&r2=1697766&view=diff
==============================================================================
--- 
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java
 (original)
+++ 
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java
 Tue Aug 25 20:33:43 2015
@@ -605,19 +605,25 @@ public final class ConfigurationParamete
     } else if (aSpec instanceof ResourceCreationSpecifier) {
       ResourceMetaData md = ((ResourceCreationSpecifier) aSpec).getMetaData();
 
-      if 
(md.getConfigurationParameterDeclarations().getConfigurationParameter(null, 
name) == null) {
+      ConfigurationParameter param = md.getConfigurationParameterDeclarations()
+              .getConfigurationParameter(null, name);
+      if (param == null) {
         throw new IllegalArgumentException("Cannot set undeclared parameter [" 
+ name + "]");
       }
 
-      md.getConfigurationParameterSettings().setParameterValue(name, value);
+      md.getConfigurationParameterSettings().setParameterValue(name,
+              convertParameterValue(param, value));
     } else if (aSpec instanceof ConfigurableDataResourceSpecifier) {
       ResourceMetaData md = ((ConfigurableDataResourceSpecifier) 
aSpec).getMetaData();
 
-      if 
(md.getConfigurationParameterDeclarations().getConfigurationParameter(null, 
name) == null) {
+      ConfigurationParameter param = md.getConfigurationParameterDeclarations()
+              .getConfigurationParameter(null, name);
+      if (param == null) {
         throw new IllegalArgumentException("Cannot set undeclared parameter [" 
+ name + "]");
       }
 
-      md.getConfigurationParameterSettings().setParameterValue(name, value);
+      md.getConfigurationParameterSettings().setParameterValue(name,
+              convertParameterValue(param, value));
     } else {
       throw new IllegalClassException("Unsupported resource specifier class [" 
+ aSpec.getClass()
               + "]");


Reply via email to