ISIS-990: making ErrorPage more robust... suppress the menu bars (reduce chance of error page itself failing to render meaning that useful diagnostics get lost).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5b0f2400
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5b0f2400
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5b0f2400
Branch: refs/heads/master
Commit: 5b0f24003667ea2317e820abab44a6d4667147f5
Parents: a41e556
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Jan 8 00:00:37 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Jan 8 00:00:37 2015 +0100
----------------------------------------------------------------------
.../viewer/wicket/ui/pages/PageAbstract.java | 21 ++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/5b0f2400/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 d1dd681..d3a8183 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
@@ -90,6 +90,8 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.themepicker.ThemeChoo
import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
import org.apache.isis.viewer.wicket.ui.pages.about.AboutPage;
+import org.apache.isis.viewer.wicket.ui.pages.error.ErrorPage;
+import org.apache.isis.viewer.wicket.ui.util.Components;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
/**
@@ -319,8 +321,15 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
return new UserProfileService() {
@Override
public String userProfileName() {
- final String userProfileName = userProfileService != null ? userProfileService.userProfileName() : null;
- return userProfileName != null? userProfileName: getAuthenticationSession().getUserName();
+ if(PageAbstract.this instanceof ErrorPage) {
+ return getAuthenticationSession().getUserName();
+ }
+ try {
+ final String userProfileName = userProfileService != null ? userProfileService.userProfileName() : null;
+ return userProfileName != null? userProfileName: getAuthenticationSession().getUserName();
+ } catch (final Exception e) {
+ return getAuthenticationSession().getUserName();
+ }
}
};
}
@@ -374,8 +383,12 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
}
private void addMenuBar(final MarkupContainer container, final String id, final DomainServiceLayout.MenuBar menuBar) {
- final ServiceActionsModel model = new ServiceActionsModel(menuBar);
- getComponentFactoryRegistry().addOrReplaceComponent(container, id, ComponentType.SERVICE_ACTIONS, model);
+ if (!(this instanceof ErrorPage)) {
+ final ServiceActionsModel model = new ServiceActionsModel(menuBar);
+ getComponentFactoryRegistry().addOrReplaceComponent(container, id, ComponentType.SERVICE_ACTIONS, model);
+ } else {
+ Components.permanentlyHide(container, id);
+ }
}
/**