protected TopicIF makeReifier() { TopicIF reifier = getTopicMapIF().getReifier(); if (reifier == null) { // IMPORTANT: check old-style reification TopicMapIF tm = getTopicMapIF(); Iterator<LocatorIF> iter = tm.getItemIdentifiers().iterator(); while (iter.hasNext()) { LocatorIF srcloc = iter.next(); TopicIF _reifier = tm.getTopicBySubjectIdentifier(srcloc); if (_reifier != null) { if (reifier != null) MergeUtils.mergeInto(reifier, _reifier); else reifier = _reifier; } } if (reifier == null) reifier = tm.getBuilder().makeTopic(); tm.setReifier(reifier); reifier.addType(tm.getTopicBySubjectIdentifier(PSI.ON_TOPIC_MAP)); } return reifier; }
protected TopicIF makeReifier() { TopicIF reifier = getTopicMapIF().getReifier(); if (reifier == null) { // IMPORTANT: check old-style reification TopicMapIF tm = getTopicMapIF(); Iterator<LocatorIF> iter = tm.getItemIdentifiers().iterator(); while (iter.hasNext()) { LocatorIF srcloc = iter.next(); TopicIF _reifier = tm.getTopicBySubjectIdentifier(srcloc); if (_reifier != null) { if (reifier != null) MergeUtils.mergeInto(reifier, _reifier); else reifier = _reifier; } } if (reifier == null) reifier = tm.getBuilder().makeTopic(); tm.setReifier(reifier); reifier.addType(tm.getTopicBySubjectIdentifier(PSI.ON_TOPIC_MAP)); } return reifier; }
@Test public void testTopicmap() throws Exception { tm1.setReifier(foo1); concurrentCommit(); // verify no inconsistenties were created check(tm1, tm1.getReifier(), "Topicmap", "reifier"); }
public void testTMReifier() { // build test case TopicIF reifier = builder2.makeTopic(); topicmap2.setReifier(reifier); // merge MergeUtils.mergeInto(topicmap1, topicmap2); // verify assertTrue("topicmap1 had reifier after merge", topicmap1.getReifier() == null); reifier = (TopicIF) topicmap1.getTopics().iterator().next(); assertTrue("imported topic still reifying old topic map", reifier.getReified() == null); }
@Test public void testOmittingIDsPreserveReification() throws IOException { prepareTopicMap(); TopicIF reifier = builder.makeTopic(); topicmap.setReifier(reifier); reload(); // now for the real test reifier = topicmap.getReifier(); Assert.assertTrue("reification connection broken on export", reifier != null); }
topicmap.setReifier(reifier);
public void testMergeReifiedTopicMaps() { // build TMs TopicIF reifier1 = builder1.makeTopic(); reifier1.addSubjectIdentifier(URILocator.create("test:reifier")); topicmap1.setReifier(reifier1); TopicIF reifier2 = builder2.makeTopic(); reifier2.addSubjectIdentifier(URILocator.create("test:reifier")); topicmap2.setReifier(reifier2); // merge MergeUtils.mergeInto(topicmap1, topicmap2); // previous line checks if moving topicmap causes it to lose // its reifier // check assertTrue("Topic map lost reifier on merge", topicmap1.getReifier() == reifier1); assertTrue("Topic did become reifier on merge", reifier1.getReified() == topicmap1); }
public void testMergeReifiedTargetTopicMap() { // build TMs TopicIF reifier = builder1.makeTopic(); topicmap1.setReifier(reifier); // merge MergeUtils.mergeInto(topicmap1, topicmap2); // previous line checks if moving topicmap causes it to lose // its reifier // check assertTrue("Topic map lost reifier on merge", topicmap1.getReifier() == reifier); assertTrue("Topic lost reified on merge", reifier.getReified() == topicmap1); }
reifier.merge(newReifier); } else if (reifier == null && newReifier != null) { tm.setReifier(newReifier); reifier = tm.getReifier();
reifier.merge(newReifier); } else if (reifier == null && newReifier != null) { tm.setReifier(newReifier); reifier = tm.getReifier();
topicmap.setReifier(reifier);
if (reifier == null) { reifier = tmbuilder.makeTopic(); tm.setReifier(reifier); tmbuilder.makeTopicName(reifier, tmname); TopicIF versionTopic = tm.getTopicBySubjectIdentifier(versionTopicPSI); } else { nreifier = tmbuilder.makeTopic(); tm.setReifier(nreifier);
if (reifier == null) { reifier = tmbuilder.makeTopic(); tm.setReifier(reifier); tmbuilder.makeTopicName(reifier, tmname); TopicIF versionTopic = tm.getTopicBySubjectIdentifier(versionTopicPSI); } else { nreifier = tmbuilder.makeTopic(); tm.setReifier(nreifier);
public void testMergeReifiedSourceTopicMap() { // build TMs TopicIF reifier1 = builder1.makeTopic(); reifier1.addSubjectIdentifier(URILocator.create("test:reifier")); TopicIF reifier2 = builder2.makeTopic(); reifier2.addSubjectIdentifier(URILocator.create("test:reifier")); topicmap2.setReifier(reifier2); // merge MergeUtils.mergeInto(topicmap1, topicmap2); // previous line checks if moving topicmap causes it to lose // its reifier (which it should) // check assertTrue("Topic map did not lose reifier on merge", topicmap1.getReifier() == null); assertTrue("Topic did become reifier on merge", reifier1.getReified() == null); }