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 16:28:44 UTC

[isis] 03/05: ISIS-2086: refactors 'isis.viewer.wicket.promptStyle' to type-safe config

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 d3a3c32f93cd9a1dae7403986ddbab4e04db9080
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 17:12:35 2019 +0100

    ISIS-2086: refactors 'isis.viewer.wicket.promptStyle' to type-safe config
---
 .../org/apache/isis/config/IsisConfiguration.java  |   3 +
 .../actions/layout/ActionLayoutFacetFactory.java   |   2 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |   9 +-
 .../promptStyle/PromptStyleConfiguration.java      |  42 ---------
 ...romptStyleFacetForPropertyLayoutAnnotation.java |   9 +-
 .../propertylayout/PropertyLayoutFacetFactory.java |   2 +-
 .../promptstyle/PromptStyleConfiguration_Test.java | 104 ---------------------
 ...romptStyleFacetFromPropertyAnnotation_Test.java |  34 +++----
 .../settings/WicketViewerSettingsDefault.java      |  34 ++++---
 9 files changed, 43 insertions(+), 196 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 deaa306..b1fa963 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.annotation.PromptStyle;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -126,6 +127,8 @@ public class IsisConfiguration {
             private boolean suppressSignUp = false;
             private boolean suppressPasswordReset = false;
             private boolean clearOriginalDestination = false;
+
+            private PromptStyle promptStyle = PromptStyle.INLINE;
         }
     }
     
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
index ca5de61..278b068 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/ActionLayoutFacetFactory.java
@@ -89,7 +89,7 @@ public class ActionLayoutFacetFactory extends FacetFactoryAbstract implements Co
 
         // promptStyle
         PromptStyleFacet promptStyleFacet = PromptStyleFacetForActionLayoutAnnotation
-                .create(actionLayouts, getConfigurationLegacy(), holder);
+                .create(actionLayouts, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
index 2a7aa2d..9e9dc64 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/layout/PromptStyleFacetForActionLayoutAnnotation.java
@@ -24,9 +24,8 @@ import java.util.Map;
 
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.config.IsisConfigurationLegacy;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
-import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
@@ -42,7 +41,7 @@ public class PromptStyleFacetForActionLayoutAnnotation extends PromptStyleFacetA
 
     public static PromptStyleFacet create(
             final List<ActionLayout> actionLayouts,
-            final IsisConfigurationLegacy configuration,
+            final IsisConfiguration configuration,
             final FacetHolder holder) {
 
         return actionLayouts.stream()
@@ -66,7 +65,7 @@ public class PromptStyleFacetForActionLayoutAnnotation extends PromptStyleFacetA
                             return null;
                         }
 
-                        promptStyle = PromptStyleConfiguration.parse(configuration);
+                        promptStyle = configuration.getViewer().getWicket().getPromptStyle();
                         return new PromptStyleFacetAsConfigured(promptStyle, holder);
 
 
@@ -79,7 +78,7 @@ public class PromptStyleFacetForActionLayoutAnnotation extends PromptStyleFacetA
                         return null;
                     }
 
-                    PromptStyle promptStyle = PromptStyleConfiguration.parse(configuration);
+                    PromptStyle promptStyle = configuration.getViewer().getWicket().getPromptStyle();
                     return new PromptStyleFacetAsConfigured(promptStyle, holder);
                 }
                         );
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
deleted file mode 100644
index ac3ce0d..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/promptStyle/PromptStyleConfiguration.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.metamodel.facets.object.promptStyle;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.config.IsisConfigurationLegacy;
-
-
-public class PromptStyleConfiguration {
-
-    private PromptStyleConfiguration() {}
-
-    public static final String PROMPT_STYLE_KEY = "isis.viewer.wicket.promptStyle";
-
-    public static PromptStyle parse(final IsisConfigurationLegacy configuration) {
-        final String configuredValue = configuration.getString(PROMPT_STYLE_KEY);
-        return PromptStyleConfiguration.parse(configuredValue);
-    }
-
-    private static PromptStyle parse(final String value) {
-        return value != null && value.trim().equalsIgnoreCase(PromptStyle.DIALOG.name())
-                ? PromptStyle.DIALOG
-                        : PromptStyle.INLINE;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
index 9f134d1..766991b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PromptStyleFacetForPropertyLayoutAnnotation.java
@@ -24,9 +24,8 @@ import java.util.Map;
 
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.config.IsisConfigurationLegacy;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
-import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAbstract;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
@@ -42,7 +41,7 @@ public class PromptStyleFacetForPropertyLayoutAnnotation extends PromptStyleFace
 
     public static PromptStyleFacet create(
             final List<PropertyLayout> propertyLayouts,
-            final IsisConfigurationLegacy configuration,
+            final IsisConfiguration configuration,
             final FacetHolder holder) {
 
         return propertyLayouts.stream()
@@ -67,7 +66,7 @@ public class PromptStyleFacetForPropertyLayoutAnnotation extends PromptStyleFace
                             return null;
                         }
 
-                        promptStyle = PromptStyleConfiguration.parse(configuration);
+                        promptStyle = configuration.getViewer().getWicket().getPromptStyle();
                         return new PromptStyleFacetAsConfigured(promptStyle, holder);
                     default:
                     }
@@ -80,7 +79,7 @@ public class PromptStyleFacetForPropertyLayoutAnnotation extends PromptStyleFace
                         return null;
                     }
 
-                    PromptStyle promptStyle = PromptStyleConfiguration.parse(configuration);
+                    PromptStyle promptStyle = configuration.getViewer().getWicket().getPromptStyle();
                     return new PromptStyleFacetAsConfigured(promptStyle, holder);
                 });
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index 0a60845..262cfa7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -96,7 +96,7 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
         }
 
         PromptStyleFacet promptStyleFacet = PromptStyleFacetForPropertyLayoutAnnotation
-                .create(propertyLayout, getConfigurationLegacy(), holder);
+                .create(propertyLayout, getConfiguration(), holder);
 
         FacetUtil.addFacet(promptStyleFacet);
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java
deleted file mode 100644
index 8c0c0b5..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleConfiguration_Test.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.metamodel.facets.properties.promptstyle;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
-import org.apache.isis.unittestsupport.jmocking.JUnitRuleMockery2;
-
-import static org.hamcrest.CoreMatchers.is;
-
-public class PromptStyleConfiguration_Test {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    IsisConfigurationLegacy mockIsisConfiguration;
-
-    @Test
-    public void when_none() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue(null));
-        }});
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.INLINE));
-    }
-
-    @Test
-    public void when_inline() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue("inline"));
-        }});
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.INLINE));
-    }
-
-    @Test
-    public void when_inline_as_if_edit() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue("inline_as_if_edit"));
-        }});
-
-        // then is converted to INLINE (doesn't make sense to have INLINE_AS_EDIT as a default)
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.INLINE));
-    }
-
-    @Test
-    public void when_inline_mixed_case_and_superfluous_characters() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue(" inLIne "));
-        }});
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.INLINE));
-    }
-
-    @Test
-    public void when_dialog() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue("dialog"));
-        }});
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.DIALOG));
-    }
-
-    @Test
-    public void when_invalid() throws Exception {
-        context.checking(new Expectations() {{
-            oneOf(mockIsisConfiguration).getString("isis.viewer.wicket.promptStyle");
-            will(returnValue("garbage"));
-        }});
-        PromptStyle editStyle = PromptStyleConfiguration.parse(mockIsisConfiguration);
-        Assert.assertThat(editStyle, is(PromptStyle.INLINE));
-    }
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
index c8eb830..1b79764 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
@@ -20,6 +20,7 @@ package org.apache.isis.metamodel.facets.properties.promptstyle;
 
 import java.util.Collections;
 
+import org.apache.isis.config.IsisConfiguration;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
@@ -31,7 +32,6 @@ import org.junit.Test;
 
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.config.IsisConfigurationLegacy;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacet;
 import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
@@ -46,8 +46,7 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
     @Rule
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
-    @Mock
-    IsisConfigurationLegacy mockConfiguration;
+    IsisConfiguration stubConfiguration;
 
     @Mock
     FacetHolder mockFacetHolder;
@@ -64,11 +63,11 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
                 allowing(mockPropertyLayout).promptStyle();
                 will(returnValue(PromptStyle.DIALOG));
 
-                never(mockConfiguration);
+                never(stubConfiguration);
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
             Assert.assertThat(facet.value(), is(PromptStyle.DIALOG));
@@ -81,12 +80,12 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
                 allowing(mockPropertyLayout).promptStyle();
                 will(returnValue(PromptStyle.INLINE));
 
-                never(mockConfiguration);
+                never(stubConfiguration);
             }});
 
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetForPropertyLayoutAnnotation.class)));
             Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
@@ -95,19 +94,17 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
         @Test
         public void when_annotated_with_as_configured() throws Exception {
 
+            stubConfiguration.getViewer().getWicket().setPromptStyle(PromptStyle.INLINE);
             context.checking(new Expectations() {{
                 allowing(mockPropertyLayout).promptStyle();
                 will(returnValue(PromptStyle.AS_CONFIGURED));
 
-                oneOf(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
-                will(returnValue(PromptStyle.INLINE.name()));
-
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(false));
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetAsConfigured.class)));
             Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
@@ -123,13 +120,10 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(true));
 
-                allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
-                will(returnValue(null));
-
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet, is(nullValue()));
         }
@@ -143,13 +137,10 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
 
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(false));
-
-                oneOf(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
-                will(returnValue(null));
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
             Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetAsConfigured.class)));
@@ -165,13 +156,10 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(true));
 
-                allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
-                will(returnValue(null));
-
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
-                    .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
+                    .create(Collections.singletonList(mockPropertyLayout), stubConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet, is(nullValue()));
         }
diff --git a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
index 58781ab..b642043 100644
--- a/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
+++ b/core/viewer-wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/settings/WicketViewerSettingsDefault.java
@@ -22,8 +22,8 @@ package org.apache.isis.viewer.wicket.viewer.settings;
 import javax.inject.Singleton;
 
 import org.apache.isis.applib.annotation.PromptStyle;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.metamodel.facets.object.promptStyle.PromptStyleConfiguration;
 import org.apache.isis.runtime.system.context.IsisContext;
 import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
 
@@ -32,74 +32,78 @@ public class WicketViewerSettingsDefault implements WicketViewerSettings {
 
     private static final long serialVersionUID = 1L;
 
-    IsisConfigurationLegacy getConfiguration() {
+    IsisConfigurationLegacy getConfigurationLegacy() {
         return IsisContext.getConfigurationLegacy();
     }
 
+    IsisConfiguration getConfiguration() {
+        return IsisContext.getConfiguration();
+    }
+
     @Override
     public int getMaxTitleLengthInStandaloneTables() {
-        return getConfiguration().getInteger("isis.viewer.wicket.maxTitleLengthInStandaloneTables", getMaxTitleLengthInTables());
+        return getConfigurationLegacy().getInteger("isis.viewer.wicket.maxTitleLengthInStandaloneTables", getMaxTitleLengthInTables());
     }
 
     @Override
     public int getMaxTitleLengthInParentedTables() {
-        return getConfiguration().getInteger("isis.viewer.wicket.maxTitleLengthInParentedTables", getMaxTitleLengthInTables());
+        return getConfigurationLegacy().getInteger("isis.viewer.wicket.maxTitleLengthInParentedTables", getMaxTitleLengthInTables());
     }
 
     /**
      * Fallback for either {@link #getMaxTitleLengthInParentedTables()} and {@link #getMaxTitleLengthInParentedTables()}
      */
     private int getMaxTitleLengthInTables() {
-        return getConfiguration().getInteger("isis.viewer.wicket.maxTitleLengthInTables", 12);
+        return getConfigurationLegacy().getInteger("isis.viewer.wicket.maxTitleLengthInTables", 12);
     }
 
     @Override
     public String getDatePattern() {
-        return getConfiguration().getString("isis.viewer.wicket.datePattern", "dd-MM-yyyy");
+        return getConfigurationLegacy().getString("isis.viewer.wicket.datePattern", "dd-MM-yyyy");
     }
 
     @Override
     public String getDateTimePattern() {
-        return getConfiguration().getString("isis.viewer.wicket.dateTimePattern", "dd-MM-yyyy HH:mm");
+        return getConfigurationLegacy().getString("isis.viewer.wicket.dateTimePattern", "dd-MM-yyyy HH:mm");
     }
 
     @Override
     public String getTimestampPattern() {
-        return getConfiguration().getString("isis.viewer.wicket.timestampPattern", "yyyy-MM-dd HH:mm:ss.SSS");
+        return getConfigurationLegacy().getString("isis.viewer.wicket.timestampPattern", "yyyy-MM-dd HH:mm:ss.SSS");
     }
 
     @Override
     public boolean isReplaceDisabledTagWithReadonlyTag() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.replaceDisabledTagWithReadonlyTag", true);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.replaceDisabledTagWithReadonlyTag", true);
     }
 
     @Override
     public boolean isPreventDoubleClickForFormSubmit() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.preventDoubleClickForFormSubmit", true);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.preventDoubleClickForFormSubmit", true);
     }
 
     @Override
     public boolean isPreventDoubleClickForNoArgAction() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.preventDoubleClickForNoArgAction", true);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.preventDoubleClickForNoArgAction", true);
     }
 
     @Override
     public boolean isUseIndicatorForFormSubmit() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.useIndicatorForFormSubmit", true);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.useIndicatorForFormSubmit", true);
     }
 
     @Override
     public boolean isUseIndicatorForNoArgAction() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.useIndicatorForNoArgAction", true);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.useIndicatorForNoArgAction", true);
     }
 
     @Override
     public PromptStyle getPromptStyle() {
-        return PromptStyleConfiguration.parse(getConfiguration());
+        return getConfiguration().getViewer().getWicket().getPromptStyle();
     }
 
     @Override
     public boolean isRedirectEvenIfSameObject() {
-        return getConfiguration().getBoolean("isis.viewer.wicket.redirectEvenIfSameObject", false);
+        return getConfigurationLegacy().getBoolean("isis.viewer.wicket.redirectEvenIfSameObject", false);
     }
 }