use of com.aerospike.client.cdt.ListPolicy in project aerospike-client-java by aerospike.
the class TestOperateList method operateListRemoveRelative.
@Test
public void operateListRemoveRelative() {
Key key = new Key(args.namespace, args.set, "oplkey14");
client.delete(null, key);
List<Value> itemList = new ArrayList<Value>();
itemList.add(Value.get(0));
itemList.add(Value.get(4));
itemList.add(Value.get(5));
itemList.add(Value.get(9));
itemList.add(Value.get(11));
itemList.add(Value.get(15));
Record record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.DEFAULT), binName, itemList), ListOperation.removeByValueRelativeRankRange(binName, Value.get(5), 0, ListReturnType.VALUE), ListOperation.removeByValueRelativeRankRange(binName, Value.get(5), 1, ListReturnType.VALUE), ListOperation.removeByValueRelativeRankRange(binName, Value.get(5), -1, ListReturnType.VALUE), ListOperation.removeByValueRelativeRankRange(binName, Value.get(3), -3, 1, ListReturnType.VALUE), ListOperation.removeByValueRelativeRankRange(binName, Value.get(3), -3, 2, ListReturnType.VALUE), ListOperation.removeByValueRelativeRankRange(binName, Value.get(3), -3, 3, ListReturnType.VALUE));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
List<?> results = record.getList(binName);
int i = 0;
long size = (Long) results.get(i++);
assertEquals(6L, size);
List<?> list = (List<?>) results.get(i++);
assertEquals(4L, list.size());
assertEquals(5L, list.get(0));
assertEquals(9L, list.get(1));
assertEquals(11L, list.get(2));
assertEquals(15L, list.get(3));
list = (List<?>) results.get(i++);
assertEquals(0L, list.size());
list = (List<?>) results.get(i++);
assertEquals(1L, list.size());
assertEquals(4L, list.get(0));
list = (List<?>) results.get(i++);
assertEquals(0L, list.size());
list = (List<?>) results.get(i++);
assertEquals(0L, list.size());
list = (List<?>) results.get(i++);
assertEquals(1L, list.size());
assertEquals(0L, list.get(0));
}
use of com.aerospike.client.cdt.ListPolicy in project aerospike-client-java by aerospike.
the class TestOperateList method operateListCreateContext.
@Test
public void operateListCreateContext() {
Key key = new Key(args.namespace, args.set, "oplkey20");
client.delete(null, key);
List<Value> l1 = new ArrayList<Value>();
l1.add(Value.get(7));
l1.add(Value.get(9));
l1.add(Value.get(5));
List<Value> l2 = new ArrayList<Value>();
l2.add(Value.get(1));
l2.add(Value.get(2));
l2.add(Value.get(3));
List<Value> l3 = new ArrayList<Value>();
l3.add(Value.get(6));
l3.add(Value.get(5));
l3.add(Value.get(4));
l3.add(Value.get(1));
List<Value> inputList = new ArrayList<Value>();
inputList.add(Value.get(l1));
inputList.add(Value.get(l2));
inputList.add(Value.get(l3));
// Create list.
Record record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, 0), binName, inputList), Operation.get(binName));
// System.out.println("Record: " + record);
// Append value to new list created after the original 3 lists.
record = client.operate(null, key, ListOperation.append(binName, Value.get(2), CTX.listIndexCreate(3, ListOrder.ORDERED, false)), // ListOperation.append(binName, Value.get(2), CTX.listIndex(3)),
Operation.get(binName));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
List<?> results = record.getList(binName);
int i = 0;
long count = (Long) results.get(i++);
assertEquals(1, count);
List<?> list = (List<?>) results.get(i++);
assertEquals(4, list.size());
// Test last nested list.
list = (List<?>) list.get(1);
assertEquals(1, list.size());
assertEquals(2, (long) (Long) list.get(0));
}
use of com.aerospike.client.cdt.ListPolicy in project aerospike-client-java by aerospike.
the class TestOperateList method operateListInfinity.
@Test
public void operateListInfinity() {
Key key = new Key(args.namespace, args.set, "oplkey16");
client.delete(null, key);
List<Value> itemList = new ArrayList<Value>();
itemList.add(Value.get(0));
itemList.add(Value.get(4));
itemList.add(Value.get(5));
itemList.add(Value.get(9));
itemList.add(Value.get(11));
itemList.add(Value.get(15));
Record record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.DEFAULT), binName, itemList));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
long size = record.getLong(binName);
assertEquals(6L, size);
itemList = new ArrayList<Value>();
itemList.add(Value.get(11));
itemList.add(Value.get(3));
record = client.operate(null, key, ListOperation.getByValueRange(binName, Value.get(10), Value.INFINITY, ListReturnType.VALUE));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
List<?> results = record.getList(binName);
int i = 0;
long val = (Long) results.get(i++);
assertEquals(11L, val);
val = (Long) results.get(i++);
assertEquals(15L, val);
}
use of com.aerospike.client.cdt.ListPolicy in project aerospike-client-java by aerospike.
the class TestOperateList method operateListGetRelative.
@Test
public void operateListGetRelative() {
Key key = new Key(args.namespace, args.set, "oplkey13");
client.delete(null, key);
List<Value> itemList = new ArrayList<Value>();
itemList.add(Value.get(0));
itemList.add(Value.get(4));
itemList.add(Value.get(5));
itemList.add(Value.get(9));
itemList.add(Value.get(11));
itemList.add(Value.get(15));
Record record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.DEFAULT), binName, itemList), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), 0, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), 1, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), -1, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), 0, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), 3, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), -3, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), 0, 2, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), 1, 1, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(5), -1, 2, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), 0, 1, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), 3, 7, ListReturnType.VALUE), ListOperation.getByValueRelativeRankRange(binName, Value.get(3), -3, 2, ListReturnType.VALUE));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
List<?> results = record.getList(binName);
int i = 0;
long size = (Long) results.get(i++);
assertEquals(6L, size);
List<?> list = (List<?>) results.get(i++);
assertEquals(4L, list.size());
assertEquals(5L, list.get(0));
assertEquals(9L, list.get(1));
assertEquals(11L, list.get(2));
assertEquals(15L, list.get(3));
list = (List<?>) results.get(i++);
assertEquals(3L, list.size());
assertEquals(9L, list.get(0));
assertEquals(11L, list.get(1));
assertEquals(15L, list.get(2));
list = (List<?>) results.get(i++);
assertEquals(5L, list.size());
assertEquals(4L, list.get(0));
assertEquals(5L, list.get(1));
assertEquals(9L, list.get(2));
assertEquals(11L, list.get(3));
assertEquals(15L, list.get(4));
list = (List<?>) results.get(i++);
assertEquals(5L, list.size());
assertEquals(4L, list.get(0));
assertEquals(5L, list.get(1));
assertEquals(9L, list.get(2));
assertEquals(11L, list.get(3));
assertEquals(15L, list.get(4));
list = (List<?>) results.get(i++);
assertEquals(2L, list.size());
assertEquals(11L, list.get(0));
assertEquals(15L, list.get(1));
list = (List<?>) results.get(i++);
assertEquals(6L, list.size());
assertEquals(0L, list.get(0));
assertEquals(4L, list.get(1));
assertEquals(5L, list.get(2));
assertEquals(9L, list.get(3));
assertEquals(11L, list.get(4));
assertEquals(15L, list.get(5));
list = (List<?>) results.get(i++);
assertEquals(2L, list.size());
assertEquals(5L, list.get(0));
assertEquals(9L, list.get(1));
list = (List<?>) results.get(i++);
assertEquals(1L, list.size());
assertEquals(9L, list.get(0));
list = (List<?>) results.get(i++);
assertEquals(2L, list.size());
assertEquals(4L, list.get(0));
assertEquals(5L, list.get(1));
list = (List<?>) results.get(i++);
assertEquals(1L, list.size());
assertEquals(4L, list.get(0));
list = (List<?>) results.get(i++);
assertEquals(2L, list.size());
assertEquals(11L, list.get(0));
assertEquals(15L, list.get(1));
list = (List<?>) results.get(i++);
assertEquals(0L, list.size());
}
use of com.aerospike.client.cdt.ListPolicy in project aerospike-client-java by aerospike.
the class TestOperateList method operateListPartial.
@Test
public void operateListPartial() {
Key key = new Key(args.namespace, args.set, "oplkey15");
client.delete(null, key);
List<Value> itemList = new ArrayList<Value>();
itemList.add(Value.get(0));
itemList.add(Value.get(4));
itemList.add(Value.get(5));
itemList.add(Value.get(9));
itemList.add(Value.get(9));
itemList.add(Value.get(11));
itemList.add(Value.get(15));
itemList.add(Value.get(0));
Record record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.ADD_UNIQUE | ListWriteFlags.PARTIAL | ListWriteFlags.NO_FAIL), binName, itemList), ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.ADD_UNIQUE | ListWriteFlags.NO_FAIL), "bin2", itemList));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
long size = record.getLong(binName);
assertEquals(6L, size);
size = record.getLong("bin2");
assertEquals(0L, size);
itemList = new ArrayList<Value>();
itemList.add(Value.get(11));
itemList.add(Value.get(3));
record = client.operate(null, key, ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.ADD_UNIQUE | ListWriteFlags.PARTIAL | ListWriteFlags.NO_FAIL), binName, itemList), ListOperation.appendItems(new ListPolicy(ListOrder.ORDERED, ListWriteFlags.ADD_UNIQUE | ListWriteFlags.NO_FAIL), "bin2", itemList));
assertRecordFound(key, record);
// System.out.println("Record: " + record);
size = record.getLong(binName);
assertEquals(7L, size);
size = record.getLong("bin2");
assertEquals(2L, size);
}