/** * Checks whether the name has a particular tag. * * @see #isPreferred() * @see #isFullySpecifiedName() * @see #isIndexTerm() * @see #isSynonym() * @see #isShort() * @param tagToFind the string of the tag for which to check * @return true if the tags include the specified tag, false otherwise */ public Boolean hasTag(String tagToFind) { boolean foundTag = false; if (tags != null) { for (ConceptNameTag nameTag : getTags()) { if (nameTag.getTag().equals(tagToFind)) { foundTag = true; break; } } } return foundTag; }
/** * @see ConceptNameSaveHandler#handle(ConceptName,User,Date,String) */ @Test public void handle_shouldNotReplaceTagsWithoutIdsThatAreNotInTheDatabase() { ConceptNameSaveHandler handler = new ConceptNameSaveHandler(); ConceptName name = new ConceptName(); name.addTag(new ConceptNameTag("Some randome tag name", "")); // this tag has a null id handler.handle(name, null, null, null); ConceptNameTag newTag = name.getTags().iterator().next(); Assert.assertNull(newTag.getConceptNameTagId()); }
/** * @see ConceptNameSaveHandler#handle(ConceptName,User,Date,String) */ @Test public void handle_shouldNotReplaceTagsThatHaveIds() { ConceptNameSaveHandler handler = new ConceptNameSaveHandler(); ConceptName name = new ConceptName(); ConceptNameTag tag = new ConceptNameTag("some randome tag name with an id", ""); tag.setConceptNameTagId(34); // this tag has an id name.addTag(tag); handler.handle(name, null, null, null); ConceptNameTag newTag = name.getTags().iterator().next(); Assert.assertEquals(34, newTag.getConceptNameTagId().intValue()); } }
/** * @see ConceptNameSaveHandler#handle(ConceptName,User,Date,String) */ @Test public void handle_shouldReplaceTagsWithoutIdsWithDatabaseFetchedTag() { ConceptNameSaveHandler handler = new ConceptNameSaveHandler(); ConceptName name = new ConceptName(); name.addTag("preferred"); // this tag has a null id name.addTag("short"); // this tag has a null id handler.handle(name, null, null, null); for (ConceptNameTag tag : name.getTags()) { if (tag.getTag().equals("preferred")) { Assert.assertEquals(4, tag.getConceptNameTagId().intValue()); } else if (tag.getTag().equals("short")) { Assert.assertEquals(2, tag.getConceptNameTagId().intValue()); } } }
/** * @see ConceptService#saveConcept(Concept) */ @Test public void saveConcept_shouldReuseConceptNameTagsThatAlreadyExistInTheDatabase() { executeDataSet("org/openmrs/api/include/ConceptServiceTest-tags.xml"); ConceptService cs = Context.getConceptService(); // make sure the name tag exists already ConceptNameTag cnt = cs.getConceptNameTagByName("preferred_en"); Assert.assertNotNull(cnt); ConceptName cn = new ConceptName("Some name", Locale.ENGLISH); cn.addTag(new ConceptNameTag("preferred_en", "preferred name in a language")); Concept concept = new Concept(); concept.addName(cn); concept.addDescription(new ConceptDescription("some description",null)); concept.setDatatype(new ConceptDatatype(1)); concept.setConceptClass(new ConceptClass(1)); cs.saveConcept(concept); Collection<ConceptNameTag> savedConceptNameTags = concept.getName(Locale.ENGLISH, false).getTags(); ConceptNameTag savedConceptNameTag = (ConceptNameTag) savedConceptNameTags.toArray()[0]; Assert.assertEquals(cnt.getConceptNameTagId(), savedConceptNameTag.getConceptNameTagId()); }