public static ReadOnlyIterator<Relation> getIncomingReferenceRelations(ContextNode contextNode) { ReadOnlyIterator<Relation> referenceRelations = contextNode.getIncomingRelations(XDIDictionaryConstants.XDI_ADD_REF); List<Iterator<? extends Relation>> iterators = new ArrayList<Iterator<? extends Relation>> (); iterators.add(referenceRelations); return new CompositeIterator<Relation> (iterators.iterator()); }
public static ReadOnlyIterator<Relation> getIncomingAggregationRelations(ContextNode contextNode) { ReadOnlyIterator<Relation> identityRelations = contextNode.getIncomingRelations(XDIDictionaryConstants.XDI_ADD_HAS); List<Iterator<? extends Relation>> iterators = new ArrayList<Iterator<? extends Relation>> (); iterators.add(identityRelations); return new CompositeIterator<Relation> (iterators.iterator()); }
public static ReadOnlyIterator<Relation> getIncomingIdentityRelations(ContextNode contextNode) { ReadOnlyIterator<Relation> identityRelations = contextNode.getIncomingRelations(XDIDictionaryConstants.XDI_ADD_IS); List<Iterator<? extends Relation>> iterators = new ArrayList<Iterator<? extends Relation>> (); iterators.add(identityRelations); return new CompositeIterator<Relation> (iterators.iterator()); }
public static ReadOnlyIterator<Relation> getIncomingReplacementRelations(ContextNode contextNode) { ReadOnlyIterator<Relation> replacementRelations = contextNode.getIncomingRelations(XDIDictionaryConstants.XDI_ADD_REP); List<Iterator<? extends Relation>> iterators = new ArrayList<Iterator<? extends Relation>> (); iterators.add(replacementRelations); return new CompositeIterator<Relation> (iterators.iterator()); }
assertEquals(new IteratorCounter(les.getRelations()).count(), 0); assertEquals(new IteratorCounter(inumber.getRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations(XDIAddress.create("$is"))).count(), 1); assertEquals(new IteratorCounter(animesh.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(animesh.getIncomingRelations(XDIAddress.create("#friend"))).count(), 1); assertEquals(new IteratorCounter(les.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(les.getIncomingRelations(XDIAddress.create("#friend"))).count(), 1); assertEquals(new IteratorCounter(inumber.getIncomingRelations()).count(), 0); assertEquals(new IteratorCounter(les.getRelations()).count(), 0); assertEquals(new IteratorCounter(inumber.getRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations(XDIAddress.create("$is"))).count(), 1); assertEquals(new IteratorCounter(les.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(les.getIncomingRelations(XDIAddress.create("#friend"))).count(), 1); assertEquals(new IteratorCounter(inumber.getIncomingRelations()).count(), 0); assertEquals(new IteratorCounter(markus.getRelations()).count(), 0); assertEquals(new IteratorCounter(inumber.getRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations()).count(), 1); assertEquals(new IteratorCounter(markus.getIncomingRelations(XDIAddress.create("$is"))).count(), 1); assertEquals(new IteratorCounter(inumber.getIncomingRelations()).count(), 0); assertEquals(new IteratorCounter(inumber.getIncomingRelations()).count(), 0);
public void testDeleteContextNodesDeletesRelations() throws Exception { Graph graph27 = this.getGraphFactory().openGraph(this.getClass().getName() + "-graph-27"); Relation r1 = graph27.setDeepContextNode(XDIAddress.create("=animesh")).setRelation(XDIAddress.create("#friend"), XDIAddress.create("=markus")); Relation r2 = graph27.setDeepContextNode(XDIAddress.create("=markus")).setRelation(XDIAddress.create("#friend"), XDIAddress.create("=animesh")); ContextNode markus = (ContextNode) r1.follow(); ContextNode animesh = (ContextNode) r2.follow(); markus.delete(); assertNotNull(graph27.getDeepContextNode(XDIAddress.create("=animesh"))); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelations().hasNext()); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelations(XDIAddress.create("#friend")).hasNext()); assertEquals(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getRelationCount(), 0); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getIncomingRelations().hasNext()); assertFalse(graph27.getDeepContextNode(XDIAddress.create("=animesh")).getIncomingRelations(XDIAddress.create("#friend")).hasNext()); assertFalse(animesh.getRelations().hasNext()); assertFalse(animesh.getRelations(XDIAddress.create("#friend")).hasNext()); assertEquals(animesh.getRelationCount(), 0); assertFalse(animesh.getIncomingRelations().hasNext()); assertFalse(animesh.getIncomingRelations(XDIAddress.create("#friend")).hasNext()); animesh.delete(); graph27.setStatement(XDIStatement.create("+a+b/$i/=x")); graph27.setStatement(XDIStatement.create("=x/$i/=y")); graph27.getRootContextNode().getContextNode(XDIArc.create("+a")).delete(); assertEquals(graph27.getRootContextNode().getAllRelationCount(), 1); assertTrue(graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).getRelations().hasNext()); assertFalse(graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).getIncomingRelations().hasNext()); graph27.getRootContextNode().getContextNode(XDIArc.create("=x")).delete(); assertEquals(graph27.getRootContextNode().getAllRelationCount(), 0); graph27.close(); }
assertFalse(markus.getRelations().hasNext()); try { markus.getRelations().next(); fail(); } catch (NoSuchElementException ex) { } try { markus.getIncomingRelations().next(); fail(); } catch (NoSuchElementException ex) { } assertFalse(markus.getAllRelations().hasNext()); try { markus.getAllRelations().next(); fail(); } catch (NoSuchElementException ex) { }