@Test public void testEmptyInputs() { TestTransaction tx1 = new TestTransaction(env); Set<Bytes> rowSet = Collections.singleton(Bytes.of("foo")); Set<Column> colSet = Collections.singleton(new Column("a", "b")); Set<Bytes> emptyRowSet = Collections.emptySet(); Set<Column> emptyColSet = Collections.emptySet(); Set<RowColumn> emptyRowColSet = Collections.emptySet(); Assert.assertEquals(0, tx1.get(Bytes.of("foo"), emptyColSet).size()); Assert.assertEquals(0, tx1.get(emptyRowSet, emptyColSet).size()); Assert.assertEquals(0, tx1.get(emptyRowSet, colSet).size()); Assert.assertEquals(0, tx1.get(rowSet, emptyColSet).size()); Assert.assertEquals(0, tx1.get(rowSet, emptyColSet).size()); Assert.assertEquals(0, tx1.get(emptyRowColSet).size()); Set<String> erss = Collections.emptySet(); Set<String> rss = Collections.singleton("foo"); Assert.assertEquals(0, tx1.gets("foo", emptyColSet).size()); Assert.assertEquals(0, tx1.gets(erss, emptyColSet).size()); Assert.assertEquals(0, tx1.gets(erss, colSet).size()); Assert.assertEquals(0, tx1.gets(rss, emptyColSet).size()); Assert.assertEquals(0, tx1.gets(rss, emptyColSet).size()); Assert.assertEquals(0, tx1.gets(emptyRowColSet).size()); }
@Test public void testGetNonexistant() { TestTransaction tx1 = new TestTransaction(env); Set<String> rss = Collections.singleton("foo"); Set<Bytes> rowSet = Collections.singleton(Bytes.of("foo")); Set<Column> colSet = Collections.singleton(new Column("a", "b")); Assert.assertEquals(0, tx1.get(Bytes.of("foo"), colSet).size()); Assert.assertEquals(0, tx1.gets("foo", colSet).size()); Assert.assertEquals(0, tx1.get(rowSet, colSet).size()); Assert.assertEquals(0, tx1.gets(rss, colSet).size()); }
public static Column readColumn(DataInputStream in) throws IOException { BytesBuilder bb = Bytes.builder(); Bytes family = ByteUtil.read(bb, in); Bytes qualifier = ByteUtil.read(bb, in); Bytes visibility = ByteUtil.read(bb, in); return new Column(family, qualifier, visibility); }
public static Entry<Key, Value> checkColumn( Environment env, IteratorSetting iterConf, Bytes row, Column col) { Span span = Span.exact(row, col); Scanner scanner; try { // TODO reuse or share scanner scanner = env.getConnector().createScanner(env.getTable(), env.getAuthorizations()); } catch (TableNotFoundException e) { // TODO proper exception handling throw new RuntimeException(e); } scanner.setRange(SpanUtil.toRange(span)); scanner.addScanIterator(iterConf); Iterator<Entry<Key, Value>> iter = scanner.iterator(); if (iter.hasNext()) { Entry<Key, Value> entry = iter.next(); Key k = entry.getKey(); Bytes r = Bytes.of(k.getRowData().toArray()); Bytes cf = Bytes.of(k.getColumnFamilyData().toArray()); Bytes cq = Bytes.of(k.getColumnQualifierData().toArray()); Bytes cv = Bytes.of(k.getColumnVisibilityData().toArray()); if (r.equals(row) && cf.equals(col.getFamily()) && cq.equals(col.getQualifier()) && cv.equals(col.getVisibility())) { return entry; } else { throw new RuntimeException("unexpected key " + k + " " + row + " " + col); } } return null; }
public TestTransaction(Environment env, String trow, Column tcol, long notificationTS) { this(new TransactionImpl(env, new Notification(Bytes.of(trow), tcol, notificationTS)), env); }