/** * @see org.openmrs.api.ConceptService#retireConcept(org.openmrs.Concept, java.lang.String) */ @Override public Concept retireConcept(Concept concept, String reason) throws APIException { if (!StringUtils.hasText(reason)) { throw new IllegalArgumentException(Context.getMessageSourceService().getMessage("general.voidReason.empty")); } // only do this if the concept isn't retired already if (!concept.getRetired()) { checkIfLocked(); concept.setRetired(true); concept.setRetireReason(reason); return dao.saveConcept(concept); } return concept; }
originalConcept.setDateChanged(date); originalConcept.setChangedBy(user); originalConcept.setRetired(true); originalConcept.setRetiredBy(user); originalConcept.setDateRetired(date);
/** * @see Concept#getAnswers() */ @Test public void getAnswers_shouldReturnRetiredIfTrue() { ConceptAnswer ca = new ConceptAnswer(new Concept(123)); Concept c = new Concept(); Assert.assertEquals(0, c.getAnswers(true).size()); ca.getAnswerConcept().setRetired(false);//set test condition explicitly c.addAnswer(ca); ConceptAnswer ca2 = new ConceptAnswer(new Concept(456)); ca2.getAnswerConcept().setRetired(true); c.addAnswer(ca2); Assert.assertEquals(2, c.getAnswers(true).size()); }
/** * @see Concept#getAnswers() */ @Test public void getAnswers_shouldReturnRetiredByDefault() { ConceptAnswer ca = new ConceptAnswer(new Concept(123)); Concept c = new Concept(); Assert.assertEquals(0, c.getAnswers().size()); ca.getAnswerConcept().setRetired(false);//set test condition explicitly c.addAnswer(ca); ConceptAnswer ca2 = new ConceptAnswer(new Concept(456)); ca2.getAnswerConcept().setRetired(true); c.addAnswer(ca2); Assert.assertEquals(2, c.getAnswers().size()); }
/** * @see Concept#getAnswers() */ @Test public void getAnswers_shouldNotReturnRetiredIfFalse() { ConceptAnswer ca = new ConceptAnswer(new Concept(123)); Concept c = new Concept(); Assert.assertEquals(0, c.getAnswers(false).size()); ca.getAnswerConcept().setRetired(false);//set test condition explicitly c.addAnswer(ca); ConceptAnswer ca2 = new ConceptAnswer(new Concept(456)); ca2.getAnswerConcept().setRetired(true); c.addAnswer(ca2); Assert.assertEquals(1, c.getAnswers(false).size()); }
/** * @see Concept#addSetMember(Concept) */ @Test public void addSetMember_shouldAppendConceptToExistingConceptSetHavingRetiredConcept() { Concept concept = new Concept(); Concept setMember1 = new Concept(1); setMember1.setRetired(true); concept.addSetMember(setMember1); Concept setMember2 = new Concept(2); concept.addSetMember(setMember2); Concept setMember3 = new Concept(3); concept.addSetMember(setMember3); assertThat(concept.getSetMembers(), hasItem(setMember1)); assertThat(concept.getSetMembers(), hasItem(setMember2)); assertThat(concept.getSetMembers(), hasItem(setMember3)); assertThat(concept.getSetMembers().size(), is(3)); } }
Concept c = new Concept(); Concept retiredConcept = new Concept(3); retiredConcept.setRetired(true); Concept retiredConcept2 = new Concept(0); retiredConcept2.setRetired(true); Concept retiredConcept3 = new Concept(0); retiredConcept3.setRetired(true); ConceptSet set0 = new ConceptSet(retiredConcept, 3.0); ConceptSet set1 = new ConceptSet(new Concept(1), 2.0);
@Test public void validate_shouldPassIfTheConceptWithADuplicateNameIsRetired() { Context.setLocale(new Locale("en", "GB")); Concept concept = cd4Count; concept.setRetired(true); conceptService.saveConcept(concept); String duplicateName = concept.getFullySpecifiedName(Context.getLocale()).getName(); Concept anotherConcept = weight; anotherConcept.getFullySpecifiedName(Context.getLocale()).setName(duplicateName); Errors errors = new BindException(anotherConcept, "concept"); validator.validate(anotherConcept, errors); Assert.assertFalse(errors.hasErrors()); }
@Test public void validate_shouldPassIfTheConceptBeingValidatedIsRetiredAndHasADuplicateName() { Context.setLocale(new Locale("en", "GB")); Concept concept = cd4Count; conceptService.saveConcept(concept); String duplicateName = concept.getFullySpecifiedName(Context.getLocale()).getName(); Concept anotherConcept = weight; anotherConcept.setRetired(true); anotherConcept.getFullySpecifiedName(Context.getLocale()).setName(duplicateName); Errors errors = new BindException(anotherConcept, "concept"); validator.validate(anotherConcept, errors); Assert.assertFalse(errors.hasErrors()); }