From fca0ab492fe79645be6ae0aa40838fd228f0aaa2 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Wed, 14 Nov 2012 20:14:14 +0100 Subject: [PATCH] Document: Add and use public constants for layout names. * src/main/java/org/glom/web/server/libglom/Document.java: Make LAYOUT_NAME_DETAILS and LAYOUT_NAME_LIST public. * src/main/java/org/glom/web/server/ConfiguredDocument.java: * src/main/java/org/glom/web/server/database/DetailsDBAccess.java: * src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java: * src/test/java/org/glom/web/server/libglom/DocumentTest.java: Use them here instead of hard-coded the strings repeatedly. --- ChangeLog | 12 ++++++++++++ src/main/java/org/glom/web/server/ConfiguredDocument.java | 4 ++-- .../java/org/glom/web/server/database/DetailsDBAccess.java | 2 +- src/main/java/org/glom/web/server/libglom/Document.java | 4 ++-- .../glom/web/server/SelfHostConfiguredDocumentTest.java | 2 +- .../java/org/glom/web/server/libglom/DocumentTest.java | 14 +++++++------- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50453b1..70f91f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2012-11-14 Murray Cumming + + Document: Add and use public constants for layout names. + + * src/main/java/org/glom/web/server/libglom/Document.java: + Make LAYOUT_NAME_DETAILS and LAYOUT_NAME_LIST public. + * src/main/java/org/glom/web/server/ConfiguredDocument.java: + * src/main/java/org/glom/web/server/database/DetailsDBAccess.java: + * src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java: + * src/test/java/org/glom/web/server/libglom/DocumentTest.java: Use + them here instead of hard-coded the strings repeatedly. + 2012-11-13 Murray Cumming Document: Load static text and image items too. diff --git a/src/main/java/org/glom/web/server/ConfiguredDocument.java b/src/main/java/org/glom/web/server/ConfiguredDocument.java index b36ca82..0698ffe 100644 --- a/src/main/java/org/glom/web/server/ConfiguredDocument.java +++ b/src/main/java/org/glom/web/server/ConfiguredDocument.java @@ -360,7 +360,7 @@ final class ConfiguredDocument { return result; } - final List layoutGroupVec = document.getDataLayoutGroups("list", tableName); + final List layoutGroupVec = document.getDataLayoutGroups(Document.LAYOUT_NAME_LIST, tableName); final int listViewLayoutGroupSize = Utils.safeLongToInt(layoutGroupVec.size()); LayoutGroup libglomLayoutGroup = null; @@ -547,7 +547,7 @@ final class ConfiguredDocument { return result; } - final List listGroups = document.getDataLayoutGroups("details", tableName); + final List listGroups = document.getDataLayoutGroups(Document.LAYOUT_NAME_DETAILS, tableName); // Clone the group and change the clone, to discard unwanted information (such as translations) // and to store some information that we do not want to calculate on the client side. diff --git a/src/main/java/org/glom/web/server/database/DetailsDBAccess.java b/src/main/java/org/glom/web/server/database/DetailsDBAccess.java index 9510174..8db974d 100644 --- a/src/main/java/org/glom/web/server/database/DetailsDBAccess.java +++ b/src/main/java/org/glom/web/server/database/DetailsDBAccess.java @@ -49,7 +49,7 @@ public class DetailsDBAccess extends DBAccess { public DataItem[] getData(final TypedDataItem primaryKeyValue) { - final List fieldsToGet = getFieldsToShowForSQLQuery(document.getDataLayoutGroups("details", + final List fieldsToGet = getFieldsToShowForSQLQuery(document.getDataLayoutGroups(Document.LAYOUT_NAME_DETAILS, tableName)); if (fieldsToGet == null || fieldsToGet.size() <= 0) { diff --git a/src/main/java/org/glom/web/server/libglom/Document.java b/src/main/java/org/glom/web/server/libglom/Document.java index 96f1909..60e812a 100644 --- a/src/main/java/org/glom/web/server/libglom/Document.java +++ b/src/main/java/org/glom/web/server/libglom/Document.java @@ -175,8 +175,8 @@ public class Document { private static final String NODE_GROUPBY = "groupby"; private static final String NODE_SECONDARY_FIELDS = "secondary_fields"; private static final String ATTRIBUTE_USE_DEFAULT_FORMATTING = "use_default_formatting"; - private static final String LAYOUT_NAME_DETAILS = "details"; - private static final String LAYOUT_NAME_LIST = "list"; + public static final String LAYOUT_NAME_DETAILS = "details"; + public static final String LAYOUT_NAME_LIST = "list"; private static final String QUOTE_FOR_FILE_FORMAT = "\""; public void setFileURI(final String fileURI) { diff --git a/src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java b/src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java index d8132ce..da47803 100644 --- a/src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java +++ b/src/test/java/org/glom/web/server/SelfHostConfiguredDocumentTest.java @@ -195,7 +195,7 @@ public class SelfHostConfiguredDocumentTest { LayoutGroup layoutGroup = list.get(1); assertNotNull(layoutGroup); - assertEquals("details", layoutGroup.getName()); + assertEquals(Document.LAYOUT_NAME_DETAILS, layoutGroup.getName()); assertEquals("Details", layoutGroup.getTitle()); //We don't need to specify locale again. //assertEquals("Details", layoutGroup.getTitle(germanLocale)); } diff --git a/src/test/java/org/glom/web/server/libglom/DocumentTest.java b/src/test/java/org/glom/web/server/libglom/DocumentTest.java index 4f0e9e5..d03fb42 100644 --- a/src/test/java/org/glom/web/server/libglom/DocumentTest.java +++ b/src/test/java/org/glom/web/server/libglom/DocumentTest.java @@ -177,7 +177,7 @@ public class DocumentTest { final int[] layoutFieldSizes = { 7, 4, 3, 4 }; for (int i = 0; i < tables.length; i++) { - final List layoutList = document.getDataLayoutGroups("list", tables[i]); + final List layoutList = document.getDataLayoutGroups(Document.LAYOUT_NAME_LIST, tables[i]); assertTrue(!layoutList.isEmpty()); final List layoutItems = layoutList.get(0).getItems(); final List layoutFields = new ArrayList(); @@ -210,7 +210,7 @@ public class DocumentTest { for (int i = 0; i < tableNames.size(); i++) { final String table = tableNames.get(i); - final List layoutList = document.getDataLayoutGroups("list", table); + final List layoutList = document.getDataLayoutGroups(Document.LAYOUT_NAME_LIST, table); assertTrue(!layoutList.isEmpty()); final LayoutGroup firstgroup = layoutList.get(0); assertTrue(firstgroup != null); @@ -261,7 +261,7 @@ public class DocumentTest { @Test public void testUsesRelationshipMethods() { final String table = "albums"; - final List layoutList = document.getDataLayoutGroups("list", table); + final List layoutList = document.getDataLayoutGroups(Document.LAYOUT_NAME_LIST, table); final List layoutItems = layoutList.get(0).getItems(); String names = null, hasRelationshipNames = null, tablesUsed = null; @@ -300,11 +300,11 @@ public class DocumentTest { // This relies on specific details of the film manager details // view layout. I've included safety checks that will fail if the layout changes. - final List detailsLayout = filmManagerDocument.getDataLayoutGroups("details", "scenes"); + final List detailsLayout = filmManagerDocument.getDataLayoutGroups(Document.LAYOUT_NAME_DETAILS, "scenes"); assertEquals(3, detailsLayout.size()); LayoutGroup layoutGroup = detailsLayout.get(1); - assertEquals("details", layoutGroup.getName()); + assertEquals(Document.LAYOUT_NAME_DETAILS, layoutGroup.getName()); final List items = layoutGroup.getItems(); @@ -329,11 +329,11 @@ public class DocumentTest { // Get the "Scene Cast" related list portal. This relies on specific details of the film manager details // view layout. I've included safety checks that will fail if the layout changes. - final List detailsLayout = filmManagerDocument.getDataLayoutGroups("details", "scenes"); + final List detailsLayout = filmManagerDocument.getDataLayoutGroups(Document.LAYOUT_NAME_DETAILS, "scenes"); assertEquals(3, detailsLayout.size()); LayoutGroup layoutGroup = detailsLayout.get(1); - assertEquals("details", layoutGroup.getName()); + assertEquals(Document.LAYOUT_NAME_DETAILS, layoutGroup.getName()); assertEquals("Details", layoutGroup.getTitle(defaultLocale)); assertEquals("Details", layoutGroup.getTitle(germanLocale)); -- 2.1.4