Search in sources :

Example 1 with ListPolicy

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));
}
Also used : Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) Record(com.aerospike.client.Record) ArrayList(java.util.ArrayList) List(java.util.List) ListPolicy(com.aerospike.client.cdt.ListPolicy) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 2 with ListPolicy

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));
}
Also used : Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) Record(com.aerospike.client.Record) ArrayList(java.util.ArrayList) List(java.util.List) ListPolicy(com.aerospike.client.cdt.ListPolicy) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 3 with ListPolicy

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);
}
Also used : Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) Record(com.aerospike.client.Record) ListPolicy(com.aerospike.client.cdt.ListPolicy) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 4 with ListPolicy

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());
}
Also used : Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) Record(com.aerospike.client.Record) ArrayList(java.util.ArrayList) List(java.util.List) ListPolicy(com.aerospike.client.cdt.ListPolicy) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 5 with ListPolicy

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);
}
Also used : Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) Record(com.aerospike.client.Record) ListPolicy(com.aerospike.client.cdt.ListPolicy) Key(com.aerospike.client.Key) Test(org.junit.Test)

Aggregations

Key (com.aerospike.client.Key)5 Record (com.aerospike.client.Record)5 Value (com.aerospike.client.Value)5 ListPolicy (com.aerospike.client.cdt.ListPolicy)5 ArrayList (java.util.ArrayList)5 Test (org.junit.Test)5 List (java.util.List)3