public static Map getParameterSettings()

in uimafit-core/src/main/java/org/apache/uima/fit/factory/ConfigurationParameterFactory.java [604:644]


  public static Map<String, Object> getParameterSettings(ResourceSpecifier spec) {
    Map<String, Object> settings = new HashMap<String, Object>();
    if (spec instanceof CustomResourceSpecifier) {
      for (Parameter p : ((CustomResourceSpecifier) spec).getParameters()) {
        settings.put(p.getName(), p.getValue());
      }
    } else if (spec instanceof PearSpecifier) {
      PearSpecifier pearSpec = ((PearSpecifier) spec);
      // Legacy parameters that only support string values.
      Parameter[] parameters = pearSpec.getParameters();

      if (parameters != null) {
        for (Parameter parameter : parameters) {
          settings.put(parameter.getName(), parameter.getValue());
        }
      }

      // Parameters supporting arbitrary objects as values
      NameValuePair[] pearParameters = pearSpec.getPearParameters();

      if (pearParameters != null) {
        for (NameValuePair pearParameter : pearParameters) {
          settings.put(pearParameter.getName(), pearParameter.getValue());
        }
      }
    } else if (spec instanceof ResourceCreationSpecifier) {
      for (NameValuePair p : ((ResourceCreationSpecifier) spec).getMetaData()
              .getConfigurationParameterSettings().getParameterSettings()) {
        settings.put(p.getName(), p.getValue());
      }
    } else if (spec instanceof ConfigurableDataResourceSpecifier) {
      for (NameValuePair p : ((ResourceCreationSpecifier) spec).getMetaData()
              .getConfigurationParameterSettings().getParameterSettings()) {
        settings.put(p.getName(), p.getValue());
      }
    } else {
      throw new IllegalArgumentException(
              "Unsupported resource specifier class [" + spec.getClass() + "]");
    }
    return settings;
  }