public static void dumpNodeTupleTable(TupleTable tupleTable) { int N = tupleTable.getTupleLen() ; NodeId[] nodeIds = new NodeId[N] ; Arrays.fill(nodeIds, NodeId.NodeIdAny) ; Tuple<NodeId> t = TupleFactory.asTuple(nodeIds) ; Iterator<Tuple<NodeId>> iter = tupleTable.find(t) ; for ( ; iter.hasNext() ; ) { Tuple<NodeId> tuple = iter.next() ; System.out.print(tuple) ; System.out.print("\n") ; } } }
/** Find by NodeId. */ @Override public Iterator<Tuple<NodeId>> find(Tuple<NodeId> tuple) { // All find/*, except findAll, comes through this operation so startRead/finishRead/checkIterator only needs to happen here. try { startRead() ; // find worker - need also protect iterators that access the node table. Iterator<Tuple<NodeId>> iter = tupleTable.find(tuple) ; return iteratorControl(iter) ; } finally { finishRead() ; } }
@Test public void createFind1() { TupleTable table = create() ; add(table, n1, n2, n3) ; // Cast removes compile lint warning. Tuple<NodeId> pat = TupleFactory.tuple((NodeId)null, null, null) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind1() { TupleTable table = create() ; add(table, n1, n2, n3) ; // Cast removes compile lint warning. Tuple<NodeId> pat = TupleFactory.tuple((NodeId)null, null, null) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind3() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(n1, null, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind4() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, null, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind2() { TupleTable table = create() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, n2, null) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(2, z) ; Tuple<NodeId> e1 = x.get(0) ; Tuple<NodeId> e2 = x.get(1) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; assertEquals(TupleFactory.tuple(n1, n2, n4) , e2) ; }
@Test public void createFind5() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, NodeId.NodeIdAny, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind3() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(n1, null, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind4() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, null, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }
@Test public void createFind2() { TupleTable table = create() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, n2, null) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(2, z) ; Tuple<NodeId> e1 = x.get(0) ; Tuple<NodeId> e2 = x.get(1) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; assertEquals(TupleFactory.tuple(n1, n2, n4) , e2) ; }
@Test public void createFind5() { // test scan TupleTable table = create2() ; add(table, n1, n2, n3) ; add(table, n1, n2, n4) ; Tuple<NodeId> pat = TupleFactory.tuple(null, NodeId.NodeIdAny, n3) ; Iterator<Tuple<NodeId>> iter = table.find(pat) ; assertNotNull(iter) ; List<Tuple<NodeId>> x = Iter.toList(iter) ; int z = x.size() ; assertEquals(1, z) ; Tuple<NodeId> e1 = x.get(0) ; assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ; }