From 5bd5c264075cc95c3968e0e924020bf0f190214a Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Wed, 23 May 2012 09:08:12 +0200 Subject: [PATCH] Remove LayoutItemPortal.get/setNavigationTable(). * src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java: Remove get/setNavigationTable(), which is only a cache, because it is not used, and does not need to be used, because that decision should be made on the server. * src/main/java/org/glom/web/server/ConfiguredDocument.java: updatePortalsExtras(): * src/main/java/org/glom/web/server/database/RelatedListNavigation.java: getNavigationRecord(): * src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java: Adapted. --- ChangeLog | 15 +++++++++++++++ .../java/org/glom/web/server/ConfiguredDocument.java | 9 --------- .../glom/web/server/database/RelatedListNavigation.java | 3 --- .../glom/web/shared/libglom/layout/LayoutItemPortal.java | 16 ---------------- .../server/libglom/LayoutItemPortalDeepCloneTest.java | 3 +++ 5 files changed, 18 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index b3baf38..cce9609 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2012-05-23 Murray Cumming + + Remove LayoutItemPortal.get/setNavigationTable(). + + * src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java: + Remove get/setNavigationTable(), which is only a cache, because it is not + used, and does not need to be used, because that decision should be made on + the server. + * src/main/java/org/glom/web/server/ConfiguredDocument.java: + updatePortalsExtras(): + * src/main/java/org/glom/web/server/database/RelatedListNavigation.java: + getNavigationRecord(): + * src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java: + Adapted. + 2012-05-21 Murray Cumming Initial self-hosting for tests. diff --git a/src/main/java/org/glom/web/server/ConfiguredDocument.java b/src/main/java/org/glom/web/server/ConfiguredDocument.java index ced08bf..fe5fe1f 100644 --- a/src/main/java/org/glom/web/server/ConfiguredDocument.java +++ b/src/main/java/org/glom/web/server/ConfiguredDocument.java @@ -47,7 +47,6 @@ import org.glom.web.shared.libglom.layout.LayoutGroup; import org.glom.web.shared.libglom.layout.LayoutItem; import org.glom.web.shared.libglom.layout.LayoutItemField; import org.glom.web.shared.libglom.layout.LayoutItemPortal; -import org.glom.web.shared.libglom.layout.TableToViewDetails; import org.glom.web.shared.libglom.layout.UsesRelationship; import com.mchange.v2.c3p0.ComboPooledDataSource; @@ -614,14 +613,6 @@ final class ConfiguredDocument { // layoutItemPortal.setTableName(relationship.get_from_table()); // layoutItemPortal.setFromField(relationship.get_from_field()); - // Set whether the related list will need to show the navigation buttons, - // (null table name string if not) and what table to navigation to. - // This was ported from Glom: Box_Data_Portal::get_has_suitable_record_to_view_details() - final TableToViewDetails viewDetails = document.getPortalSuitableTableToViewDetails(portal); - if (viewDetails != null) { - portal.setNavigationTable(viewDetails); - } - // get the primary key for the related list table final String toTableName = relationship.getToTable(); if (!StringUtils.isEmpty(toTableName)) { diff --git a/src/main/java/org/glom/web/server/database/RelatedListNavigation.java b/src/main/java/org/glom/web/server/database/RelatedListNavigation.java index b8851b7..2a27c6d 100644 --- a/src/main/java/org/glom/web/server/database/RelatedListNavigation.java +++ b/src/main/java/org/glom/web/server/database/RelatedListNavigation.java @@ -80,9 +80,6 @@ public class RelatedListNavigation extends DBAccess { return null; } - // TODO: For some reason, LayoutItemPortal.navigationTable is null after using deepCopy(), - // so we can't use our cache: - // final TableToViewDetails navigationTable = portal.getNavigationTable(); final TableToViewDetails navigationTable = document.getPortalSuitableTableToViewDetails(portal); if (navigationTable == null) { Log.error(documentID, tableName, diff --git a/src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java b/src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java index 7943410..4276150 100644 --- a/src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java +++ b/src/main/java/org/glom/web/shared/libglom/layout/LayoutItemPortal.java @@ -19,9 +19,6 @@ public class LayoutItemPortal extends LayoutGroup implements UsesRelationship { private NavigationType navigationType = NavigationType.NAVIGATION_AUTOMATIC; private UsesRelationship navigationRelationshipSpecific = null; - // Extras: - private TableToViewDetails navigationTable = null; // If any. - /** * @return */ @@ -162,19 +159,6 @@ public class LayoutItemPortal extends LayoutGroup implements UsesRelationship { navigationType = NavigationType.NAVIGATION_SPECIFIC; } - /** - * Whether the UI should show a navigation button. TODO: Remove this? - * - * @param b - */ - public void setNavigationTable(final TableToViewDetails viewDetails) { - this.navigationTable = viewDetails; - } - - public TableToViewDetails getNavigationTable() { - return navigationTable; - } - /* * (non-Javadoc) * diff --git a/src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java b/src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java index 35a32d1..7dfd2a5 100644 --- a/src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java +++ b/src/test/java/org/glom/web/server/libglom/LayoutItemPortalDeepCloneTest.java @@ -41,6 +41,8 @@ public class LayoutItemPortalDeepCloneTest { final LayoutItemPortal portal = new LayoutItemPortal(); final TableToViewDetails viewDetails = new TableToViewDetails(); final String testTableName = "sometable"; + + /* TODO: Test something else instead now that we have removed this API: viewDetails.tableName = testTableName; viewDetails.usesRelationship = new UsesRelationshipImpl(); portal.setNavigationTable(viewDetails); @@ -51,5 +53,6 @@ public class LayoutItemPortalDeepCloneTest { assertTrue(cloneViewDetails != null); assertEquals(cloneViewDetails.tableName, testTableName); assertTrue(cloneViewDetails.usesRelationship != null); + */ } } -- 2.1.4