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();
}