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);
}
/**