From cf48bbd26475e5f015a04d6e2826a9628714f2ec Mon Sep 17 00:00:00 2001 From: Richard Millet Date: Fri, 24 Aug 2018 17:23:44 -0700 Subject: [PATCH] NOJIRA: Adding support to auto-init Place authority terms. --- .../client/CitationAuthorityClientUtils.java | 22 ++++-------- .../services/client/PlaceAuthorityClient.java | 11 +++--- .../client/PlaceAuthorityClientUtils.java | 34 +++++++++++++++---- 3 files changed, 41 insertions(+), 26 deletions(-) diff --git a/services/citation/client/src/main/java/org/collectionspace/services/client/CitationAuthorityClientUtils.java b/services/citation/client/src/main/java/org/collectionspace/services/client/CitationAuthorityClientUtils.java index 3a1b1e668..64271a069 100644 --- a/services/citation/client/src/main/java/org/collectionspace/services/client/CitationAuthorityClientUtils.java +++ b/services/citation/client/src/main/java/org/collectionspace/services/client/CitationAuthorityClientUtils.java @@ -158,18 +158,6 @@ public class CitationAuthorityClientUtils { requestType.validStatusCodesAsString(); } - public static List getTermGroupInstance(String identifier) { - if (Tools.isBlank(identifier)) { - identifier = getGeneratedIdentifier(); - } - List terms = new ArrayList(); - CitationTermGroup term = new CitationTermGroup(); - term.setTermDisplayName(identifier); - term.setTermName(identifier); - terms.add(term); - return terms; - } - private static String getGeneratedIdentifier() { return "id" + new Date().getTime(); } @@ -183,10 +171,10 @@ public class CitationAuthorityClientUtils { final Map> EMPTY_CITATION_REPEATABLES_INFO = new HashMap>(); - return createCitationInstance(null, citationInfo, terms, EMPTY_CITATION_REPEATABLES_INFO, serviceItemCommonPartName); + return createCitationInstance(citationInfo, terms, EMPTY_CITATION_REPEATABLES_INFO, serviceItemCommonPartName); } - private static PoxPayloadOut createCitationInstance(Object object, Map citationInfo, + private static PoxPayloadOut createCitationInstance(Map citationInfo, List terms, Map> citationRepeatablesInfo, String serviceItemCommonPartName) { @@ -220,7 +208,7 @@ public class CitationAuthorityClientUtils { if (Tools.isBlank(shortIdentifier)) { shortIdentifier = getGeneratedIdentifier(); } - if (Tools.isBlank(shortIdentifier)) { + if (Tools.isBlank(displayName)) { displayName = shortIdentifier; } @@ -231,5 +219,9 @@ public class CitationAuthorityClientUtils { terms.add(term); return terms; } + + private static List getTermGroupInstance(String identifier) { + return getTermGroupInstance(identifier, null); + } } diff --git a/services/place/client/src/main/java/org/collectionspace/services/client/PlaceAuthorityClient.java b/services/place/client/src/main/java/org/collectionspace/services/client/PlaceAuthorityClient.java index 5723fbd71..140f2866d 100644 --- a/services/place/client/src/main/java/org/collectionspace/services/client/PlaceAuthorityClient.java +++ b/services/place/client/src/main/java/org/collectionspace/services/client/PlaceAuthorityClient.java @@ -88,9 +88,10 @@ public class PlaceAuthorityClient extends AuthorityClientImpl getTermGroupInstance(String identifier) { - if (Tools.isBlank(identifier)) { - identifier = getGeneratedIdentifier(); + private static List getTermGroupInstance(String shortIdentifier, String displayName) { + if (Tools.isBlank(shortIdentifier)) { + shortIdentifier = getGeneratedIdentifier(); } + if (Tools.isBlank(shortIdentifier)) { + displayName = shortIdentifier; + } + List terms = new ArrayList(); PlaceTermGroup term = new PlaceTermGroup(); - term.setTermDisplayName(identifier); - term.setTermName(identifier); + term.setTermDisplayName(displayName); + term.setTermName(shortIdentifier); terms.add(term); return terms; + } + + public static List getTermGroupInstance(String identifier) { + return getTermGroupInstance(identifier, null); } private static String getGeneratedIdentifier() { return "id" + new Date().getTime(); - } + } + + public static PoxPayloadOut createPlaceInstance(String shortIdentifier, String displayName, + String serviceItemCommonPartName) { + List terms = getTermGroupInstance(shortIdentifier, displayName); + + Map placeInfo = new HashMap(); + placeInfo.put(PlaceJAXBSchema.SHORT_IDENTIFIER, shortIdentifier); + + return createPlaceInstance(null, placeInfo, terms, serviceItemCommonPartName); + } } -- 2.47.3