[ https://issues.apache.org/jira/browse/ISIS-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16703953#comment-16703953 ]
ASF subversion and git services commented on ISIS-2039: ------------------------------------------------------- Commit a33232cae8c85af3ea7c5cf210dfab4e66bbf75d in isis's branch refs/heads/v2 from [~hobrom] [ https://gitbox.apache.org/repos/asf?p=isis.git;h=a33232c ] 2039 redesign of config (#134) * ISIS-2039: major refactoring move config code into its own module remove number of classes in metamodel, that hold a reference to IsisConfiguration or its implementation hide the mutable IsisConfigurationDefault Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: reduce visibility of some config classes Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: simplify config access Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: cleaning up the component-provider mess for web-modules: no longer negotiate by writing attributes to the servlet-context, instead use a java class for that Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: fixing some tests Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: removing arguments of @PostConstruct methods Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: lazy binding to config for wicket Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: proposed test fix also cleaning up verbose tests Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: more test fixes Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: experimenting with AppConfig managed by Guice Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: solving the AppManifest lookup problem independently of the configuration bootstrapping Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: simplify helloworld Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: moving type discovery to an earlier stage in bootstrapping Integration Test Bootstrapping works. Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: on web-context: move the config bootstrapping from wicket module to the main ServletContextListener such that the wicket module is no longer responsible for initiating the framework Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: config bootstrapping: fixes the resource chain Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: allow ServiceLoader lookup for AppConfig to fallback ... to previous behavior, that is to lookup the AppManifest from config property 'isis.appManifest' Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: fixes concurrent modification with _Context add a property 'isUnitTesting' to the IsisSystemEnvironment, to help with the decision on how to bootstrap the configuration also doing some cleaning up Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: fixing junit tests ... by having the IsisSystemEnvironment#isUnitTesting correctly setup by JunitRuleMocker2 Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: further fixing tests ... also moving ExceptionRecognizer services that depend on the 'config' module from 'applib' to 'runtime' Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: fixing tests, that fail due to new domain object annot. processing Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: unify config bootstrapping code for maven-plugin, wicket-viewer and headless Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: to fix prev. commit: let the maven-plugin bootstrap the configuration properly Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: fixing mm verification tests Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: reinstating the ConfigurationServiceDefault also renaming packages within the 'config' module -> 'o.a.i.config' Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: removing the ConfigurationService interface use the singleton IsisConfiguration instead for the UI, the ConfigurationServiceMenu was renamed to ConfigurationMenu which uses a ConfigurationViewService for the single purpose of displaying config values Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 * ISIS-2039: reorg. packages Task-Url: https://issues.apache.org/jira/browse/ISIS-2039 > Redesign of Configuration > ------------------------- > > Key: ISIS-2039 > URL: https://issues.apache.org/jira/browse/ISIS-2039 > Project: Isis > Issue Type: Improvement > Components: Core > Reporter: Andi Huber > Assignee: Andi Huber > Priority: Major > Fix For: 2.0.0 > > > 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) -- This message was sent by Atlassian JIRA (v7.6.3#76005)