From: Andreas Müller Date: Tue, 12 Jul 2022 18:52:00 +0000 (+0200) Subject: ref #10089 rename TypeDesignationWorkingSet to TypeDesignationSet in cdmlib X-Git-Tag: 5.32.0^2~220 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/262c0177a870d59970e6b7a7e3c002bd6a0bb574 ref #10089 rename TypeDesignationWorkingSet to TypeDesignationSet in cdmlib --- diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/name/NullTypeDesignationStatus.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/name/NullTypeDesignationStatus.java index ebfe71149c..b82da97610 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/name/NullTypeDesignationStatus.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/compare/name/NullTypeDesignationStatus.java @@ -13,7 +13,7 @@ import eu.etaxonomy.cdm.model.term.TermType; import eu.etaxonomy.cdm.model.term.TermVocabulary; /** - * NOTE: This class was moved here from TypeDesignationWorkingSet to allow to be used + * NOTE: This class was moved here from TypeDesignationSet to allow to be used * in model compare classes. * * @author a.kohlbecker diff --git a/cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/json/processor/value/MapJSONValueProcessor.java b/cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/json/processor/value/MapJSONValueProcessor.java index e1eb3a33f3..49b535fc73 100644 --- a/cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/json/processor/value/MapJSONValueProcessor.java +++ b/cdmlib-remote/src/main/java/eu/etaxonomy/cdm/remote/json/processor/value/MapJSONValueProcessor.java @@ -1,75 +1,75 @@ -/** -* Copyright (C) 2009 EDIT -* European Distributed Institute of Taxonomy -* http://www.e-taxonomy.eu -* -* The contents of this file are subject to the Mozilla Public License Version 1.1 -* See LICENSE.TXT at the top of this package for the full license terms. -*/ -package eu.etaxonomy.cdm.remote.json.processor.value; - -import java.util.Map; -import java.util.Objects; - -import eu.etaxonomy.cdm.api.service.l10n.TermRepresentation_L10n; -import eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet; -import eu.etaxonomy.cdm.model.common.LanguageString; -import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase; -import eu.etaxonomy.cdm.ref.TypedEntityReference; -import net.sf.json.JSONObject; -import net.sf.json.JsonConfig; -import net.sf.json.processors.JsonValueProcessor; - -/** - * @author a.kohlbecker - * @since 23.06.2010 - * - */ -public class MapJSONValueProcessor implements JsonValueProcessor { - - - @Override - public Object processArrayValue(Object value, JsonConfig jsonConfig) { - - if(value instanceof TypeDesignationWorkingSet){ - TypeDesignationWorkingSet map = (TypeDesignationWorkingSet)value; - JSONObject json = new JSONObject(); - for(TypeDesignationStatusBase key : map.keySet()){ - TermRepresentation_L10n term_L10n = new TermRepresentation_L10n(key, false); - String label = Objects.toString(term_L10n.getLabel(), "NULL"); - json.element(label, map.get(key), jsonConfig); - } - return json; - } else if(value instanceof Map){ - Map map= (Map)value; - if( ! map.isEmpty()){ - JSONObject json = new JSONObject(); - if(map.keySet().iterator().next() instanceof TypedEntityReference){ - for(Object key : map.keySet()){ - json.element(key.toString(), map.get(key), jsonConfig); - } - } else { - for (Object val : map.values()){ - if(val instanceof LanguageString){ - json.element(((LanguageString)val).getLanguageLabel(), val, jsonConfig); - } else { - return JSONObject.fromObject(value, jsonConfig); - } - } - } - return json; - } - } - return JSONObject.fromObject(value, jsonConfig); - } - - /* (non-Javadoc) - * @see net.sf.json.processors.JsonValueProcessor#processObjectValue(java.lang.String, java.lang.Object, net.sf.json.JsonConfig) - */ - @Override - public Object processObjectValue(String key, Object value, - JsonConfig jsonConfig) { - return processArrayValue(value, jsonConfig); - } - -} +/** +* Copyright (C) 2009 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.remote.json.processor.value; + +import java.util.Map; +import java.util.Objects; + +import eu.etaxonomy.cdm.api.service.l10n.TermRepresentation_L10n; +import eu.etaxonomy.cdm.api.service.name.TypeDesignationSet; +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase; +import eu.etaxonomy.cdm.ref.TypedEntityReference; +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; +import net.sf.json.processors.JsonValueProcessor; + +/** + * @author a.kohlbecker + * @since 23.06.2010 + * + */ +public class MapJSONValueProcessor implements JsonValueProcessor { + + + @Override + public Object processArrayValue(Object value, JsonConfig jsonConfig) { + + if(value instanceof TypeDesignationSet){ + TypeDesignationSet map = (TypeDesignationSet)value; + JSONObject json = new JSONObject(); + for(TypeDesignationStatusBase key : map.keySet()){ + TermRepresentation_L10n term_L10n = new TermRepresentation_L10n(key, false); + String label = Objects.toString(term_L10n.getLabel(), "NULL"); + json.element(label, map.get(key), jsonConfig); + } + return json; + } else if(value instanceof Map){ + Map map= (Map)value; + if( ! map.isEmpty()){ + JSONObject json = new JSONObject(); + if(map.keySet().iterator().next() instanceof TypedEntityReference){ + for(Object key : map.keySet()){ + json.element(key.toString(), map.get(key), jsonConfig); + } + } else { + for (Object val : map.values()){ + if(val instanceof LanguageString){ + json.element(((LanguageString)val).getLanguageLabel(), val, jsonConfig); + } else { + return JSONObject.fromObject(value, jsonConfig); + } + } + } + return json; + } + } + return JSONObject.fromObject(value, jsonConfig); + } + + /* (non-Javadoc) + * @see net.sf.json.processors.JsonValueProcessor#processObjectValue(java.lang.String, java.lang.Object, net.sf.json.JsonConfig) + */ + @Override + public Object processObjectValue(String key, Object value, + JsonConfig jsonConfig) { + return processArrayValue(value, jsonConfig); + } + +} diff --git a/cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/json/jsonConfigurations.xml b/cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/json/jsonConfigurations.xml index ae2b9e922b..20fa6b949b 100644 --- a/cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/json/jsonConfigurations.xml +++ b/cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/json/jsonConfigurations.xml @@ -238,7 +238,7 @@ - + @@ -535,7 +535,7 @@ - + diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/RegistrationDTO.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/RegistrationDTO.java index 4a2730e12d..3de43c8b48 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/RegistrationDTO.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/RegistrationDTO.java @@ -26,7 +26,7 @@ import eu.etaxonomy.cdm.api.service.exception.RegistrationValidationException; import eu.etaxonomy.cdm.api.service.name.TypeDesignationDTO; import eu.etaxonomy.cdm.api.service.name.TypeDesignationSetFormatter; import eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager; -import eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet; +import eu.etaxonomy.cdm.api.service.name.TypeDesignationSet; import eu.etaxonomy.cdm.format.reference.NomenclaturalSourceFormatter; import eu.etaxonomy.cdm.model.common.VerbatimTimePeriod; import eu.etaxonomy.cdm.model.common.VersionableEntity; @@ -258,17 +258,17 @@ public class RegistrationDTO { return name; } - public Map getOrderedTypeDesignationWorkingSets() { - return typeDesignationManager != null ? typeDesignationManager.getOrderedTypeDesignationWorkingSets() : null; + public Map getOrderedTypeDesignationSets() { + return typeDesignationManager != null ? typeDesignationManager.getOrderedTypeDesignationSets() : null; } - public TypeDesignationWorkingSet getTypeDesignationWorkingSet(VersionableEntity baseEntity) { - return typeDesignationManager != null ? typeDesignationManager.getOrderedTypeDesignationWorkingSets().get(baseEntity) : null; + public TypeDesignationSet getTypeDesignationSet(VersionableEntity baseEntity) { + return typeDesignationManager != null ? typeDesignationManager.getOrderedTypeDesignationSets().get(baseEntity) : null; } public Set getTypeDesignationsInWorkingSet(VersionableEntity baseEntity) { Set typeDesignations = new HashSet<>(); - TypeDesignationWorkingSet workingSet = getTypeDesignationWorkingSet(baseEntity); + TypeDesignationSet workingSet = getTypeDesignationSet(baseEntity); for(TypeDesignationDTO ref : workingSet.getTypeDesignations()){ typeDesignations.add(findTypeDesignation(ref)); } diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationWorkingSet.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSet.java similarity index 84% rename from cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationWorkingSet.java rename to cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSet.java index 589e84fa75..75058dac45 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationWorkingSet.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSet.java @@ -21,19 +21,21 @@ import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; /** - * TypeDesignations which refer to the same FieldUnit (SpecimenTypeDesignation) or TaxonName - * (NameTypeDesignation) form a working set. The TypeDesignationWorkingSet internally - * works with EnityReferences to the actual TypeDesignations. + * TypeDesignations which refer to the same base entity (e.g. FieldUnit for SpecimenTypeDesignations + * or TaxonName/NameTypeDesignation for NameTypeDesignation form a type designation set. + * The TypeDesignationSet internally stores the entity base + * and an ordered map that maps type status (TypeDesignationStatusBase) to the type designations + * in the TypeDesignationSet. * - * The EntityReferences for TypeDesignations are grouped by the according TypeDesignationStatus. * The TypeDesignationStatusBase keys can be ordered by the term order defined in the vocabulary. * - * A workingset can be referenced by the baseEntityReference. + * A typeDesignationSet can be referenced by the baseEntity. * * @author a.kohlbecker + * @author a.mueller * @since Mar 10, 2017 */ -public class TypeDesignationWorkingSet { +public class TypeDesignationSet { public static final NullTypeDesignationStatus NULL_STATUS = NullTypeDesignationStatus.SINGLETON(); @@ -43,17 +45,16 @@ public class TypeDesignationWorkingSet { private LinkedHashMap,Collection> designationByStatusMap = new LinkedHashMap<>(); - - public enum TypeDesignationWorkingSetType { - SPECIMEN_TYPE_DESIGNATION_WORKINGSET, - NAME_TYPE_DESIGNATION_WORKINGSET; - boolean isSpecimenType(){return this == SPECIMEN_TYPE_DESIGNATION_WORKINGSET;} - boolean isNameType(){return this == NAME_TYPE_DESIGNATION_WORKINGSET;} + public enum TypeDesignationSetType { + SPECIMEN_TYPE_DESIGNATION_SET, + NAME_TYPE_DESIGNATION_SET; + boolean isSpecimenType(){return this == SPECIMEN_TYPE_DESIGNATION_SET;} + boolean isNameType(){return this == NAME_TYPE_DESIGNATION_SET;} } // ********************************* CONSTRUCTOR **************************/ - public TypeDesignationWorkingSet(VersionableEntity baseEntity) { + public TypeDesignationSet(VersionableEntity baseEntity) { this.baseEntity = baseEntity; } @@ -128,8 +129,8 @@ public class TypeDesignationWorkingSet { return SpecimenOrObservationBase.class.isAssignableFrom(baseEntity.getClass()); } - public TypeDesignationWorkingSetType getWorkingsetType() { - return isSpecimenTypeDesigationWorkingSet() ? TypeDesignationWorkingSetType.SPECIMEN_TYPE_DESIGNATION_WORKINGSET : TypeDesignationWorkingSetType.NAME_TYPE_DESIGNATION_WORKINGSET; + public TypeDesignationSetType getWorkingsetType() { + return isSpecimenTypeDesigationWorkingSet() ? TypeDesignationSetType.SPECIMEN_TYPE_DESIGNATION_SET : TypeDesignationSetType.NAME_TYPE_DESIGNATION_SET; } /** diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetFormatter.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetFormatter.java index 35b5e63b23..76b8863dcd 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetFormatter.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetFormatter.java @@ -16,7 +16,7 @@ import java.util.UUID; import org.apache.commons.lang3.StringUtils; -import eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet.TypeDesignationWorkingSetType; +import eu.etaxonomy.cdm.api.service.name.TypeDesignationSet.TypeDesignationSetType; import eu.etaxonomy.cdm.common.CdmUtils; import eu.etaxonomy.cdm.common.UTF8; import eu.etaxonomy.cdm.format.reference.OriginalSourceFormatter; @@ -107,9 +107,9 @@ public class TypeDesignationSetFormatter { } int typeSetCount = 0; - Map orderedByTypesByBaseEntity - = manager.getOrderedTypeDesignationWorkingSets(); - TypeDesignationWorkingSetType lastWsType = null; + Map orderedByTypesByBaseEntity + = manager.getOrderedTypeDesignationSets(); + TypeDesignationSetType lastWsType = null; if (orderedByTypesByBaseEntity != null){ for(VersionableEntity baseEntity : orderedByTypesByBaseEntity.keySet()) { buildTaggedTextForSingleTypeSet(manager, withBrackets, finalBuilder, @@ -122,11 +122,11 @@ public class TypeDesignationSetFormatter { } private void buildTaggedTextForSingleTypeSet(TypeDesignationSetManager manager, boolean withBrackets, - TaggedTextBuilder finalBuilder, int typeSetCount, VersionableEntity baseEntity, TypeDesignationWorkingSetType lastWsType) { + TaggedTextBuilder finalBuilder, int typeSetCount, VersionableEntity baseEntity, TypeDesignationSetType lastWsType) { - Map - orderedByTypesByBaseEntity = manager.getOrderedTypeDesignationWorkingSets(); - TypeDesignationWorkingSet typeDesignationWorkingSet = orderedByTypesByBaseEntity.get(baseEntity); + Map + orderedByTypesByBaseEntity = manager.getOrderedTypeDesignationSets(); + TypeDesignationSet typeDesignationSet = orderedByTypesByBaseEntity.get(baseEntity); TaggedTextBuilder workingsetBuilder = new TaggedTextBuilder(); if(typeSetCount > 0){ @@ -136,16 +136,16 @@ public class TypeDesignationSetFormatter { //name types separately, but this is such a rare case (if at all) and //increases complexity so it is not yet implemented boolean isPlural = hasMultipleTypes(orderedByTypesByBaseEntity); - if(typeDesignationWorkingSet.getWorkingsetType().isSpecimenType()){ + if(typeDesignationSet.getWorkingsetType().isSpecimenType()){ workingsetBuilder.add(TagEnum.label, (isPlural? "Types:": "Type:")); - } else if (typeDesignationWorkingSet.getWorkingsetType().isNameType()){ + } else if (typeDesignationSet.getWorkingsetType().isNameType()){ workingsetBuilder.add(TagEnum.label, (isPlural? "Nametypes:": "Nametype:")); } else { //do nothing for now } } - boolean hasExplicitBaseEntity = hasExplicitBaseEntity(baseEntity, typeDesignationWorkingSet); + boolean hasExplicitBaseEntity = hasExplicitBaseEntity(baseEntity, typeDesignationSet); if(hasExplicitBaseEntity && !entityLabel(baseEntity).isEmpty()){ workingsetBuilder.add(TagEnum.specimenOrObservation, entityLabel(baseEntity), baseEntity); } @@ -153,15 +153,15 @@ public class TypeDesignationSetFormatter { if (withBrackets && hasExplicitBaseEntity){ workingsetBuilder.add(TagEnum.separator, TYPE_STATUS_PARENTHESIS_LEFT); } - for(TypeDesignationStatusBase typeStatus : typeDesignationWorkingSet.keySet()) { + for(TypeDesignationStatusBase typeStatus : typeDesignationSet.keySet()) { typeStatusCount = buildTaggedTextForSingleTypeStatus(manager, workingsetBuilder, - typeDesignationWorkingSet, typeStatusCount, typeStatus, + typeDesignationSet, typeStatusCount, typeStatus, lastWsType, typeSetCount); } if (withBrackets && hasExplicitBaseEntity){ workingsetBuilder.add(TagEnum.separator, TYPE_STATUS_PARENTHESIS_RIGHT); } - typeDesignationWorkingSet.setRepresentation(workingsetBuilder.toString()); + typeDesignationSet.setRepresentation(workingsetBuilder.toString()); finalBuilder.addAll(workingsetBuilder); return; } @@ -170,12 +170,12 @@ public class TypeDesignationSetFormatter { * Checks if the baseType is the same as the (only?) type in the type designation workingset. */ private boolean hasExplicitBaseEntity(VersionableEntity baseEntity, - TypeDesignationWorkingSet typeDesignationWorkingSet) { - if (!typeDesignationWorkingSet.isSpecimenWorkingSet()){ + TypeDesignationSet typeDesignationSet) { + if (!typeDesignationSet.isSpecimenWorkingSet()){ return false; //name type designations are not handled here }else{ UUID baseUuid = baseEntity.getUuid(); - for (TypeDesignationDTO dto: typeDesignationWorkingSet.getTypeDesignations()){ + for (TypeDesignationDTO dto: typeDesignationSet.getTypeDesignations()){ if (!baseUuid.equals(dto.getTypeUuid())){ return true; } @@ -185,25 +185,25 @@ public class TypeDesignationSetFormatter { } private int buildTaggedTextForSingleTypeStatus(TypeDesignationSetManager manager, - TaggedTextBuilder workingsetBuilder, TypeDesignationWorkingSet typeDesignationWorkingSet, + TaggedTextBuilder workingsetBuilder, TypeDesignationSet typeDesignationSet, int typeStatusCount, TypeDesignationStatusBase typeStatus, - TypeDesignationWorkingSetType lastWsType, int typeSetCount) { + TypeDesignationSetType lastWsType, int typeSetCount) { //starting separator if(typeStatusCount++ > 0){ workingsetBuilder.add(TagEnum.separator, TYPE_STATUS_SEPARATOR); } - boolean isPlural = typeDesignationWorkingSet.get(typeStatus).size() > 1; + boolean isPlural = typeDesignationSet.get(typeStatus).size() > 1; String label = null; - if(typeStatus != TypeDesignationWorkingSet.NULL_STATUS){ + if(typeStatus != TypeDesignationSet.NULL_STATUS){ label = typeStatus.getLabel(); - }else if (typeDesignationWorkingSet.getWorkingsetType() != lastWsType + }else if (typeDesignationSet.getWorkingsetType() != lastWsType && (workingsetBuilder.size() > 0 && typeSetCount > 0)){ //only for the first name type (coming after a specimen type add the label (extremely rare case, if at all existing) - if (typeDesignationWorkingSet.getWorkingsetType().isNameType()) { + if (typeDesignationSet.getWorkingsetType().isNameType()) { label = "nametype"; - }else if (typeDesignationWorkingSet.getWorkingsetType().isSpecimenType()) { + }else if (typeDesignationSet.getWorkingsetType().isSpecimenType()) { label = "type"; } } @@ -218,7 +218,7 @@ public class TypeDesignationSetFormatter { //designation + sources int typeDesignationCount = 0; - for(TypeDesignationDTO typeDesignationDTO : createSortedList(typeDesignationWorkingSet, typeStatus)) { + for(TypeDesignationDTO typeDesignationDTO : createSortedList(typeDesignationSet, typeStatus)) { TypeDesignationBase typeDes = manager.findTypeDesignation(typeDesignationDTO.getUuid()); typeDesignationCount = buildTaggedTextForSingleType(typeDes, withCitation, @@ -279,9 +279,9 @@ public class TypeDesignationSetFormatter { } private List createSortedList( - TypeDesignationWorkingSet typeDesignationWorkingSet, TypeDesignationStatusBase typeStatus) { + TypeDesignationSet typeDesignationSet, TypeDesignationStatusBase typeStatus) { - List typeDesignationDTOs = new ArrayList<>(typeDesignationWorkingSet.get(typeStatus)); + List typeDesignationDTOs = new ArrayList<>(typeDesignationSet.get(typeStatus)); Collections.sort(typeDesignationDTOs); return typeDesignationDTOs; } @@ -291,13 +291,13 @@ public class TypeDesignationSetFormatter { * or if it has a single working set but this workingset has multiple type designations. */ private boolean hasMultipleTypes( - Map typeWorkingSets) { + Map typeWorkingSets) { if (typeWorkingSets == null || typeWorkingSets.isEmpty()){ return false; }else if (typeWorkingSets.keySet().size() > 1) { return true; } - TypeDesignationWorkingSet singleSet = typeWorkingSets.values().iterator().next(); + TypeDesignationSet singleSet = typeWorkingSets.values().iterator().next(); return singleSet.getTypeDesignations().size() > 1; } diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManager.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManager.java index 5095b67833..00b2cde844 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManager.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManager.java @@ -23,7 +23,7 @@ import java.util.Set; import java.util.UUID; import eu.etaxonomy.cdm.api.service.exception.RegistrationValidationException; -import eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet.TypeDesignationWorkingSetType; +import eu.etaxonomy.cdm.api.service.name.TypeDesignationSet.TypeDesignationSetType; import eu.etaxonomy.cdm.compare.name.NullTypeDesignationStatus; import eu.etaxonomy.cdm.compare.name.TypeDesignationStatusComparator; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; @@ -52,10 +52,10 @@ import eu.etaxonomy.cdm.strategy.cache.TaggedTextBuilder; * if the former is missing. The type designations per base type are furthermore ordered by the {@link TypeDesignationStatusBase}. * * The TypeDesignationSetManager also provides string representations of the whole ordered set of all - * {@link TypeDesignationBase TypeDesignations} and of the TypeDesignationWorkingSets: + * {@link TypeDesignationBase TypeDesignations} and of the TypeDesignationSets: *
    *
  • {@link #print()} - *
  • {@link #getOrderedTypeDesignationWorkingSets()} ... {@link TypeDesignationWorkingSet#getLabel()} + *
  • {@link #getOrderedTypeDesignationSets()} ... {@link TypeDesignationSet#getLabel()} *
* Prior using the representations you need to trigger their generation by calling {@link #buildString()} * @@ -87,14 +87,14 @@ public class TypeDesignationSetManager { * * {@inheritDoc} */ - private Comparator> entryComparator = (o1,o2)->{ + private Comparator> entryComparator = (o1,o2)->{ - TypeDesignationWorkingSet ws1 = o1.getValue(); - TypeDesignationWorkingSet ws2 = o2.getValue(); + TypeDesignationSet ws1 = o1.getValue(); + TypeDesignationSet ws2 = o2.getValue(); if (ws1.getWorkingsetType() != ws2.getWorkingsetType()){ //first specimen types, then name types (very rare case anyway) - return ws1.getWorkingsetType() == TypeDesignationWorkingSetType.NAME_TYPE_DESIGNATION_WORKINGSET? 1:-1; + return ws1.getWorkingsetType() == TypeDesignationSetType.NAME_TYPE_DESIGNATION_SET? 1:-1; } boolean hasStatus1 = !ws1.keySet().contains(null) && !ws1.keySet().contains(NullTypeDesignationStatus.SINGLETON()); @@ -129,7 +129,7 @@ public class TypeDesignationSetManager { * Groups the EntityReferences for each of the TypeDesignations by the according TypeDesignationStatus. * The TypeDesignationStatusBase keys are already ordered by the term order defined in the vocabulary. */ - private LinkedHashMap orderedByTypesByBaseEntity; + private LinkedHashMap orderedByTypesByBaseEntity; private List problems = new ArrayList<>(); @@ -205,12 +205,12 @@ public class TypeDesignationSetManager { */ protected void mapAndSort() { - Map byBaseEntityByTypeStatus = new HashMap<>(); + Map byBaseEntityByTypeStatus = new HashMap<>(); this.typeDesignations.values().forEach(td -> mapTypeDesignation(byBaseEntityByTypeStatus, td)); orderedByTypesByBaseEntity = orderByTypeByBaseEntity(byBaseEntityByTypeStatus); } - private void mapTypeDesignation(Map byBaseEntityByTypeStatus, + private void mapTypeDesignation(Map byBaseEntityByTypeStatus, TypeDesignationBase td){ td = HibernateProxyHelper.deproxy(td); @@ -233,7 +233,7 @@ public class TypeDesignationSetManager { getTypeUuid(td)); if(!byBaseEntityByTypeStatus.containsKey(baseEntity)){ - byBaseEntityByTypeStatus.put(baseEntity, new TypeDesignationWorkingSet(baseEntity)); + byBaseEntityByTypeStatus.put(baseEntity, new TypeDesignationSet(baseEntity)); } byBaseEntityByTypeStatus.get(baseEntity).insert(status, typeDesignationDTO); @@ -296,30 +296,30 @@ public class TypeDesignationSetManager { return baseEntityReference; } - private LinkedHashMap orderByTypeByBaseEntity( - Map stringsByTypeByBaseEntity){ + private LinkedHashMap orderByTypeByBaseEntity( + Map stringsByTypeByBaseEntity){ // order the FieldUnit TypeName keys - Set> entrySet + Set> entrySet = stringsByTypeByBaseEntity.entrySet(); - LinkedList> baseEntityKeyList + LinkedList> baseEntityKeyList = new LinkedList<>(entrySet); Collections.sort(baseEntityKeyList, entryComparator); // new LinkedHashMap for the ordered FieldUnitOrTypeName keys - LinkedHashMap stringsOrderedbyBaseEntityOrderdByType + LinkedHashMap stringsOrderedbyBaseEntityOrderdByType = new LinkedHashMap<>(stringsByTypeByBaseEntity.size()); - for(Entry entry : baseEntityKeyList){ + for(Entry entry : baseEntityKeyList){ VersionableEntity baseEntity = entry.getKey(); - TypeDesignationWorkingSet typeDesignationWorkingSet = stringsByTypeByBaseEntity.get(baseEntity); + TypeDesignationSet typeDesignationSet = stringsByTypeByBaseEntity.get(baseEntity); // order the TypeDesignationStatusBase keys - List> keyList = new LinkedList<>(typeDesignationWorkingSet.keySet()); + List> keyList = new LinkedList<>(typeDesignationSet.keySet()); Collections.sort(keyList, new TypeDesignationStatusComparator()); // new LinkedHashMap for the ordered TypeDesignationStatusBase keys - TypeDesignationWorkingSet orderedStringsByOrderedTypes = new TypeDesignationWorkingSet( - typeDesignationWorkingSet.getBaseEntity()); - keyList.forEach(key -> orderedStringsByOrderedTypes.put(key, typeDesignationWorkingSet.get(key))); + TypeDesignationSet orderedStringsByOrderedTypes = new TypeDesignationSet( + typeDesignationSet.getBaseEntity()); + keyList.forEach(key -> orderedStringsByOrderedTypes.put(key, typeDesignationSet.get(key))); stringsOrderedbyBaseEntityOrderdByType.put(baseEntity, orderedStringsByOrderedTypes); } @@ -399,7 +399,7 @@ public class TypeDesignationSetManager { return this.typeDesignations.get(uuid); } - public Map getOrderedTypeDesignationWorkingSets() { + public Map getOrderedTypeDesignationSets() { return orderedByTypesByBaseEntity; } diff --git a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManagerTest.java b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManagerTest.java index 22447be89b..f29e39c213 100755 --- a/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManagerTest.java +++ b/cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/name/TypeDesignationSetManagerTest.java @@ -212,9 +212,9 @@ public class TypeDesignationSetManagerTest extends TermTestBase{ , result ); - Map orderedTypeDesignations = - typeDesignationManager.getOrderedTypeDesignationWorkingSets(); - Iterator byStatusMapIterator = orderedTypeDesignations.values().iterator(); + Map orderedTypeDesignations = + typeDesignationManager.getOrderedTypeDesignationSets(); + Iterator byStatusMapIterator = orderedTypeDesignations.values().iterator(); Iterator> keyIt_1 = byStatusMapIterator.next().keySet().iterator(); Iterator> keyIt_2 = byStatusMapIterator.next().keySet().iterator(); assertEquals("isotype", keyIt_1.next().getLabel());