You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/09/27 15:55:20 UTC

[isis] branch ISIS-2086 updated (bb1b099 -> c9e74d3)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a change to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git.


    from bb1b099  ISIS-2082: spikes the use of type-safe config properties, for two cases.
     add b2b34cb  ISIS-2158: annotate incubating smoketests and provide reasons
     add e15ed4b  ISIS-2158: internal API: add shortcuts for trimmed string splitting
     add e979d2f  ISIS-2158: fixes several bugs introduced with previous commit
     add c5def98  Merge pull request #141 from apache/ISIS-2086
     add 28c8585  ISIS-2086: integrating the new configuration beans with the framework
     add df4895f  ISIS-2086: fixing up some mm tests to support the new IsisConfiguration
     add bb57947  ISIS-2086: allow new IsisConfiguration to be lookup by legacy tests
     add 49a3ae7  ISIS-2086: update static methods in IsisContext to reflect new configuration(s)
     add ac0c58f  ISIS-2086: adds and fixes smoketest for loading IsisConfiguration
     add fe87f88  ISIS-2086: disable class-path scanning for the 'config' module
     new 4874fcc  ISIS-2086: converts isis.services.translation.po.mode to type-safe config.
     new 870c135  ISIS-2086: refactors isis.viewer.wicket. (4 props) to use type-safe config
     new 13a3087  ISIS-2086: comments old stale code that referenced a dynamic property called "isis.reflector.java.facets.parser.XXX.parserName"
     new 43e74e2  ISIS-2086: similar to ParserUtil previously, comments out dead code that references a dynamic config property
     new c9e74d3  ISIS-2086: converts 'isis.reflector.validator.ensureUniqueObjectTypes' to type-safe config

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../isis/commons/internal/base/_Strings.java       |  30 ++-
 core/config/pom.xml                                |   8 +
 .../org/apache/isis/config/IsisConfigModule.java   |  10 +-
 .../apache/isis/config/IsisConfigProperties.java   |  62 -----
 .../org/apache/isis/config/IsisConfiguration.java  | 300 +++++++--------------
 ...iguration.java => IsisConfigurationLegacy.java} |  10 +-
 .../org/apache/isis/config/internal/_Config.java   |   4 +-
 .../isis/config/internal/_Config_Instance.java     |  10 +-
 .../config/internal/_Config_LifecycleResource.java |   8 +-
 .../isis/config/property/ConfigProperty.java       |   4 +-
 .../config/property/ConfigPropertyAbstract.java    |   4 +-
 .../config/property/ConfigPropertyBoolean.java     |   4 +-
 .../isis/config/property/ConfigPropertyEnum.java   |   4 +-
 .../isis/config/property/ConfigPropertyString.java |   4 +-
 .../config/IsisConfiguration_createSubsetTest.java |  10 +-
 .../config/IsisConfiguration_specialCharTest.java  |   2 +-
 .../config/IsisConfiguration_whitespaceTest.java   |   2 +-
 .../apache/isis/metamodel/MetaModelContext.java    |  17 ++
 .../metamodel/MetaModelContext_forTesting.java     |   9 +-
 .../isis/metamodel/MetaModelContext_usingCDI.java  |   7 +-
 .../metamodel/MetaModelContext_usingSpring.java    |   7 +-
 .../isis/metamodel/ServiceInjector_forTesting.java |   2 +-
 .../adapter/concurrency/ConcurrencyChecking.java   |   4 +-
 .../action/ActionAnnotationFacetFactory.java       |   6 +-
 .../command/CommandActionsConfiguration.java       |   4 +-
 .../command/CommandFacetForActionAnnotation.java   |   4 +-
 ...ctionInvocationFacetForDomainEventAbstract.java |   2 +-
 .../publishing/PublishActionsConfiguration.java    |   4 +-
 .../PublishedActionFacetForActionAnnotation.java   |   4 +-
 .../actions/layout/ActionLayoutFacetFactory.java   |   2 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |   4 +-
 .../CollectionAnnotationFacetFactory.java          |   2 +-
 .../layout/CollectionLayoutFacetFactory.java       |   2 +-
 ...aultViewFacetForCollectionLayoutAnnotation.java |   4 +-
 .../annotation/SortedByFacetAnnotationFactory.java |   4 +-
 .../facets/fallback/FallbackFacetFactory.java      |   4 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |   8 +-
 ...assFacetOnActionFromConfiguredRegexFactory.java |   2 +-
 .../annotprop/CssClassFaFacetOnMemberFactory.java  |   2 +-
 .../DisableForContextFacetViaMethodFactory.java    |   2 +-
 .../HideForContextFacetViaMethodFactory.java       |   2 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |   2 +-
 .../object/defaults/DefaultsProviderUtil.java      |   4 +-
 .../DomainObjectAnnotationFacetFactory.java        |  20 +-
 .../auditing/AuditObjectsConfiguration.java        |   4 +-
 .../AuditableFacetForDomainObjectAnnotation.java   |   4 +-
 .../auditing/DefaultViewConfiguration.java         |   4 +-
 .../editing/EditingObjectsConfiguration.java       |   4 +-
 .../ImmutableFacetForDomainObjectAnnotation.java   |   4 +-
 .../publishing/PublishObjectsConfiguration.java    |   4 +-
 ...lishedObjectFacetForDomainObjectAnnotation.java |   4 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |   4 +-
 ...wModelLayoutAnnotationUsingCssClassUiEvent.java |   4 +-
 .../DomainObjectLayoutFacetFactory.java            |  16 +-
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |   4 +-
 ...aViewModelLayoutAnnotationUsingIconUiEvent.java |   4 +-
 ...inObjectLayoutAnnotationUsingLayoutUiEvent.java |   4 +-
 ...iewModelLayoutAnnotationUsingLayoutUiEvent.java |   4 +-
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |   4 +-
 ...ViewModelLayoutAnnotationUsingTitleUiEvent.java |   4 +-
 .../object/encodeable/EncoderDecoderUtil.java      |  20 +-
 .../facets/object/parseable/ParserUtil.java        |  16 +-
 .../promptStyle/PromptStyleConfiguration.java      |   4 +-
 .../ValueSemanticsProviderAndFacetAbstract.java    |   4 +-
 .../value/vsp/ValueSemanticsProviderUtil.java      |   4 +-
 .../property/PropertyAnnotationFacetFactory.java   |   6 +-
 .../command/CommandFacetForPropertyAnnotation.java |   4 +-
 .../command/CommandPropertiesConfiguration.java    |   4 +-
 .../publishing/PublishPropertiesConfiguration.java |   4 +-
 ...ublishedPropertyFacetForPropertyAnnotation.java |   4 +-
 ...romptStyleFacetForPropertyLayoutAnnotation.java |   4 +-
 .../propertylayout/PropertyLayoutFacetFactory.java |   2 +-
 .../DateAndTimeValueSemanticsProviderAbstract.java |   2 +-
 .../ValueSemanticsProviderAbstractTemporal.java    |   2 +-
 .../date/DateValueSemanticsProviderAbstract.java   |   2 +-
 .../Jdk8LocalDateValueSemanticsProvider.java       |   2 +-
 .../JodaLocalDateValueSemanticsProvider.java       |   2 +-
 .../Jdk8LocalDateTimeValueSemanticsProvider.java   |   2 +-
 ...fsetDateTimeValueSemanticsProviderAbstract.java |   2 +-
 ...JodaDateTimeValueSemanticsProviderAbstract.java |   2 +-
 .../JodaLocalDateTimeValueSemanticsProvider.java   |   2 +-
 .../value/money/MoneyValueSemanticsProvider.java   |   2 +-
 .../PercentageValueSemanticsProvider.java          |   2 +-
 .../time/TimeValueSemanticsProviderAbstract.java   |   2 +-
 .../TimeStampValueSemanticsProviderAbstract.java   |   2 +-
 .../isis/metamodel/progmodel/FacetFactorySet.java  |   6 +-
 .../progmodel/ProgrammingModelAbstract.java        |   4 +-
 .../metamodel/services/ServiceInjectorDefault.java |   6 +-
 .../services/registry/ServiceRegistryDefault.java  |   6 +-
 .../services/repository/RepositoryServiceJdo.java  |  11 +-
 .../metamodel/specloader/IntrospectionMode.java    |   2 +-
 .../MetaModelValidatorServiceDefault.java          |   4 +-
 .../specloader/ProgrammingModelServiceDefault.java |   4 +-
 .../metamodel/specloader/ReflectorConstants.java   |   6 +-
 .../metamodel/specloader/ServiceInitializer.java   |   4 +-
 .../specloader/SpecificationLoaderDefault.java     |  11 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |  15 +-
 .../MetaModelValidatorForDeprecatedAbstract.java   |   6 +-
 .../MetaModelValidatorToCheckModuleExtent.java     |   2 +-
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |   7 +-
 .../org/apache/isis/metamodel/util/EventUtil.java  |   4 +-
 .../metamodel/MetaModelContext_configTest.java     |   6 +-
 .../promptstyle/PromptStyleConfiguration_Test.java |   4 +-
 ...romptStyleFacetFromPropertyAnnotation_Test.java |   4 +-
 .../ImageValueSemanticsProviderAbstractTest.java   |   4 +-
 .../specloader/ServiceInitializerTest.java         |   4 +-
 .../SpecificationLoaderTestAbstract.java           |   9 +
 .../query/JdoQueryAnnotationFacetFactory.java      |   4 +-
 .../jdo/persistence/PersistenceSessionBase.java    |   6 +-
 .../DataNucleusApplicationComponents5.java         |   6 +-
 .../persistence/PersistenceSessionFactory5.java    |   4 +-
 core/pom.xml                                       |  11 -
 .../runtime/services/hsqldb/HsqlDbManagerMenu.java |   2 +-
 .../org/apache/isis/runtime/spring/IsisBoot.java   |   7 +-
 .../confmenu/ConfigurationViewServiceDefault.java  |   4 +-
 .../services/email/EmailServiceDefault.java        |   4 +-
 .../services/i18n/po/TranslationServicePo.java     |  13 +-
 .../isis/webapp/modules/WebModuleContext.java      |   6 +-
 .../modules/h2console/WebModuleH2Console.java      |   4 +-
 .../isis/runtime/system/SystemConstants.java       |   8 +-
 .../isis/runtime/system/context/IsisContext.java   |  10 +-
 .../system/context/session/RuntimeContext.java     |   4 +-
 .../system/context/session/RuntimeContextBase.java |   6 +-
 .../system/internal/IsisLocaleInitializer.java     |   4 +-
 .../system/internal/IsisTimeZoneInitializer.java   |   4 +-
 .../system/persistence/PersistenceSession.java     |   4 +-
 .../isis/runtime/system/session/IsisSession.java   |   2 +-
 .../system/session/IsisSessionFactoryDefault.java  |   4 +-
 ...ticatorOrAuthorizorTest_isVisibleInAnyRole.java |   4 +-
 .../server/resources/DomainResourceHelper.java     |   4 +-
 .../server/ResourceContextTest_getArg.java         |   4 +-
 ..._ensureCompatibleAcceptHeader_ContractTest.java |   4 +-
 .../wicket/viewer/IsisWicketApplication.java       |  18 +-
 .../settings/WicketViewerSettingsDefault.java      |   6 +-
 .../wicket/model/models/BookmarkedPagesModel.java  |   6 +-
 .../wicket/model/models/EntityCollectionModel.java |   2 +-
 .../models/whereami/WhereAmIModelDefault.java      |   6 +-
 .../wicket/ui/components/footer/FooterPanel.java   |   4 +-
 .../datepicker/TextFieldWithDateTimePicker.java    |   6 +-
 .../themepicker/IsisWicketThemeSupport.java        |   2 +-
 .../themepicker/IsisWicketThemeSupportDefault.java |   6 +-
 .../widgets/themepicker/ThemeChooser.java          |   6 +-
 .../isis/viewer/wicket/ui/pages/PageAbstract.java  |   6 +-
 .../accmngt/AccountManagementPageAbstract.java     |   8 +-
 .../accmngt/password_reset/PasswordResetPage.java  |   2 +-
 .../pages/accmngt/signup/RegistrationFormPage.java |   2 +-
 .../wicket/ui/pages/login/WicketSignInPage.java    |  14 +-
 .../wicket/ui/pages/mmverror/MmvErrorPage.java     |   6 +-
 .../viewer/wicket/ui/panels/PanelAbstract.java     |   6 +-
 .../org/apache/isis/testdomain/Incubating.java     |  10 +-
 .../SpringServiceProvisioningTest.java             |  34 ++-
 .../isis/testdomain/config/FooProperties.java      |  13 +
 .../apache/isis/testdomain/config/FooTest.java}    |  39 ++-
 .../testdomain/config/IsisConfigBeanTest.java}     |  36 ++-
 .../config/IsisConfigBeanTest_usingHeadless.java}  |  36 ++-
 .../DomainModelTest_usingBadDomain.java            |   4 +-
 .../isis/testdomain/shiro/ShiroSecmanLdapTest.java |   3 +-
 .../shiro/ShiroSecmanLdap_restfulStressTest.java   |   3 +-
 .../isis/testdomain/shiro/ShiroSecmanTest.java     |   3 +-
 .../resources/application-config-test.properties   |   7 +
 .../testdomain/bootstrapping/builtin-IsisBoot.list |  90 +++++++
 .../bootstrapping/builtin-requestscoped.list       |   8 +
 .../bootstrapping/builtin-singleton.list           |  90 +++++++
 .../isis/testdomain/tests/builtin-IsisBoot.json    |  29 --
 .../testdomain/tests/builtin-requestscoped.json    |  10 -
 .../isis/testdomain/tests/builtin-singleton.json   |  75 ------
 .../apache/isis/applib/DomainObjectContainer.java  |  14 +-
 167 files changed, 850 insertions(+), 810 deletions(-)
 delete mode 100644 core/config/src/main/java/org/apache/isis/config/IsisConfigProperties.java
 copy core/config/src/main/java/org/apache/isis/config/{IsisConfiguration.java => IsisConfigurationLegacy.java} (96%)
 create mode 100644 examples/smoketests/src/test/java/org/apache/isis/testdomain/config/FooProperties.java
 copy examples/{apps/simpleapp/application/src/test/java/domainapp/application/integtests/SpringIntegrationTest.java => smoketests/src/test/java/org/apache/isis/testdomain/config/FooTest.java} (54%)
 copy examples/{apps/simpleapp/application/src/test/java/domainapp/application/integtests/SpringIntegrationTest.java => smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest.java} (52%)
 copy examples/{apps/simpleapp/application/src/test/java/domainapp/application/integtests/SpringIntegrationTest.java => smoketests/src/test/java/org/apache/isis/testdomain/config/IsisConfigBeanTest_usingHeadless.java} (51%)
 create mode 100644 examples/smoketests/src/test/resources/application-config-test.properties
 create mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/bootstrapping/builtin-IsisBoot.list
 create mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/bootstrapping/builtin-requestscoped.list
 create mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/bootstrapping/builtin-singleton.list
 delete mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/tests/builtin-IsisBoot.json
 delete mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/tests/builtin-requestscoped.json
 delete mode 100644 examples/smoketests/src/test/resources/org/apache/isis/testdomain/tests/builtin-singleton.json


[isis] 05/05: ISIS-2086: converts 'isis.reflector.validator.ensureUniqueObjectTypes' to type-safe config

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git

commit c9e74d3ffc26d738c439a2cc463f72e7a86dd673
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:54:30 2019 +0100

    ISIS-2086: converts 'isis.reflector.validator.ensureUniqueObjectTypes' to type-safe config
---
 .../src/main/java/org/apache/isis/config/IsisConfiguration.java   | 8 +++++---
 .../metamodel/facets/object/encodeable/EncoderDecoderUtil.java    | 2 +-
 .../validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java   | 7 +------
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index 71f9b32..8096325 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -38,12 +38,10 @@ import lombok.Data;
 public class IsisConfiguration {
 
     private final Reflector reflector = new Reflector();
-    
     @Data
     public static class Reflector {
 
         private final ExplicitAnnotations explicitAnnotations = new ExplicitAnnotations();
-        
         @Data
         public static class ExplicitAnnotations {
 
@@ -54,10 +52,14 @@ public class IsisConfiguration {
             private boolean action = false;
         }
 
+        private final Validator validator = new Validator();
+        @Data
+        public static class Validator {
+            private boolean ensureUniqueObjectTypes = true;
+        }
     }
 
     private final Services services = new Services();
-    
     @Data
     public static class Services {
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
index e7b0cb5..3786002 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
@@ -39,7 +39,7 @@ public final class EncoderDecoderUtil {
 //        return !_Strings.isNullOrEmpty(encoderDecoderName) ? encoderDecoderName : null;
 //    }
 
-    public static Class<?> encoderDecoderOrNull(final Class<?> candidateClass, final String classCandidateName) {
+    public static Class<?> encopderDecoderOrNull(final Class<?> candidateClass, final String classCandidateName) {
         final Class<?> type = candidateClass != null ? ClassUtil.implementingClassOrNull(candidateClass.getName(), EncoderDecoder.class, FacetHolder.class) : null;
         return type != null ? type : ClassUtil.implementingClassOrNull(classCandidateName, EncoderDecoder.class, FacetHolder.class);
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
index 3d55edc..25573e8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
@@ -34,18 +34,13 @@ import lombok.val;
 
 public class MetaModelValidatorToCheckObjectSpecIdsUnique extends MetaModelValidatorComposite {
 
-    public static final String ISIS_REFLECTOR_ENSURE_UNIQUE_OBJECT_IDS_KEY = "isis.reflector.validator.ensureUniqueObjectTypes";
-    public static final boolean ISIS_REFLECTOR_ENSURE_UNIQUE_OBJECT_IDS_DEFAULT = true;
-
     public MetaModelValidatorToCheckObjectSpecIdsUnique() {
         addValidatorToEnsureUniqueObjectIds();
     }
 
     @Override
     public void validate(final ValidationFailures validationFailures) {
-        boolean check = getConfigurationLegacy()
-                .getBoolean(ISIS_REFLECTOR_ENSURE_UNIQUE_OBJECT_IDS_KEY,
-                        ISIS_REFLECTOR_ENSURE_UNIQUE_OBJECT_IDS_DEFAULT);
+        boolean check = getConfiguration().getReflector().getValidator().isEnsureUniqueObjectTypes();
         if(!check) {
             return;
         }


[isis] 03/05: ISIS-2086: comments old stale code that referenced a dynamic property called "isis.reflector.java.facets.parser.XXX.parserName"

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 13a308726f2c98c4652300433fa7b2c90357fb48
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:51:15 2019 +0100

    ISIS-2086: comments old stale code that referenced a dynamic property called "isis.reflector.java.facets.parser.XXX.parserName"
    
    where XXX could vary.   I suspect this code is dead, not longer required (Wicket and RO viewers have their own way of parsing, remoting is dead).
---
 .../metamodel/facets/object/parseable/ParserUtil.java    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParserUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParserUtil.java
index e506eb2..fc1029d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParserUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/parseable/ParserUtil.java
@@ -32,14 +32,14 @@ public final class ParserUtil {
     private ParserUtil() {
     }
 
-    public static final String PARSER_NAME_KEY_PREFIX = "isis.reflector.java.facets.parser.";
-    public static final String PARSER_NAME_KEY_SUFFIX = ".parserName";
-
-    public static String parserNameFromConfiguration(final Class<?> type, final IsisConfigurationLegacy configuration) {
-        final String key = PARSER_NAME_KEY_PREFIX + type.getCanonicalName() + PARSER_NAME_KEY_SUFFIX;
-        final String parserName = configuration.getString(key);
-        return !_Strings.isNullOrEmpty(parserName) ? parserName : null;
-    }
+//    public static final String PARSER_NAME_KEY_PREFIX = "isis.reflector.java.facets.parser.";
+//    public static final String PARSER_NAME_KEY_SUFFIX = ".parserName";
+
+//    public static String parserNameFromConfiguration(final Class<?> type, final IsisConfigurationLegacy configuration) {
+//        final String key = PARSER_NAME_KEY_PREFIX + type.getCanonicalName() + PARSER_NAME_KEY_SUFFIX;
+//        final String parserName = configuration.getString(key);
+//        return !_Strings.isNullOrEmpty(parserName) ? parserName : null;
+//    }
 
     public static Class<? extends Parser<?>> parserOrNull(final Class<?> candidateClass, final String classCandidateName) {
 


[isis] 02/05: ISIS-2086: refactors isis.viewer.wicket. (4 props) to use type-safe config

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 870c135011b2b1051ab825e91ad4ef8ae5864dfa
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:50:08 2019 +0100

    ISIS-2086: refactors isis.viewer.wicket. (4 props) to use type-safe config
---
 .../org/apache/isis/config/IsisConfiguration.java    | 20 ++++++++++++++++++++
 .../pages/accmngt/AccountManagementPageAbstract.java |  8 +++++++-
 .../accmngt/password_reset/PasswordResetPage.java    |  2 +-
 .../pages/accmngt/signup/RegistrationFormPage.java   |  2 +-
 .../wicket/ui/pages/login/WicketSignInPage.java      | 14 +++++---------
 5 files changed, 34 insertions(+), 12 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index ff044a6..71f9b32 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -53,6 +53,7 @@ public class IsisConfiguration {
              */
             private boolean action = false;
         }
+
     }
 
     private final Services services = new Services();
@@ -101,5 +102,24 @@ public class IsisConfiguration {
         }
     }
 
+    private final Viewer viewer = new Viewer();
+    @Data
+    public static class Viewer {
+
+        private final Wicket wicket = new Wicket();
+        @Data
+        public static class Wicket {
+
+            private final RememberMe rememberMe = new RememberMe();
+            @Data
+            public static class RememberMe {
+                private boolean suppress = false;
+            }
+
+            private boolean suppressSignUp = false;
+            private boolean suppressPasswordReset = false;
+            private boolean clearOriginalDestination = false;
+        }
+    }
     
 }
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
index 9ac3079..8ddaded 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/AccountManagementPageAbstract.java
@@ -21,6 +21,7 @@ package org.apache.isis.viewer.wicket.ui.pages.accmngt;
 
 import javax.inject.Inject;
 
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.wicket.Application;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
@@ -138,7 +139,12 @@ public class AccountManagementPageAbstract extends WebPage {
     // System components
     // ///////////////////////////////////////////////////
 
-    protected IsisConfigurationLegacy getConfiguration() {
+
+    protected IsisConfiguration getConfiguration() {
+        return IsisContext.getConfiguration();
+    }
+
+    protected IsisConfigurationLegacy getConfigurationLegacy() {
         return IsisContext.getConfigurationLegacy();
     }
 
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
index 6c09468..84c0e93 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/password_reset/PasswordResetPage.java
@@ -52,7 +52,7 @@ public class PasswordResetPage extends AccountManagementPageAbstract {
     private PasswordResetPage(final PageParameters parameters, ExceptionModel exceptionModel) {
         super(parameters, exceptionModel);
 
-        boolean suppressPasswordResetLink = getConfiguration().getBoolean(WicketSignInPage.ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET, false);
+        boolean suppressPasswordResetLink = getConfiguration().getViewer().getWicket().isSuppressPasswordReset();
         if(suppressPasswordResetLink) {
             throw new RestartResponseAtInterceptPageException(WicketSignInPage.class);
         }
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
index 5ceb0b0..283292f 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/accmngt/signup/RegistrationFormPage.java
@@ -45,7 +45,7 @@ public class RegistrationFormPage extends AccountManagementPageAbstract {
     private RegistrationFormPage(final PageParameters parameters, ExceptionModel exceptionModel) {
         super(parameters, exceptionModel);
 
-        boolean suppressSignUp = getConfiguration().getBoolean(WicketSignInPage.ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP, false);
+        boolean suppressSignUp = getConfiguration().getViewer().getWicket().isSuppressSignUp();
         if(suppressSignUp) {
             pageNavigationService.interceptAndRestartAt(PageType.SIGN_IN);
         }
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
index 83c91f0..9397595 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/login/WicketSignInPage.java
@@ -39,11 +39,6 @@ public class WicketSignInPage extends AccountManagementPageAbstract {
 
     private static final long serialVersionUID = 1L;
 
-    public static final String ISIS_VIEWER_WICKET_REMEMBER_ME_SUPPRESS = "isis.viewer.wicket.rememberMe.suppress";
-    public static final String ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP = "isis.viewer.wicket.suppressSignUp";
-    public static final String ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET = "isis.viewer.wicket.suppressPasswordReset";
-    public static final String ISIS_VIEWER_WICKET_CLEAR_ORIGINAL_DESTINATION = "isis.viewer.wicket.clearOriginalDestination";
-
     public WicketSignInPage(final PageParameters parameters) {
         this(parameters, getAndClearExceptionModelIfAny());
     }
@@ -81,12 +76,13 @@ public class WicketSignInPage extends AccountManagementPageAbstract {
 
     protected SignInPanel addSignInPanel() {
 
-        final boolean rememberMeSuppress = getConfiguration().getBoolean(ISIS_VIEWER_WICKET_REMEMBER_ME_SUPPRESS, false);
+
+        final boolean rememberMeSuppress = getConfiguration().getViewer().getWicket().getRememberMe().isSuppress();
         final boolean suppressRememberMe = rememberMeSuppress;
 
-        final boolean suppressSignUpLink = getConfiguration().getBoolean(ISIS_VIEWER_WICKET_SUPPRESS_SIGN_UP, false);
-        final boolean suppressPasswordResetLink = getConfiguration().getBoolean(ISIS_VIEWER_WICKET_SUPPRESS_PASSWORD_RESET, false);
-        final boolean clearOriginalDestination = getConfiguration().getBoolean(ISIS_VIEWER_WICKET_CLEAR_ORIGINAL_DESTINATION, false);
+        final boolean suppressSignUpLink = getConfiguration().getViewer().getWicket().isSuppressSignUp();
+        final boolean suppressPasswordResetLink = getConfiguration().getViewer().getWicket().isSuppressPasswordReset();
+        final boolean clearOriginalDestination = getConfiguration().getViewer().getWicket().isClearOriginalDestination();
         final boolean rememberMe = !suppressRememberMe;
         final boolean signUpLink = !suppressSignUpLink;
         final boolean passwordReset = !suppressPasswordResetLink;


[isis] 01/05: ISIS-2086: converts isis.services.translation.po.mode to type-safe config.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4874fcccac8bd572e65736774946be71ce38ba8e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:31:50 2019 +0100

    ISIS-2086: converts isis.services.translation.po.mode to type-safe config.
---
 .../java/org/apache/isis/config/IsisConfiguration.java   | 16 ++++++++++++++++
 .../runtime/services/i18n/po/TranslationServicePo.java   | 13 ++++++++-----
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index 31a898d..ff044a6 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.config;
 
+import org.apache.isis.applib.services.i18n.TranslationService;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 import lombok.Data;
@@ -83,6 +84,21 @@ public class IsisConfiguration {
             private boolean disableAutoFlush = false;
 
         }
+
+        private final Translation translation = new Translation();
+
+        @Data
+        public static class Translation {
+
+            private final Po po = new Po();
+
+            @Data
+            public static class Po {
+
+                TranslationService.Mode mode = TranslationService.Mode.WRITE;
+            }
+
+        }
     }
 
     
diff --git a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
index dfa38e4..e5522dc 100644
--- a/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
+++ b/core/runtime-services/src/main/java/org/apache/isis/runtime/services/i18n/po/TranslationServicePo.java
@@ -20,6 +20,7 @@ package org.apache.isis.runtime.services.i18n.po;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
+import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.apache.isis.applib.services.i18n.LocaleProvider;
@@ -28,6 +29,7 @@ import org.apache.isis.applib.services.i18n.TranslationsResolver;
 import org.apache.isis.commons.collections.Bin;
 import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.context._Context;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.runtime.system.context.IsisContext;
 
 import static org.apache.isis.config.internal._Config.getConfiguration;
@@ -35,8 +37,6 @@ import static org.apache.isis.config.internal._Config.getConfiguration;
 @Singleton
 public class TranslationServicePo implements TranslationService {
 
-    public static final String KEY_PO_MODE = "isis.services.translation.po.mode";
-
     private PoAbstract po;
 
     /**
@@ -49,12 +49,15 @@ public class TranslationServicePo implements TranslationService {
 
     // -- init, shutdown
 
+    @Inject
+    IsisConfiguration configuration;
+
     @PostConstruct
     public void init() {
 
-        final String translationMode = getConfiguration().getString(KEY_PO_MODE);
+        final Mode translationMode = configuration.getServices().getTranslation().getPo().getMode();
 
-        final boolean translationDisabled = TranslationService.Mode.DISABLED.matches(translationMode);
+        final boolean translationDisabled = (Mode.DISABLED == translationMode);
         if(translationDisabled) {
             // switch to disabled mode
             po = new PoDisabled(this);
@@ -68,7 +71,7 @@ public class TranslationServicePo implements TranslationService {
 
         final boolean prototypeOrTest = isPrototypeOrTest();
 
-        final boolean forceRead = TranslationService.Mode.READ.matches(translationMode);
+        final boolean forceRead = (Mode.READ == translationMode);
 
         if(prototypeOrTest && !forceRead) {
             // remain in write mode


[isis] 04/05: ISIS-2086: similar to ParserUtil previously, comments out dead code that references a dynamic config property

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-2086
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 43e74e2fd39c85df614b5655722ca8c4c6028915
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 16:52:22 2019 +0100

    ISIS-2086: similar to ParserUtil previously, comments out dead code that references a dynamic config property
    
    Suspect this is no longer required.
---
 .../facets/object/encodeable/EncoderDecoderUtil.java     | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
index 75f125a..e7b0cb5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/encodeable/EncoderDecoderUtil.java
@@ -30,14 +30,14 @@ public final class EncoderDecoderUtil {
     private EncoderDecoderUtil() {
     }
 
-    public static final String ENCODER_DECODER_NAME_KEY_PREFIX = "isis.reflector.java.facets.encoderDecoder.";
-    public static final String ENCODER_DECODER_NAME_KEY_SUFFIX = ".encoderDecoderName";
-
-    public static String encoderDecoderNameFromConfiguration(final Class<?> type, final IsisConfigurationLegacy configuration) {
-        final String key = ENCODER_DECODER_NAME_KEY_PREFIX + type.getCanonicalName() + ENCODER_DECODER_NAME_KEY_SUFFIX;
-        final String encoderDecoderName = configuration.getString(key);
-        return !_Strings.isNullOrEmpty(encoderDecoderName) ? encoderDecoderName : null;
-    }
+//    public static final String ENCODER_DECODER_NAME_KEY_PREFIX = "isis.reflector.java.facets.encoderDecoder.";
+//    public static final String ENCODER_DECODER_NAME_KEY_SUFFIX = ".encoderDecoderName";
+//
+//    public static String encoderDecoderNameFromConfiguration(final Class<?> type, final IsisConfigurationLegacy configuration) {
+//        final String key = ENCODER_DECODER_NAME_KEY_PREFIX + type.getCanonicalName() + ENCODER_DECODER_NAME_KEY_SUFFIX;
+//        final String encoderDecoderName = configuration.getString(key);
+//        return !_Strings.isNullOrEmpty(encoderDecoderName) ? encoderDecoderName : null;
+//    }
 
     public static Class<?> encoderDecoderOrNull(final Class<?> candidateClass, final String classCandidateName) {
         final Class<?> type = candidateClass != null ? ClassUtil.implementingClassOrNull(candidateClass.getName(), EncoderDecoder.class, FacetHolder.class) : null;