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 2016/05/01 10:16:52 UTC

[15/35] isis git commit: ISIS-1396: minor refactoring of EntityPage (extract method is all).

ISIS-1396: minor refactoring of EntityPage (extract method is all).


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

Branch: refs/heads/ISIS-1291
Commit: 0b3826d2d4a9b239d891452018f5f0da310a565d
Parents: 18b54eb
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Apr 29 14:55:49 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Apr 29 14:55:49 2016 +0100

----------------------------------------------------------------------
 .../wicket/ui/pages/entity/EntityPage.java      | 81 +++++++++++---------
 1 file changed, 44 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/0b3826d2/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index a6a5a11..79eab8c 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -55,6 +55,7 @@ public class EntityPage extends PageAbstract {
     private static final long serialVersionUID = 1L;
     
     private final EntityModel model;
+    private final String titleString;
 
     /**
      * Called reflectively, in support of 
@@ -110,11 +111,50 @@ public class EntityPage extends PageAbstract {
         super(pageParameters, titleString, ComponentType.ENTITY);
 
         this.model = entityModel;
+        this.titleString = titleString;
 
+        buildPage();
+    }
+
+    private void addBreadcrumb(final EntityModel entityModel) {
+        final BreadcrumbModelProvider session = (BreadcrumbModelProvider) getSession();
+        final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel();
+        breadcrumbModel.visited(entityModel);
+    }
+
+    private void removeAnyBreadcrumb(final EntityModel entityModel) {
+        final BreadcrumbModelProvider session = (BreadcrumbModelProvider) getSession();
+        final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel();
+        breadcrumbModel.remove(entityModel);
+    }
+
+    /**
+     * A rather crude way of intercepting the redirect-and-post strategy.
+     * 
+     * <p>
+     * Performs eager loading of corresponding {@link EntityModel}, with
+     * {@link ConcurrencyChecking#NO_CHECK no} concurrency checking.
+     */
+    @Override
+    protected void onBeforeRender() {
+
+
+        ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(
+                new Runnable() {
+                    @Override
+                    public void run() {
+                        EntityPage.this.model.load(ConcurrencyChecking.NO_CHECK);
+                        EntityPage.super.onBeforeRender();
+                    }
+                }
+        );
+    }
+
+    private void buildPage() {
         final ObjectAdapter objectAdapter;
         try {
             // check object still exists
-            objectAdapter = entityModel.getObject();
+            objectAdapter = model.getObject();
         } catch(final RuntimeException ex) {
             removeAnyBookmark(model);
             removeAnyBreadcrumb(model);
@@ -128,7 +168,7 @@ public class EntityPage extends PageAbstract {
             throw new ObjectMember.AuthorizationException();
         }
 
-        final ObjectSpecification objectSpec = entityModel.getTypeOfSpecification();
+        final ObjectSpecification objectSpec = model.getTypeOfSpecification();
         final GridFacet facet = objectSpec.getFacet(GridFacet.class);
         if(facet != null) {
             // the facet should always exist, in fact
@@ -137,7 +177,6 @@ public class EntityPage extends PageAbstract {
             final Grid unused = facet.getGrid();
         }
 
-
         if(titleString == null) {
             final String titleStr = objectAdapter.titleString(null);
             setTitle(titleStr);
@@ -149,46 +188,14 @@ public class EntityPage extends PageAbstract {
         themeDiv.addOrReplace(entityPageContainer);
 
         addChildComponents(entityPageContainer, model);
-        
+
         // bookmarks and breadcrumbs
         bookmarkPage(model);
-        addBreadcrumb(entityModel);
+        addBreadcrumb(model);
 
         addBookmarkedPages(entityPageContainer);
     }
 
-    private void addBreadcrumb(final EntityModel entityModel) {
-        final BreadcrumbModelProvider session = (BreadcrumbModelProvider) getSession();
-        final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel();
-        breadcrumbModel.visited(entityModel);
-    }
-
-    private void removeAnyBreadcrumb(final EntityModel entityModel) {
-        final BreadcrumbModelProvider session = (BreadcrumbModelProvider) getSession();
-        final BreadcrumbModel breadcrumbModel = session.getBreadcrumbModel();
-        breadcrumbModel.remove(entityModel);
-    }
-
-    /**
-     * A rather crude way of intercepting the redirect-and-post strategy.
-     * 
-     * <p>
-     * Performs eager loading of corresponding {@link EntityModel}, with
-     * {@link ConcurrencyChecking#NO_CHECK no} concurrency checking.
-     */
-    @Override
-    protected void onBeforeRender() {
-        ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(
-                new Runnable() {
-                    @Override
-                    public void run() {
-                        EntityPage.this.model.load(ConcurrencyChecking.NO_CHECK);
-                        EntityPage.super.onBeforeRender();
-                    }
-                }
-        );
-    }
-
     private DeploymentType getDeploymentType() {
         return IsisContext.getDeploymentType();
     }