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() + "]");