/** * Adds a tag to the concept name. If the tag is new (has no existing occurrences) a new * ConceptNameTag will be created with a blank description. * * @see Concept#setPreferredName(ConceptName) * @see Concept#setFullySpecifiedName(ConceptName) * @see Concept#setShortName(ConceptName) * @param tag human-readable text string for the tag */ public void addTag(String tag) { addTag(tag, ""); }
/** * Adds a tag to the concept name. If the tag is new (has no existing occurrences) a new * ConceptNameTag will be created with the given description. * * @see Concept#setPreferredName(ConceptName) * @see Concept#setFullySpecifiedName(ConceptName) * @see Concept#setShortName(ConceptName) * @param tag human-readable text string for the tag * @param description description of the tag's purpose */ public void addTag(String tag, String description) { ConceptNameTag nameTag = new ConceptNameTag(tag, description); addTag(nameTag); }
/** * @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 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 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()); }