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 2015/01/08 01:25:35 UTC

[4/9] isis git commit: ISIS-990: making error page more robust... hide menu bars and avoid calling UserProfileService if on the error page.

ISIS-990: making error page more robust... hide menu bars and avoid calling UserProfileService if on the error page.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/48d48fa6
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/48d48fa6
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/48d48fa6

Branch: refs/heads/master
Commit: 48d48fa63ab66eefab19d6131f83d60d1ebb5dae
Parents: 5b0f240
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 8 00:22:35 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 8 00:22:35 2015 +0100

----------------------------------------------------------------------
 .../model/models/ServiceActionsModel.java       | 28 ++++++++++++--------
 .../ServiceActionsPanelFactory.java             |  3 ++-
 .../TertiaryMenuPanelFactory.java               |  4 ++-
 .../viewer/wicket/ui/pages/PageAbstract.java    | 20 +++++++-------
 4 files changed, 33 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/48d48fa6/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
index 89afe12..d0bcc36 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
@@ -37,21 +37,16 @@ public class ServiceActionsModel extends ModelAbstract<List<ObjectAdapter>> {
 
     private final DomainServiceLayout.MenuBar menuBar;
 
-    private static Predicate<ObjectAdapter> with(final DomainServiceLayout.MenuBar menuBar) {
-        return new Predicate<ObjectAdapter>() {
-            @Override
-            public boolean apply(ObjectAdapter input) {
-              final DomainServiceLayoutFacet facet = input.getSpecification().getFacet
-                  (DomainServiceLayoutFacet.class);
-                return facet != null && facet.getMenuBar() == menuBar;
-            }
-        };
-    }
-
+    /**
+     * @param menuBar - may be null in special case of rendering the tertiary menu on the error page.
+     */
     public ServiceActionsModel(final DomainServiceLayout.MenuBar menuBar) {
         this.menuBar = menuBar;
     }
 
+    /**
+     * The menu bar being rendered; may be null in special case of rendering the tertiary menu on the error page.
+     */
     public DomainServiceLayout.MenuBar getMenuBar() {
         return menuBar;
     }
@@ -60,6 +55,17 @@ public class ServiceActionsModel extends ModelAbstract<List<ObjectAdapter>> {
         return Lists.newArrayList(Iterables.filter(getServiceAdapters(), with(menuBar)));
     }
 
+    private static Predicate<ObjectAdapter> with(final DomainServiceLayout.MenuBar menuBar) {
+        return new Predicate<ObjectAdapter>() {
+            @Override
+            public boolean apply(ObjectAdapter input) {
+                final DomainServiceLayoutFacet facet = input.getSpecification().getFacet
+                        (DomainServiceLayoutFacet.class);
+                return facet != null && facet.getMenuBar() == menuBar;
+            }
+        };
+    }
+
     protected List<ObjectAdapter> getServiceAdapters() {
         return getPersistenceSession().getServices();
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/48d48fa6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanelFactory.java
index 4040fe5..43c255f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/ServiceActionsPanelFactory.java
@@ -48,7 +48,8 @@ public class ServiceActionsPanelFactory extends ComponentFactoryAbstract {
             return ApplicationAdvice.DOES_NOT_APPLY;
         }
         final ServiceActionsModel serviceActionsModel = (ServiceActionsModel) model;
-        return appliesIf(serviceActionsModel.getMenuBar() != DomainServiceLayout.MenuBar.TERTIARY);
+        final DomainServiceLayout.MenuBar menuBar = serviceActionsModel.getMenuBar();
+        return appliesIf(menuBar != DomainServiceLayout.MenuBar.TERTIARY && menuBar != null);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/48d48fa6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryMenuPanelFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryMenuPanelFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryMenuPanelFactory.java
index 0776c20..5d28543 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryMenuPanelFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actionmenu/serviceactions/TertiaryMenuPanelFactory.java
@@ -47,7 +47,9 @@ public class TertiaryMenuPanelFactory extends ComponentFactoryAbstract {
             return ApplicationAdvice.DOES_NOT_APPLY;
         }
         final ServiceActionsModel serviceActionsModel = (ServiceActionsModel) model;
-        return appliesIf(serviceActionsModel.getMenuBar() == DomainServiceLayout.MenuBar.TERTIARY);
+        final DomainServiceLayout.MenuBar menuBar = serviceActionsModel.getMenuBar();
+        final boolean applicability = menuBar == DomainServiceLayout.MenuBar.TERTIARY || menuBar == null;
+        return appliesIf(applicability);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/48d48fa6/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index d3a8183..a3b6924 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -377,18 +377,20 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     }
 
     private void addServiceActionMenuBars(final MarkupContainer container) {
-        addMenuBar(container, ID_PRIMARY_MENU_BAR, DomainServiceLayout.MenuBar.PRIMARY);
-        addMenuBar(container, ID_SECONDARY_MENU_BAR, DomainServiceLayout.MenuBar.SECONDARY);
-        addMenuBar(container, ID_TERTIARY_MENU_BAR, DomainServiceLayout.MenuBar.TERTIARY);
+        if (this instanceof ErrorPage) {
+            Components.permanentlyHide(container, ID_PRIMARY_MENU_BAR);
+            Components.permanentlyHide(container, ID_SECONDARY_MENU_BAR);
+            addMenuBar(container, ID_TERTIARY_MENU_BAR, null);
+        } else {
+            addMenuBar(container, ID_PRIMARY_MENU_BAR, DomainServiceLayout.MenuBar.PRIMARY);
+            addMenuBar(container, ID_SECONDARY_MENU_BAR, DomainServiceLayout.MenuBar.SECONDARY);
+            addMenuBar(container, ID_TERTIARY_MENU_BAR, DomainServiceLayout.MenuBar.TERTIARY);
+        }
     }
 
     private void addMenuBar(final MarkupContainer container, final String id, final DomainServiceLayout.MenuBar menuBar) {
-        if (!(this instanceof ErrorPage)) {
-            final ServiceActionsModel model = new ServiceActionsModel(menuBar);
-            getComponentFactoryRegistry().addOrReplaceComponent(container, id, ComponentType.SERVICE_ACTIONS, model);
-        } else {
-            Components.permanentlyHide(container, id);
-        }
+        final ServiceActionsModel model = new ServiceActionsModel(menuBar);
+        getComponentFactoryRegistry().addOrReplaceComponent(container, id, ComponentType.SERVICE_ACTIONS, model);
     }
 
     /**