public static void setConfigurationParameters()

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);
    }
  }