Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2039

Redesign of Configuration

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-M3
    • Core
    • None

    Description

      Goals:

      1) the framework shall provide a singleton instance of IsisConfiguration, which is an interface that provides immutable/readonly access to the config key/value pairs
      2) the framework provides IsisConfigurationBuilder once during the early-bootstrap phase for r/w access to the config key/value pairs
      3) first time any module requests access to IsisConfiguration, a singleton instance IsisConfiguration is built using the builder and the builder itself is no longer valid, meaning the framework denies any caller access to the builder

      A benefit of this design is, that it is no longer required to pass around or hold instances of IsisConfiguration, because the framework provides a static means to get the current life-cycle's singletons for configuration.

      Side-effects ...

      1) cleanup and simplify bootstrapping code
      2) no more configuration mocking for JUnit tests, instead use new internal Config API
      3) removal of @PostConstruct methods that take arguments
      4) removal of apache commons dependencies (really only required by the WebServer tool)

      Attachments

        Issue Links

          Activity

            People

              hobrom Andi Huber
              hobrom Andi Huber
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: