if (ObjectUtils.nullSafeEquals(conceptName.isFullySpecifiedName(), true)) { return conceptName; if (ObjectUtils.nullSafeEquals(conceptName.isFullySpecifiedName(), true)) { Locale nameLocale = conceptName.getLocale(); if (locale.getLanguage().equals(nameLocale.getLanguage())) {
if (cn.isFullySpecifiedName()) { return cn;
if (nameInLocale.isFullySpecifiedName()) { if (!hasFullySpecifiedName) { hasFullySpecifiedName = true; if ((nameInLocale.isFullySpecifiedName() || nameInLocale.isPreferred()) && !isNameUniqueInLocale(connection, nameInLocale, conceptId)) { if (localeDuplicateNamesMap == null) { if (cn.isFullySpecifiedName()) { cn.setLocalePreferred(true); preferredNameForLocaleFound = true; reportUpdatedName(conceptName, "ConceptName with id " + conceptName.getConceptNameId() + " (" + conceptName.getName() + ") is no longer marked as preferred because it had no locale"); if (conceptName.isFullySpecifiedName() || conceptName.isShort()) { conceptName.setConceptNameType(null); reportUpdatedName(conceptName, "The name '" + conceptName.getName() + "' in locale '"
if (conceptName.isFullySpecifiedName() && conceptName.getLocale() != null) { ConceptName fullySpecName = getFullySpecifiedName(conceptName.getLocale()); if (fullySpecName != null) {
if (nameInLocale.isFullySpecifiedName()) { if (!hasFullySpecifiedName) { hasFullySpecifiedName = true;
/** * @see Concept#addName(ConceptName) */ @Test public void addName_shouldReplaceTheOldFullySpecifiedNameWithACurrentOne() { Concept concept = new Concept(); ConceptName oldFullySpecName = new ConceptName("some name", Context.getLocale()); concept.addName(oldFullySpecName); Assert.assertEquals(true, oldFullySpecName.isFullySpecifiedName()); ConceptName newFullySpecName = new ConceptName("new name", Context.getLocale()); newFullySpecName.setConceptNameType(ConceptNameType.FULLY_SPECIFIED); concept.addName(newFullySpecName); Assert.assertEquals(false, oldFullySpecName.isFullySpecifiedName()); Assert.assertEquals("new name", concept.getFullySpecifiedName(Context.getLocale()).getName()); }
@Test public void validate_shouldFailIfThereIsADuplicateUnretiredConceptNameInTheSameLocaleDifferentThanTheSystemLocale() { Context.setLocale(new Locale("pl")); Locale en = new Locale("en", "GB"); Concept concept = cd4Count; Assert.assertEquals(true, concept.getFullySpecifiedName(en).isFullySpecifiedName()); String duplicateName = concept.getFullySpecifiedName(en).getName(); Concept anotherConcept = weight; anotherConcept.getFullySpecifiedName(en).setName(duplicateName); Errors errors = new BindException(anotherConcept, "concept"); expectedException.expect(DuplicateConceptNameException.class); expectedException .expectMessage("'" + duplicateName + "' is a duplicate name in locale '" + en + "'"); validator.validate(concept, errors); validator.validate(anotherConcept, errors); }
@Test public void validate_shouldFailIfThereIsADuplicateUnretiredFullySpecifiedNameInTheSameLocale() { Context.setLocale(new Locale("en", "GB")); Assert.assertEquals(true, cd4Count.getFullySpecifiedName(Context.getLocale()).isFullySpecifiedName()); String duplicateName = cd4Count.getFullySpecifiedName(Context.getLocale()).getName(); Concept anotherConcept = weight; anotherConcept.getFullySpecifiedName(Context.getLocale()).setName(duplicateName); Errors errors = new BindException(anotherConcept, "concept"); expectedException.expect(DuplicateConceptNameException.class); expectedException .expectMessage("'" + duplicateName + "' is a duplicate name in locale '" + Context.getLocale() + "'"); validator.validate(anotherConcept, errors); }
@Test public void validate_shouldPassIfTheDuplicateNameInTheLocaleForTheConceptBeingValidatedIsVoided() { ConceptName otherName = conceptService.getConceptName(1439); //sanity check since names should only be unique amongst preferred and fully specified names Assert.assertTrue(otherName.isFullySpecifiedName() || otherName.isPreferred()); Assert.assertFalse(otherName.getVoided()); Assert.assertFalse(otherName.getConcept().getRetired()); //change to a duplicate name in the same locale ConceptName duplicateName = conceptService.getConceptName(2477); duplicateName.setName(otherName.getName()); Concept concept = duplicateName.getConcept(); concept.setPreferredName(duplicateName); //ensure that the name has been marked as preferred in its locale Assert.assertEquals(duplicateName, concept.getPreferredName(duplicateName.getLocale())); Assert.assertTrue(duplicateName.isPreferred()); duplicateName.setVoided(true); Errors errors = new BindException(concept, "concept"); validator.validate(concept, errors); Assert.assertFalse(errors.hasErrors()); }
for (ConceptName conceptname : concept.getNames()) { if (conceptname.getName().equalsIgnoreCase(name) && (conceptname.isPreferred() || conceptname.isFullySpecifiedName())) { isPreferredOrFullySpecified = true; break;