in uimafit-core/src/main/java/org/apache/uima/fit/factory/ResourceCreationSpecifierFactory.java [172:194]
public static void setConfigurationParameters(ResourceMetaData metaData,
ConfigurationParameter[] configurationParameters, Object[] configurationValues) {
ConfigurationParameterDeclarations paramDecls = metaData
.getConfigurationParameterDeclarations();
ConfigurationParameterSettings paramSettings = metaData.getConfigurationParameterSettings();
for (int i = 0; i < configurationParameters.length; i++) {
ConfigurationParameter decl = paramDecls.getConfigurationParameter(null,
configurationParameters[i].getName());
if (paramDecls != null && decl == null) {
paramDecls.addConfigurationParameter(configurationParameters[i]);
decl = configurationParameters[i];
}
// Upgrade single-value to multi-value if necessary
Object value = configurationValues[i];
if ((value != null) && decl.isMultiValued() && !isMultiValue(value)) {
value = Array.newInstance(value.getClass(), 1);
Array.set(value, 0, configurationValues[i]);
}
paramSettings.setParameterValue(configurationParameters[i].getName(), value);
}
}