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:45 UTC

[isis] 04/05: ISIS-2086: refactors 'isis.viewer.wicket.showFooter' to use 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 bd08458f9f987782b0aec55f972d0d415de7e09d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 27 17:15:57 2019 +0100

    ISIS-2086: refactors 'isis.viewer.wicket.showFooter' to use type-safe config
---
 .../src/main/java/org/apache/isis/config/IsisConfiguration.java   | 2 ++
 .../isis/viewer/wicket/model/isis/WicketViewerSettings.java       | 3 ---
 .../isis/viewer/wicket/ui/components/footer/FooterPanel.java      | 8 +++-----
 .../wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java | 2 +-
 .../org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java    | 7 ++++++-
 5 files changed, 12 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 b1fa963..5d995c7 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
@@ -129,6 +129,8 @@ public class IsisConfiguration {
             private boolean clearOriginalDestination = false;
 
             private PromptStyle promptStyle = PromptStyle.INLINE;
+
+            private boolean showFooter = true;
         }
     }
     
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
index dfa755e..cd9b5ad 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/isis/WicketViewerSettings.java
@@ -25,9 +25,6 @@ import org.apache.isis.applib.annotation.PromptStyle;
 
 public interface WicketViewerSettings extends Serializable {
 
-    public static final String  KEY_WICKET_VIEWER_SHOW_FOOTER = "isis.viewer.wicket.showFooter";
-    public static final boolean WICKET_VIEWER_SHOW_FOOTER_DEFAULT = true;
-
     /**
      * The maximum length that a title of an object will be shown when rendered in a standalone table;
      * will be truncated beyond this (with ellipses to indicate the truncation).
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
index 386522d..cf58210 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/footer/FooterPanel.java
@@ -147,7 +147,7 @@ public class FooterPanel extends PanelAbstract<Model<String>> {
     }
 
     private boolean addCredit(final int num) {
-        final Credit credit = Credit.create(getConfiguration(), num);
+        final Credit credit = Credit.create(getConfigurationLegacy(), num);
         final WebMarkupContainer creditLink = newLink(credit);
         if(credit.isDefined()) {
             creditLink.add(new CreditImage(credit.getImageId(), credit.getImage()));
@@ -183,7 +183,7 @@ public class FooterPanel extends PanelAbstract<Model<String>> {
 
     private void addBreadcrumbs() {
 
-        boolean showBreadcrumbs = getConfiguration().getBoolean(
+        boolean showBreadcrumbs = getConfigurationLegacy().getBoolean(
                 BreadcrumbPanel.SHOW_BREADCRUMBS_KEY, BreadcrumbPanel.SHOW_BREADCRUMBS_DEFAULT);
         final Component breadcrumbPanel =
                 showBreadcrumbs
@@ -196,9 +196,7 @@ public class FooterPanel extends PanelAbstract<Model<String>> {
     protected void onConfigure() {
         super.onConfigure();
 
-        final boolean showFooter = getConfiguration().getBoolean(
-                WicketViewerSettings.KEY_WICKET_VIEWER_SHOW_FOOTER,
-                WicketViewerSettings.WICKET_VIEWER_SHOW_FOOTER_DEFAULT);
+        final boolean showFooter = getConfiguration().getViewer().getWicket().isShowFooter();
 
         if(!showFooter) {
             setVisible(false);
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 57ac72c..89628a0 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -151,7 +151,7 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
     protected void onConfigure() {
         super.onConfigure();
 
-        boolean shouldShow = getConfiguration().getBoolean(SHOW_BREADCRUMBS_KEY, SHOW_BREADCRUMBS_DEFAULT);
+        boolean shouldShow = getConfigurationLegacy().getBoolean(SHOW_BREADCRUMBS_KEY, SHOW_BREADCRUMBS_DEFAULT);
         setVisible(shouldShow);
     }
 
diff --git a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
index cf08a7d..f5eae7f 100644
--- a/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
+++ b/core/viewer-wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
@@ -23,6 +23,7 @@ import java.util.function.Function;
 
 import javax.inject.Inject;
 
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.IModel;
@@ -167,10 +168,14 @@ public abstract class PanelAbstract<T extends IModel<?>> extends Panel {
         return IsisContext.pojoToAdapter();
     }
 
-    protected IsisConfigurationLegacy getConfiguration() {
+    protected IsisConfigurationLegacy getConfigurationLegacy() {
         return IsisContext.getConfigurationLegacy();
     }
 
+    protected IsisConfiguration getConfiguration() {
+        return IsisContext.getConfiguration();
+    }
+
     public SpecificationLoader getSpecificationLoader() {
         return IsisContext.getSpecificationLoader();
     }