Uploaded image for project: 'OpenAM Agents'
  1. OpenAM Agents
  2. AMAGENTS-2059

JASPA: Change properties handling code.

    XMLWordPrintable

    Details

    • Target Version/s:
    • Sprint:
      2018.13 - Cuneiform, 2018.14 - Bronze

      Description

      There are several reasons why properties within the Java Agent need to be reworked:

      • Property names are inconsistent with the C Agent
      • Some properties just aren't used anymore, even though they are referenced in the codebase
      • The original property names don't follow any logical naming rules and don't even share the same base
      • Some old property names are practically meaningless
      • Some new property names have been badly chosen
      • Property initialisation is a nightmare for the unit tests, thus no unit test can access properties
      • Property handling uses deprecated classes from the Client SDK
      • Backwards compatibility must be maintained
      • Property name changes have implications for the XUI
      • Need to sort out which properties are hot-swappable and which are not
      • The documentation team are constantly complaining that Java Agent properties are a mess

      Here are some examples of the inconsistencies. All of these are properties used by the agent:

      com.sun.identity.sm.cacheTime
      com.iplanet.am.cookie.name
      com.iplanet.services.debug.level
      com.sun.identity.agents.config.session.attribute.mapping
      com.iplanet.am.session.client.polling.enable
      org.forgerock.openam.sdk.com.sun.services.debug.mergeall
      org.forgerock.openam.agents.config.policy.evaluation.realm
      

      In order to reconcile old/existing names with new/rational ones, I propose inventing "aliases" for property names. Thus it will be possible for a single property value to go by two (or more) distinct names. For example:

      com.sun.identity.sm.cacheTime
      org.forgerock.agents.cache.timeout.milliseconds
      

      This will pave the way for more sensible, consistent and descriptive property names while still maintaining backwards compatibility. It does pave the way for problems where a customer sets the same property via two (or more) different names to different values. Perhaps a warning should be issued if this is the case. I propose "rational" property names start with the root:
      org.forgerock.agents

      just because it is shorter than one of the new variants, which is:
      org.forgerock.openam.agents

      I also propose dropping the word config from everywhere in all properties. It's a property, what else could it possibly be but configuration?

        Attachments

          Activity

            People

            Assignee:
            tony.bamford Tony Bamford
            Reporter:
            tony.bamford Tony Bamford
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: