Uploaded image for project: 'Commons Configuration'
  1. Commons Configuration
  2. CONFIGURATION-145

[configuration] clone() implementation for all configurations

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.2
    • Fix Version/s: 1.3
    • Component/s: None
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Bugzilla Id:
      38953

      Description

      Original email text:

      >The HierarchicalConfiguration class contains a clone() method, to allow
      >decoupling of a configuration from the underlying file to prevent ill
      >effects during configuration updates. So, for example, I can clone an
      >XMLConfiguration for a user's session in a web app and update the
      >configuration file underneath so that the updates will be active for the
      >next user and the current user will not experience some undesirable
      >effect due to the change.
      >
      >My question is why this concept does not exist at a higher level? It
      >would seem that any class that implements the FileConfiguration
      >interface (and therefore the ReloadingStategy concept), should implement
      >a method that allows the configuration to be temporarily decoupled from
      >the source. Are there any plans for cloning to be enforced at a
      >FileConfiguration level?
      >
      >>From a completely selfish standpoint, I have a CompositeConfiguration
      >object that contains several PropertiesConfigurations and
      >XMLConfigurations with different reloading strategies. I'd like to
      >clone this for each user session for the above mentioned reason.
      >Ideally, the CompositeConfiguration would be clonable (cloning each of
      >the encapsulated configurations), but barring that, it would be nice to
      >be able to loop through the contained configurations and perform a
      >FileConfiguration.clone() on each object. Or maybe there's another way
      >to do this that I'm not seeing?
      >
      >TIA,
      >Mike
      >
      >
      Mike,

      a consistent implementation of clone() methods would IMO make sense for
      most of the Configuration implementations. Would you be so kind to open
      an enhancement ticket for this in bugzilla, so this idea won't get lost
      (see
      http://jakarta.apache.org/commons/configuration/issue-tracking.html)?
      Thanks.

      What may help you ATM are some utility methods in ConfigurationUtils for
      copying configurations. You might have a look at this class and maybe
      you can use some of the stuff to solve your problem.

      Oliver

        Attachments

          Activity

            People

            • Assignee:
              oheger Oliver Heger
              Reporter:
              mike_ferraro@harvard.edu Mike Ferraro
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: