public void setName(String name) { if (name != null && StringUtils.isBlank(name) && StringUtils.isNotBlank(this.name) && this.getConceptNameType().equals(ConceptNameType.SHORT)) { this.setVoided(true); } else { this.name = name; } }
for (ConceptName changedName : changedConceptNames) { changedName.setVoided(true); changedName.setDateVoided(new Date()); changedName.setVoidedBy(Context.getAuthenticatedUser());
: null); conceptName.setLocalePreferred(rs.getBoolean("locale_preferred")); conceptName.setVoided(false);
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.BaseDelegatingResource#delete(java.lang.Object, * java.lang.String, org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public void delete(ConceptName cn, String reason, RequestContext context) throws ResponseException { cn.setVoided(true); cn.setVoidedBy(Context.getAuthenticatedUser()); cn.setVoidReason(reason); cn.setDateVoided(new Date()); Context.getConceptService().saveConcept(cn.getConcept()); }
/** * @see Concept#getNames(Locale) */ @Test public void getNamesLocale_shouldReturnNonVoidedConceptName() { Locale localeToSearch = new Locale("en"); Concept concept = new Concept(); ConceptName conceptName = new ConceptName("some name", localeToSearch); conceptName.setVoided(true); concept.addName(conceptName); Collection<ConceptName> cns = concept.getNames(localeToSearch); Assert.assertEquals(cns.size(), 0); }
/** * @see Concept#getNames() */ @Test public void getNames_shouldNotReturnVoidedConceptName() { Locale localeToSearch = new Locale("en"); Concept concept = new Concept(); ConceptName conceptName = new ConceptName("some name", localeToSearch); conceptName.setVoided(true); concept.addName(conceptName); Collection<ConceptName> cns = concept.getNames(); Assert.assertNotNull(cns); Assert.assertEquals(cns.size(), 0); }
/** * @see Concept#getNames(Boolean) */ @Test public void getNamesBoolean_shouldNotReturnVoidedConceptName() { Locale localeToSearch = new Locale("en"); Concept concept = new Concept(); ConceptName conceptName = new ConceptName("some name", localeToSearch); conceptName.setVoided(true); concept.addName(conceptName); Collection<ConceptName> cns = concept.getNames(false); Assert.assertNotNull(cns); Assert.assertEquals(cns.size(), 0); cns = concept.getNames(true); Assert.assertEquals(cns.size(), 1); }
@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()); }