public void perform(ActionParametersIF params, ActionResponseIF response) { //test params ActionSignature paramsType = ActionSignature.getSignature("b t?"); paramsType.validateArguments(params, this); TopicNameIF basename = (TopicNameIF) params.get(0); Collection themes = params.getCollection(1); String value = params.getStringValue().trim(); TopicMapBuilderIF builder = basename.getTopicMap().getBuilder(); // do not create variant with empty string value if (value == null || value.equals("")) return; // create new (internal) variant for base name VariantNameIF variant = builder.makeVariantName(basename, value); // set scope, if provided if (themes != null) { Iterator it = themes.iterator(); while (it.hasNext()) variant.addTheme((TopicIF) it.next()); } } }
Iterator it = themes.iterator(); while (it.hasNext()) variant.addTheme((TopicIF) it.next());
public void testVariantRemovalWithScope() { TopicIF theme1 = builder.makeTopic(); TopicIF theme2 = builder.makeTopic(); TopicIF topic = builder.makeTopic(); TopicNameIF bn = builder.makeTopicName(topic, ""); VariantNameIF vn = builder.makeVariantName(bn, "duplicate"); vn.addTheme(theme1); vn.addTheme(theme2); vn = builder.makeVariantName(bn, "duplicate"); vn.addTheme(theme1); vn.addTheme(theme2); DuplicateSuppressionUtils.removeDuplicates(bn); assertTrue("duplicate variant names were not removed", bn.getVariants().size() == 1); }
@Override public void run() { VariantNameIF vn = getVariantName(); TopicIF theme = builder.makeTopic(); this.data.put("scope", theme); vn.addTheme(theme); this.objectId = vn.getObjectId(); this.value = theme.getObjectId(); } });
vname.addTheme(scope);
public void testVariantName() { TopicIF sort = builder.makeTopic(); sort.addSubjectIdentifier(PSI.getXTMSort()); TopicNameIF bn1 = builder.makeTopicName(topic, "Name1"); VariantNameIF vn1 = builder.makeVariantName(bn1, "Sort name"); vn1.addTheme(sort); TopicNameIF bn2 = builder.makeTopicName(topic, "Name2"); TopicNameIF bn3 = builder.makeTopicName(topic, "Name3"); VariantNameIF vn2 = builder.makeVariantName(bn1, "Blecch"); StringifierIF sf = TopicStringifiers.getVariantNameStringifier(Collections.singleton(sort)); assertTrue("Stringifying topic gave wrong variant name", sf.toString(topic).equals("Sort name")); } }
public void testMergeVariantNameScopeUse() { try { TopicIF t1 = builder1.makeTopic(); TopicIF t2 = builder1.makeTopic(); TopicNameIF bn = builder1.makeTopicName(t1, ""); VariantNameIF vn = builder1.makeVariantName(bn, ""); vn.addTheme(t2); MergeUtils.mergeInto(t1, t2); assertTrue("variant name scope corrupted", vn.getScope().size() == 1); assertTrue("variant name theme replacement not done correctly", vn.getScope().contains(t1)); } catch (ConstraintViolationException e) { fail("merge of topics unaccountably failed" + e.getMessage()); } }
public void testDSDisplay() { TopicIF display = builder.makeTopic(); display.addSubjectIdentifier(PSI.getXTMDisplay()); TopicNameIF bn1 = builder.makeTopicName(topic, "Name1"); VariantNameIF vn1 = builder.makeVariantName(bn1, "Display name"); vn1.addTheme(display); TopicNameIF bn2 = builder.makeTopicName(topic, "Name2"); TopicNameIF bn3 = builder.makeTopicName(topic, "Name3"); VariantNameIF vn2 = builder.makeVariantName(bn1, "Blecch"); StringifierIF sf = TopicStringifiers.getDefaultStringifier(); assertTrue("Stringifying topic gave wrong display name", sf.toString(topic).equals("Display name")); }
public void testSSSort() { TopicIF sort = builder.makeTopic(); sort.addSubjectIdentifier(PSI.getXTMSort()); TopicNameIF bn1 = builder.makeTopicName(topic, "Name1"); VariantNameIF vn1 = builder.makeVariantName(bn1, "Sort name"); vn1.addTheme(sort); TopicNameIF bn2 = builder.makeTopicName(topic, "Name2"); TopicNameIF bn3 = builder.makeTopicName(topic, "Name3"); VariantNameIF vn2 = builder.makeVariantName(bn1, "Blecch"); StringifierIF sf = TopicStringifiers.getSortNameStringifier(); assertTrue("Stringifying topic gave wrong sort name", sf.toString(topic).equals("Sort name")); }
basename1.addTheme(topicWriter); VariantNameIF variant1A = builder.makeVariantName(basename1, "Hillern, Wilhelmine"); variant1A.addTheme(topicSort); basename2.addTheme(topicWriter); VariantNameIF variant2A = builder.makeVariantName(basename2, "Daudet, Alphonse"); variant2A.addTheme(topicSort); basename3.addTheme(topicPlay); VariantNameIF variant3A = builder.makeVariantName(basename3, "Trovador"); variant3A.addTheme(topicSort); basename4.addTheme(topicPlay); VariantNameIF variant4A = builder.makeVariantName(basename4, "Merry Wives of Windsor"); variant4A.addTheme(topicSort); basename5A.addTheme(topicPlay); VariantNameIF variant5A = builder.makeVariantName(basename5A, "Jungfrau von Orleans"); variant5A.addTheme(topicSort); variant5C.addTheme(topicPlay);
theme.addSubjectIdentifier(PSI.getXTMSort()); builder2.makeTopicName(theme, "Sort name"); vn.addTheme(theme);
String bn_oid = bn.getObjectId(); VariantNameIF ivn = builder.makeVariantName(bn, vnval); ivn.addTheme(theme); VariantNameIF evn = builder.makeVariantName(bn, vnloc); String ivn_oid = ivn.getObjectId();
vn.addTheme(vn_theme);
vn.addTheme(other); afterTest();