From: Aron Roberts Date: Thu, 28 Mar 2013 00:46:40 +0000 (-0700) Subject: CSPACE-5943: Obtain the name of the relevant termgroup table in the database via... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=5eab7d9564f40aadb516bc604dafc865a31ce7da;p=tmp%2Fjakarta-migration.git CSPACE-5943: Obtain the name of the relevant termgroup table in the database via a convention-based method. --- 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(); - } + }