Search in sources :

Example 1 with LargeList

use of com.aerospike.client.large.LargeList in project aerospike-client-java by aerospike.

the class TestLargeList method runWithSerializedBin.

@Test
@SuppressWarnings("unchecked")
public void runWithSerializedBin() throws IOException {
    if (!args.validateLDT()) {
        return;
    }
    Key key = new Key(args.namespace, args.set, "accountId");
    // Delete record if it already exists.
    client.delete(null, key);
    // Initialize large list operator.
    LargeList list = client.getLargeList(null, key, "trades");
    // Write trades
    Map<String, Value> map = new HashMap<String, Value>();
    ByteArrayOutputStream byteStream = new ByteArrayOutputStream(500);
    DataOutputStream writer = new DataOutputStream(byteStream);
    Calendar timestamp1 = new GregorianCalendar(2014, 6, 25, 12, 18, 43);
    map.put("key", Value.get(timestamp1.getTimeInMillis()));
    // ticker
    writer.writeUTF("IBM");
    // qty
    writer.writeInt(100);
    // price
    writer.writeDouble(181.82);
    map.put("value", Value.get(byteStream.toByteArray()));
    list.add(Value.get(map));
    Calendar timestamp2 = new GregorianCalendar(2014, 6, 26, 9, 33, 17);
    map.put("key", Value.get(timestamp2.getTimeInMillis()));
    byteStream.reset();
    // ticker
    writer.writeUTF("GE");
    // qty
    writer.writeInt(500);
    // price
    writer.writeDouble(26.36);
    map.put("value", Value.get(byteStream.toByteArray()));
    list.add(Value.get(map));
    Calendar timestamp3 = new GregorianCalendar(2014, 6, 27, 14, 40, 19);
    map.put("key", Value.get(timestamp3.getTimeInMillis()));
    byteStream.reset();
    // ticker
    writer.writeUTF("AAPL");
    // qty
    writer.writeInt(75);
    // price
    writer.writeDouble(91.85);
    map.put("value", Value.get(byteStream.toByteArray()));
    list.add(Value.get(map));
    // Verify list size
    int size = list.size();
    assertEquals(3, size);
    // Filter on range of timestamps
    Calendar begin = new GregorianCalendar(2014, 6, 26);
    Calendar end = new GregorianCalendar(2014, 6, 28);
    List<Map<String, Object>> results = (List<Map<String, Object>>) list.range(Value.get(begin.getTimeInMillis()), Value.get(end.getTimeInMillis()));
    assertNotNull(results);
    assertEquals(2, results.size());
    // Verify data.
    validateWithSerializedBin(results, 0, timestamp2, "GE", 500, 26.36);
    validateWithSerializedBin(results, 1, timestamp3, "AAPL", 75, 91.85);
}
Also used : HashMap(java.util.HashMap) LargeList(com.aerospike.client.large.LargeList) DataOutputStream(java.io.DataOutputStream) Calendar(java.util.Calendar) GregorianCalendar(java.util.GregorianCalendar) GregorianCalendar(java.util.GregorianCalendar) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Value(com.aerospike.client.Value) ArrayList(java.util.ArrayList) LargeList(com.aerospike.client.large.LargeList) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 2 with LargeList

use of com.aerospike.client.large.LargeList in project aerospike-client-java by aerospike.

the class TestLargeList method filterLargeList.

@Test
public void filterLargeList() {
    if (!args.validateLDT()) {
        return;
    }
    Key key = new Key(args.namespace, args.set, "setkey");
    // Delete record if it already exists.
    client.delete(null, key);
    // Initialize large set operator.
    LargeList llist = client.getLargeList(null, key, binName);
    int orig1 = 1;
    int orig2 = 2;
    int orig3 = 3;
    int orig4 = 4;
    // Write values.
    llist.add(Value.get(orig1), Value.get(orig2), Value.get(orig3), Value.get(orig4));
    // Filter on values
    List<?> filterList = llist.filter("largelist_example", "my_filter_func", Value.get(orig3));
    assertNotNull(filterList);
    assertEquals(1, filterList.size());
    Long v = (Long) filterList.get(0);
    assertEquals(orig3, v.intValue());
}
Also used : LargeList(com.aerospike.client.large.LargeList) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 3 with LargeList

use of com.aerospike.client.large.LargeList in project aerospike-client-java by aerospike.

the class TestLargeList method runVolumeInsert.

@Test
public void runVolumeInsert() {
    if (!args.validateLDT()) {
        return;
    }
    // This key has already been created in runSimpleExample().
    Key key = new Key(args.namespace, args.set, "setkey");
    int itemCount = 2000;
    LargeList llist2 = client.getLargeList(null, key, "NumberBin");
    for (int i = itemCount; i > 0; i--) {
        llist2.add(Value.get(i));
    }
    assertEquals(2000, llist2.size());
}
Also used : LargeList(com.aerospike.client.large.LargeList) Key(com.aerospike.client.Key) Test(org.junit.Test)

Example 4 with LargeList

use of com.aerospike.client.large.LargeList in project aerospike-client-java by aerospike.

the class InsertTaskSync method largeListAdd.

private void largeListAdd(Key key, Value value, long timestamp) {
    // Create entry
    Map<String, Value> entry = new HashMap<String, Value>();
    entry.put("key", Value.get(timestamp));
    entry.put("log", value);
    // Add entry
    LargeList list = client.getLargeList(args.writePolicy, key, "listltracker");
    list.add(Value.get(entry));
}
Also used : HashMap(java.util.HashMap) LargeList(com.aerospike.client.large.LargeList) Value(com.aerospike.client.Value)

Example 5 with LargeList

use of com.aerospike.client.large.LargeList in project aerospike-client-java by aerospike.

the class RWTaskSync method largeListAdd.

private void largeListAdd(Key key, Value value, long timestamp) {
    // Create entry
    Map<String, Value> entry = new HashMap<String, Value>();
    entry.put("key", Value.get(timestamp));
    entry.put("log", value);
    // Add entry
    LargeList list = client.getLargeList(args.writePolicy, key, "listltracker");
    list.add(Value.get(entry));
}
Also used : HashMap(java.util.HashMap) LargeList(com.aerospike.client.large.LargeList) Value(com.aerospike.client.Value)

Aggregations

LargeList (com.aerospike.client.large.LargeList)8 Key (com.aerospike.client.Key)5 Value (com.aerospike.client.Value)5 Test (org.junit.Test)5 HashMap (java.util.HashMap)4 ArrayList (java.util.ArrayList)3 Calendar (java.util.Calendar)2 GregorianCalendar (java.util.GregorianCalendar)2 List (java.util.List)2 Map (java.util.Map)2 AerospikeException (com.aerospike.client.AerospikeException)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 DataOutputStream (java.io.DataOutputStream)1