From 5eab7d9564f40aadb516bc604dafc865a31ce7da Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Wed, 27 Mar 2013 17:46:40 -0700 Subject: [PATCH] CSPACE-5943: Obtain the name of the relevant termgroup table in the database via a convention-based method. --- .../nuxeo/AuthorityItemDocumentModelHandler.java | 8 ++++++-- .../location/nuxeo/LocationDocumentModelHandler.java | 6 +----- .../services/person/nuxeo/PersonDocumentModelHandler.java | 6 +----- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java b/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java index 849466f5d..967661d9a 100644 --- a/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java +++ b/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java @@ -91,7 +91,7 @@ public abstract class AuthorityItemDocumentModelHandler protected String authorityRefNameBase = null; // Used to determine when the displayName changes as part of the update. protected String oldDisplayNameOnUpdate = null; - private String TERM_GROUP_TABLE_NAME_SUFFIX = "termgroup"; + private final static String LIST_SUFFIX = "List"; public AuthorityItemDocumentModelHandler(String authorityItemCommonSchemaName) { this.authorityItemCommonSchemaName = authorityItemCommonSchemaName; @@ -686,8 +686,12 @@ public abstract class AuthorityItemDocumentModelHandler return result; } + // By convention, the name of the database table that contains + // repeatable term information group records is derivable from + // an XPath base value by removing a suffix and converting to lowercase protected String getTermGroupTableName() { - return TERM_GROUP_TABLE_NAME_SUFFIX; + String termInfoGroupListName = getItemTermInfoGroupXPathBase(); + return termInfoGroupListName.substring(0, termInfoGroupListName.lastIndexOf(LIST_SUFFIX)).toLowerCase(); } @Override diff --git a/services/location/service/src/main/java/org/collectionspace/services/location/nuxeo/LocationDocumentModelHandler.java b/services/location/service/src/main/java/org/collectionspace/services/location/nuxeo/LocationDocumentModelHandler.java index a5bac79fb..7029d5dea 100644 --- a/services/location/service/src/main/java/org/collectionspace/services/location/nuxeo/LocationDocumentModelHandler.java +++ b/services/location/service/src/main/java/org/collectionspace/services/location/nuxeo/LocationDocumentModelHandler.java @@ -117,10 +117,6 @@ public class LocationDocumentModelHandler public String getQProperty(String prop) { return LocationConstants.NUXEO_SCHEMA_NAME + ":" + prop; } - - @Override - protected String getTermGroupTableName() { - return "loc" + super.getTermGroupTableName(); - } + } diff --git a/services/person/service/src/main/java/org/collectionspace/services/person/nuxeo/PersonDocumentModelHandler.java b/services/person/service/src/main/java/org/collectionspace/services/person/nuxeo/PersonDocumentModelHandler.java index 5219690c7..635fd4c46 100644 --- a/services/person/service/src/main/java/org/collectionspace/services/person/nuxeo/PersonDocumentModelHandler.java +++ b/services/person/service/src/main/java/org/collectionspace/services/person/nuxeo/PersonDocumentModelHandler.java @@ -175,10 +175,6 @@ public class PersonDocumentModelHandler public String getQProperty(String prop) { return PersonConstants.NUXEO_SCHEMA_NAME + ":" + prop; } - - @Override - protected String getTermGroupTableName() { - return "person" + super.getTermGroupTableName(); - } + } -- 2.47.3