Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-3209

cleanup "additional parameters"

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.4.2SDK
    • 2.5.0SDK
    • Core Java Framework
    • None

    Description

      Many user-facing APIs have a parameter, called additional parameters, which is a Map, for passing additional, arbitrary parameters.

      These APIs are often associated with user-facing interfaces, and have static final String constants that name the "keys" for these parameters.

      The placement of these static final String constants is not consistent. For example, there are duplicates ( both Resource and AnalysisEngine interfaces define "PARAM_CONFIG_PARAM_SETTINGS" ). It's probably worth checking to see if there are any missing, and if they are defined at the "right level". My guess is that moving these may break some user code; if so, I'd say it isn't worth removing misplaced ones. But I would add missing ones at the "right level", and make all other instances have their definition set to the the "master" (the one defined at the right level), so there's no doubt that duplicates are intended to have the same exact definition.

      The right level, I think, in a hierarchy of interface definitions, is the highest point for which the parameter makes sense (but not higher).

      A scan of uimaj-core produced these candidates, some of which have multiple definition spots:
      PARAM_AGGREGATE_ANALYSIS_ENGINE_NAME = "PARAM_AGGREGATE_ANALYSIS_ENGINE_NAME";
      PARAM_AGGREGATE_SOFA_MAPPINGS = "AGGREGATE_SOFA_MAPPINGS";
      PARAM_CONFIG_MANAGER = "CONFIG_MANAGER";
      PARAM_CONFIG_PARAM_SETTINGS = "CONFIG_PARAM_SETTINGS";
      PARAM_EXTERNAL_OVERRIDE_SETTINGS = "EXTERNAL_OVERRIDE_SETTINGS";
      PARAM_MBEAN_NAME_PREFIX = "MBEAN_NAME_PREFIX";
      PARAM_MBEAN_SERVER = "MBEAN_SERVER";
      PARAM_NUM_SIMULTANEOUS_REQUESTS = "NUM_SIMULTANEOUS_REQUESTS";
      PARAM_PERFORMANCE_TUNING_SETTINGS = "PERFORMANCE_TUNING_SETTINGS";
      PARAM_RELATIVE_PATH_RESOLVER = "RELATIVE_PATH_RESOLVER";
      PARAM_RESOURCE_MANAGER = "RESOURCE_MANAGER";
      PARAM_RESULT_SPECIFICATION = "RESULT_SPECIFICATION";
      PARAM_TIMEOUT_PERIOD = "TIMEOUT_PERIOD";
      PARAM_UIMA_CONTEXT = "UIMA_CONTEXT";
      PARAM_VERIFICATION_MODE = "VERIFICATION_MODE";

      Attachments

        Activity

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: