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 2014/02/27 23:50:16 UTC

git commit: ISIS-429: use PageClassRegistry to lookup signin page

Repository: isis
Updated Branches:
  refs/heads/master 7dcd2cdf4 -> 5b47274d4


ISIS-429: use PageClassRegistry to lookup signin page


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

Branch: refs/heads/master
Commit: 5b47274d4af0c94aaea81de0c05ba6dee255e79c
Parents: 7dcd2cd
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Feb 27 22:50:05 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Feb 27 22:50:05 2014 +0000

----------------------------------------------------------------------
 .../viewer/wicket/ui/pages/PageAbstract.java    | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5b47274d/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 767c7b2..0bd3162 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
@@ -29,6 +29,7 @@ import com.google.inject.name.Named;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Page;
 import org.apache.wicket.RestartResponseAtInterceptPageException;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.markup.head.CssReferenceHeaderItem;
@@ -65,6 +66,7 @@ import org.apache.isis.viewer.wicket.model.models.ActionPromptProvider;
 import org.apache.isis.viewer.wicket.model.models.ApplicationActionsModel;
 import org.apache.isis.viewer.wicket.model.models.BookmarkableModel;
 import org.apache.isis.viewer.wicket.model.models.BookmarkedPagesModel;
+import org.apache.isis.viewer.wicket.model.models.PageType;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
@@ -75,7 +77,6 @@ import org.apache.isis.viewer.wicket.ui.components.widgets.zclip.ZeroClipboardPa
 import org.apache.isis.viewer.wicket.ui.errors.ExceptionModel;
 import org.apache.isis.viewer.wicket.ui.errors.JGrowlUtil;
 import org.apache.isis.viewer.wicket.ui.pages.about.AboutPage;
-import org.apache.isis.viewer.wicket.ui.pages.login.WicketSignInPage;
 import org.apache.isis.viewer.wicket.ui.util.Components;
 import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
 
@@ -84,8 +85,6 @@ import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
  */
 public abstract class PageAbstract extends WebPage implements ActionPromptProvider {
 
-
-
     private static Logger LOG = LoggerFactory.getLogger(PageAbstract.class);
 
     private static final long serialVersionUID = 1L;
@@ -146,6 +145,12 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
     @Named("applicationJs")
     private String applicationJs;
 
+    /**
+     * {@link Inject}ed when {@link #init() initialized}.
+     */
+    @Inject
+    private PageClassRegistry pageClassRegistry;
+
     protected enum ApplicationActions {
         INCLUDE,
         EXCLUDE
@@ -193,11 +198,16 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
             // for the WicketSignInPage to render
             EXCEPTION.set(exceptionModel);
 
-            throw new RestartResponseAtInterceptPageException(WicketSignInPage.class);
+            throw new RestartResponseAtInterceptPageException(getSignInPage());
         }
     }
 
 
+    private Class<? extends Page> getSignInPage() {
+        return pageClassRegistry.getPageClass(PageType.SIGN_IN);
+    }
+
+
     private static String asCssStyle(final String str) {
         return StringExtensions.asLowerDashed(str);
     }
@@ -257,7 +267,7 @@ public abstract class PageAbstract extends WebPage implements ActionPromptProvid
             @Override
             public void onClick() {
                 getSession().invalidate();
-                setResponsePage(WicketSignInPage.class);
+                setResponsePage(getSignInPage());
             }
         });
     }