public static TopicNameIF makeTopicName(TopicIF ntype, TopicIF topicIF, String value, Collection<TopicIF> scope) { TopicMapBuilderIF builder = topicIF.getTopicMap().getBuilder(); TopicNameIF name = builder.makeTopicName(topicIF, ntype, value); Iterator<TopicIF> iter = scope.iterator(); while (iter.hasNext()) { TopicIF scopingTopic = iter.next(); name.addTheme(scopingTopic); } return name; }
TopicIF createNamedTopic(String name, TopicIF type) { TopicMapBuilderIF builder = getTopicMapIF().getBuilder(); TopicIF topic = builder.makeTopic(type); if (name != null && !name.equals("")) builder.makeTopicName(topic, name); return topic; }
@Override protected TMObjectIF makeObject() { TopicIF topic = builder.makeTopic(); return builder.makeTopicName(topic, ""); } }
@Override public void createTypedIFs(TopicMapBuilderIF builder, TopicIF type) { builder.makeTopicName(builder.makeTopic(), type, "foo1"); builder.makeTopicName(builder.makeTopic(), type, "foo2"); builder.makeTopicName(builder.makeTopic(), type, "foo3"); }
@Override public void createTypedIFs(TopicMapBuilderIF builder, TopicIF type) { type.addSubjectIdentifier(URILocator.create("foo:bar")); builder.makeTopicName(builder.makeTopic(), type, "foo1"); builder.makeTopicName(builder.makeTopic(), type, "foo2"); builder.makeTopicName(builder.makeTopic(), type, "foo3"); }
public void testBNSDouble1() { TopicIF theme = builder.makeTopic(); TopicNameIF bn1 = builder.makeTopicName(topic, "Name1"); TopicNameIF bn2 = builder.makeTopicName(topic, "Name2"); bn2.addTheme(theme); Set scope = new HashSet(); scope.add(theme); StringifierIF sf = TopicStringifiers.getTopicNameStringifier(scope); assertTrue("Stringifying topic gave wrong name", sf.toString(topic).equals("Name2")); }
public void testTypelessTopicName() { // first build test topic TopicIF topic = builder.makeTopic(); builder.makeTopicName(topic, "Test topic"); // now remove it so we get an NPE topic.remove(); } }
public void testTopicNameType2() throws InvalidQueryException, IOException { makeEmpty(); TopicIF type1 = builder.makeTopic(); TopicIF type2 = builder.makeTopic(); TopicIF topic = builder.makeTopic(); TopicNameIF bname1 = builder.makeTopicName(topic, type1, ""); TopicNameIF bname2 = builder.makeTopicName(topic, type2, ""); TopicNameIF bnameN = builder.makeTopicName(topic, (TopicIF)null, ""); List matches = new ArrayList(); addMatch(matches, "BNAME", bname2); verifyQuery(matches, "type($BNAME, @" + type2.getObjectId() + ")?"); }
public void testTopicNameType() throws InvalidQueryException, IOException { makeEmpty(); TopicIF type1 = builder.makeTopic(); TopicIF type2 = builder.makeTopic(); TopicIF topic = builder.makeTopic(); TopicNameIF bname1 = builder.makeTopicName(topic, type1, ""); TopicNameIF bname2 = builder.makeTopicName(topic, type2, ""); TopicNameIF bnameN = builder.makeTopicName(topic, (TopicIF)null, ""); List matches = new ArrayList(); addMatch(matches, "TYPE", type2); verifyQuery(matches, "type(@" + bname2.getObjectId() + ", $TYPE)?"); }
public void testDSComplex() { TopicIF theme = builder.makeTopic(); TopicNameIF bn1 = builder.makeTopicName(topic, "Name1"); TopicNameIF bn2 = builder.makeTopicName(topic, "Name2"); bn2.addTheme(theme); StringifierIF sf = TopicStringifiers.getDefaultStringifier(); assertTrue("Stringifying topic gave wrong name", sf.toString(topic).equals("Name1")); }
public void testTopicName() { TopicIF topic = builder.makeTopic(); TopicNameIF bn = builder.makeTopicName(topic, ""); testScoped(bn); testTMObject(bn); }
public void testSpecificTopicNameNoScope() throws InvalidQueryException, IOException { makeEmpty(); TopicIF type = builder.makeTopic(); TopicIF topic = builder.makeTopic(type); TopicNameIF bn = builder.makeTopicName(topic, "name"); List matches = new ArrayList(); verifyQuery(matches, "scope(@" + bn.getObjectId() + ", $THEME)?"); }
public void testGetTopicNameTypeCount() { assertEquals(0, stats.getTopicNameTypeCount()); builder.makeTopicName(builder.makeTopic(), "foo"); assertEquals(1, stats.getTopicNameTypeCount()); builder.makeTopicName(builder.makeTopic(), builder.makeTopic(), "foo"); assertEquals(2, stats.getTopicNameTypeCount()); }
public void testTopicNameBothUnbound() throws InvalidQueryException, IOException { makeEmpty(); TopicIF theme = builder.makeTopic(); TopicIF topic = builder.makeTopic(); TopicNameIF thing = builder.makeTopicName(topic, "mybasename"); thing.addTheme(theme); List matches = new ArrayList(); addMatch(matches, "THING", thing, "THEME", theme); // NOTE: using topic-name predicate here to avoid type cross product verifyQuery(matches, "topic-name(@" + topic.getObjectId() + ", $THING), scope($THING, $THEME)?"); }
public void testGetTopicNameCount() { assertEquals(0, stats.getTopicNameCount()); builder.makeTopicName(builder.makeTopic(), "foo"); assertEquals(1, stats.getTopicNameCount()); }
@Override public Name createName(Topic type, String value, Topic... scope) { Check.typeNotNull(this, type); Check.valueNotNull(this, value); Check.scopeNotNull(this, scope); Check.scopeInTopicMap(getTopicMap(), scope); Check.typeInTopicMap(getTopicMap(), type); TopicNameIF name = topicMap.getWrapped().getBuilder().makeTopicName( wrapped, topicMap.unwrapTopic(type), value); applyScope(name, scope); return topicMap.wrapName(name); }
public void testTopicNameGenerate() { TopicIF topic = builder.makeTopic(); TopicNameIF bn = builder.makeTopicName(topic, "foo"); DocumentIF doc = generator.generate(bn); Collection fields = doc.getFields(); assertTrue("Base name DocumentIF has " + fields.size() + " fields", fields.size() == 3); verifyObjectId(bn, doc.getField("object_id")); verifyClass(doc.getField("class"), "B"); verifyContent(doc.getField("content"), "foo"); }
public void testTopicNameBothBound() throws InvalidQueryException, IOException { makeEmpty(); TopicIF theme = builder.makeTopic(); TopicIF topic = builder.makeTopic(); TopicNameIF thing = builder.makeTopicName(topic, "mybasename"); thing.addTheme(theme); List matches = new ArrayList(); addMatch(matches); verifyQuery(matches, "scope(@" + thing.getObjectId() + ", @" + theme.getObjectId() + ")?"); }
public void testVariantGenerate2() { TopicIF topic = builder.makeTopic(); TopicNameIF bn = builder.makeTopicName(topic, "foo"); VariantNameIF vn = builder.makeVariantName(bn, makeLocator("http://www.ontopia.no")); DocumentIF doc = generator.generate(vn); Collection fields = doc.getFields(); assertTrue("Variant DocumentIF has " + fields.size() + " fields", fields.size() == 4); verifyObjectId(vn, doc.getField("object_id")); verifyClass(doc.getField("class"), "N"); verifyLocator(doc, "http://www.ontopia.no/"); }
@Test public void testVariant() throws Exception { TopicNameIF name = tm1.getBuilder().makeTopicName(foo1, foo1, "foo"); VariantNameIF variant = tm1.getBuilder().makeVariantName(name, "foo", Collections.singletonList(foo1)); variant.setReifier(foo1); concurrentCommit(); // verify no inconsistenties were created check(tm1, variant.getTopicName(), "Variant", "name"); check(tm1, variant.getReifier(), "Variant", "reifier"); // todo: scope, pending #265 }