/** * Remove the given answer from the list of answers for this Concept * * @param conceptAnswer answer to remove * @return true if the entity was removed, false otherwise * @should not fail if answers is empty * @should not fail if given answer does not exist in list */ public boolean removeAnswer(ConceptAnswer conceptAnswer) { return getAnswers().remove(conceptAnswer); }
/** * If <code>includeRetired</code> is true, then the returned object is the actual stored list of * {@link ConceptAnswer}s * * @param includeRetired true/false whether to also include the retired answers * @return Returns the answers for this Concept * @should return the same as getAnswers() if includeRetired is true * @should not return retired answers if includeRetired is false */ public Collection<ConceptAnswer> getAnswers(boolean includeRetired) { if (includeRetired) { return getAnswers(); } else { return getAnswers().stream() .filter(a -> !a.getAnswerConcept().getRetired()) .collect(Collectors.toSet()); } }
/** * @see org.openmrs.api.ProgramWorkflowService#getPossibleOutcomes(Integer) */ @Override @Transactional(readOnly = true) public List<Concept> getPossibleOutcomes(Integer programId) { List<Concept> possibleOutcomes = new ArrayList<>(); Program program = Context.getProgramWorkflowService().getProgram(programId); if (program == null) { return possibleOutcomes; } Concept outcomesConcept = program.getOutcomesConcept(); if (outcomesConcept == null) { return possibleOutcomes; } if (!outcomesConcept.getAnswers().isEmpty()) { for (ConceptAnswer conceptAnswer : outcomesConcept.getAnswers()) { possibleOutcomes.add(conceptAnswer.getAnswerConcept()); } return possibleOutcomes; } if (!outcomesConcept.getSetMembers().isEmpty()) { return outcomesConcept.getSetMembers(); } return possibleOutcomes; }
/** * Add the given ConceptAnswer to the list of answers for this Concept * * @param conceptAnswer * @should add the ConceptAnswer to Concept * @should not fail if answers list is null * @should not fail if answers contains ConceptAnswer already * @should set the sort weight to the max plus one if not provided */ public void addAnswer(ConceptAnswer conceptAnswer) { if (conceptAnswer != null) { if (!getAnswers().contains(conceptAnswer)) { conceptAnswer.setConcept(this); getAnswers().add(conceptAnswer); } if ((conceptAnswer.getSortWeight() == null) || (conceptAnswer.getSortWeight() <= 0)) { //find largest sort weight ConceptAnswer a = Collections.max(answers); //a.sortWeight can be NULL Double sortWeight = (a == null) ? 1d : ((a.getSortWeight() == null) ? 1d : a.getSortWeight() + 1d); conceptAnswer.setSortWeight(sortWeight); } } }
Collection<ConceptAnswer> answers = answersToConcept.getAnswers(false); for (ConceptAnswer conceptAnswer : answersToConcept.getAnswers(false)) { ids.add(conceptAnswer.getAnswerConcept().getId());
/** * @see Concept#getAnswers() */ @Test public void getAnswers_shouldInitAnswersObject() { Concept c = new Concept(); c.setAnswers(null); //make sure the list is null Assert.assertEquals(c.getAnswers(), c.getAnswers()); }
/** * @see Concept#getAnswers() */ @Test public void getAnswers_shouldNotReturnNullIfAnswersListIsNull() { Concept c = new Concept(); c.setAnswers(null); Assert.assertNotNull(c.getAnswers()); c.setAnswers(null); Assert.assertNotNull(c.getAnswers(true)); }
if (CollectionUtils.isNotEmpty(conceptToValidate.getAnswers())) { for (ConceptAnswer conceptAnswer : conceptToValidate.getAnswers()) { if (conceptAnswer.getAnswerConcept().equals(conceptToValidate)) { errors.reject("Concept.contains.itself.as.answer");
if (concept.getAnswers(true) != null) { for (ConceptAnswer ca : concept.getAnswers(true)) { ca.setConcept(concept);
/** * @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()); }
.getConceptService().getFalseConcept(); boolean isValidAnswer = false; Collection<ConceptAnswer> conceptAnswers = concept.getAnswers(); if (conceptAnswers != null && !conceptAnswers.isEmpty()) { for (ConceptAnswer conceptAnswer : conceptAnswers) {
/** * @see ConceptService#convertBooleanConceptToCoded(Concept) */ @Test public void changeConceptFromBooleanToCoded_shouldExplicitlyAddTrueConceptAsAValue_CodedAnswer() { Concept concept = conceptService.getConcept(18); Collection<ConceptAnswer> answers = concept.getAnswers(false); boolean trueConceptFound = false; for (ConceptAnswer conceptAnswer : answers) { if (conceptAnswer.getAnswerConcept().equals(conceptService.getTrueConcept())) { trueConceptFound = true; } } Assert.assertEquals(false, trueConceptFound); conceptService.convertBooleanConceptToCoded(concept); answers = concept.getAnswers(false); for (ConceptAnswer conceptAnswer : answers) { if (conceptAnswer.getAnswerConcept().equals(conceptService.getTrueConcept())) { trueConceptFound = true; } } Assert.assertEquals(true, trueConceptFound); }
/** * @see ConceptService#convertBooleanConceptToCoded(Concept) */ @Test public void changeConceptFromBooleanToCoded_shouldExplicitlyAddFalseConceptAsAValue_CodedAnswer() { Concept concept = conceptService.getConcept(18); Collection<ConceptAnswer> answers = concept.getAnswers(false); boolean falseConceptFound = false; //initially the concept shouldn't present for (ConceptAnswer conceptAnswer : answers) { if (conceptAnswer.getAnswerConcept().equals(conceptService.getFalseConcept())) { falseConceptFound = true; } } Assert.assertEquals(false, falseConceptFound); conceptService.convertBooleanConceptToCoded(concept); answers = concept.getAnswers(false); for (ConceptAnswer conceptAnswer : answers) { if (conceptAnswer.getAnswerConcept().equals(conceptService.getFalseConcept())) { falseConceptFound = true; } } Assert.assertEquals(true, falseConceptFound); }
/** * @see ConceptAnswersEditor#setAsText(String) */ @Test public void setAsText_shouldSetTheSortWeightsWithTheLeastPossibleChanges() { ConceptService service = Context.getConceptService(); Concept c = service.getConcept(21); ConceptAnswersEditor editor = new ConceptAnswersEditor(c.getAnswers(true)); editor.setAsText("22 7 8"); ConceptAnswer ca1 = service.getConceptAnswer(1);//conceptId=7 ConceptAnswer ca2 = service.getConceptAnswer(2);//conceptId=8 ConceptAnswer ca3 = service.getConceptAnswer(3);//conceptId=22 Concept cafter = service.getConcept(21); Assert.assertEquals(3, cafter.getAnswers(true).size()); Assert.assertTrue(ca3.getSortWeight() < ca1.getSortWeight()); Assert.assertTrue(ca1.getSortWeight() < ca2.getSortWeight()); } }
this.setAnswers(new HashSet<>(c.getAnswers(true))); for (ConceptAnswer cAnswer : this.getAnswers()) { cAnswer.setConcept(this);
/** * Constructor from Concept. * * @param c */ public ConceptComplex(Concept c) { this.setAnswers(c.getAnswers(true)); this.setChangedBy(c.getChangedBy()); this.setConceptClass(c.getConceptClass()); this.setConceptId(c.getConceptId()); this.setConceptSets(c.getConceptSets()); this.setCreator(c.getCreator()); this.setDatatype(c.getDatatype()); this.setDateChanged(c.getDateChanged()); this.setDateCreated(c.getDateCreated()); this.setSet(c.getSet()); this.setNames(c.getNames()); this.setDescriptions(c.getDescriptions()); this.setConceptMappings(c.getConceptMappings()); this.setRetired(c.getRetired()); this.setVersion(c.getVersion()); this.setUuid(c.getUuid()); this.handler = ""; }
@Test public void equals_shouldNotBeTheSameReference() { Concept c = new Concept(123); ConceptNumeric cn = new ConceptNumeric(c); Assert.assertNotSame(c.getAnswers(), cn.getAnswers()); Assert.assertNotSame(c.getConceptSets(), cn.getConceptSets()); Assert.assertNotSame(cn.getConceptSets(), c.getConceptSets()); Assert.assertNotSame(c.getNames(), cn.getNames()); Assert.assertNotSame(c.getConceptMappings(), cn.getConceptMappings()); Assert.assertNotSame(c.getDescriptions(), cn.getDescriptions()); }
/** * Convenience helper method to look for the given answer amongst the answers on the question * concept * * @param question the concept on which to call getAnswers() * @param druganswer the drug that is hidden in a ConceptAnswer object on the given concept * (maybe) * @return true if the answer is found on the concept */ private boolean hasAnswer(Concept question, Drug druganswer) { for (ConceptAnswer conceptAnswerObject : question.getAnswers()) { if (conceptAnswerObject.getAnswerDrug() != null && conceptAnswerObject.getAnswerDrug().equals(druganswer)) return true; } // answer was not found return false; }