예제 #1
0
  @Test
  public void deleteHashRangeItemTest() {
    putItemWithHashKeyAndRangeKey();
    putItemWithHashKeyAndRangeKeyOverwriteItem();

    String hashCode = "hash2";
    String rangeCode = "range2";
    TestClassWithHashRangeKey value =
        mapper.load(TestClassWithHashRangeKey.class, hashCode, rangeCode);
    Assert.assertNotNull("Value not found.", value);
    Assert.assertEquals("Wrong hashCode.", hashCode, value.getHashCode());
    Assert.assertEquals("Wrong rangeCode.", rangeCode, value.getRangeCode());
    Assert.assertEquals("Wrong stringData.", "string2b", value.getStringData());
    Assert.assertEquals("Wrong intData.", 22, value.getIntData());
    Assert.assertEquals(
        "Wrong stringSetData.",
        set("stringSetVal2b1", "stringSetVal2b2"),
        value.getStringSetData());
    Assert.assertEquals("Wrong numberSetData.", set(5, 6), value.getNumberSetData());

    mapper.delete(value);

    TestClassWithHashRangeKey value2 =
        mapper.load(TestClassWithHashRangeKey.class, hashCode, rangeCode);
    Assert.assertNull("Value2 should not be found.", value2);
  }
예제 #2
0
  @Test
  public void getHashRangeItemTest() {
    putItemWithHashKeyAndRangeKey();
    putItemWithHashKeyAndRangeKeyOverwriteItem();

    TestClassWithHashRangeKey value2c = new TestClassWithHashRangeKey();
    value2c.setHashCode("hash2");
    value2c.setRangeCode("range2c");
    value2c.setStringData("string2c");
    value2c.setIntData(23);
    value2c.setStringSetData(set("stringSetVal2c1", "stringSetVal2c2"));
    value2c.setNumberSetData(set(7, 8));
    mapper.save(value2c);

    String hashCode = "hash2";
    String rangeCode = "range2";
    TestClassWithHashRangeKey value =
        mapper.load(TestClassWithHashRangeKey.class, hashCode, rangeCode);
    Assert.assertNotNull("Value not found.", value);
    Assert.assertEquals("Wrong hashCode.", hashCode, value.getHashCode());
    Assert.assertEquals("Wrong rangeCode.", rangeCode, value.getRangeCode());
    Assert.assertEquals("Wrong stringData.", "string2b", value.getStringData());
    Assert.assertEquals("Wrong intData.", 22, value.getIntData());
    Assert.assertEquals(
        "Wrong stringSetData.",
        set("stringSetVal2b1", "stringSetVal2b2"),
        value.getStringSetData());
    Assert.assertEquals("Wrong numberSetData.", set(5, 6), value.getNumberSetData());
  }
예제 #3
0
  @Test
  public void queryWithHashRangeKey() {
    putItemWithHashKeyAndRangeKey();

    TestClassWithHashRangeKey value2c = new TestClassWithHashRangeKey();
    value2c.setHashCode("hash2");
    value2c.setRangeCode("range2c");
    value2c.setStringData("string2c");
    value2c.setIntData(23);
    value2c.setStringSetData(set("stringSetVal2c1", "stringSetVal2c2"));
    value2c.setNumberSetData(set(7, 8));
    mapper.save(value2c);

    TestClassWithHashRangeKey value2d = new TestClassWithHashRangeKey();
    value2d.setHashCode("hash2");
    value2d.setRangeCode("range2d");
    value2d.setStringData("string2d");
    value2d.setIntData(24);
    value2d.setStringSetData(set("stringSetVal2d1", "stringSetVal2d2"));
    value2d.setNumberSetData(set(9, 10));
    mapper.save(value2d);

    TestClassWithHashRangeKey value2e = new TestClassWithHashRangeKey();
    value2e.setHashCode("hash2");
    value2e.setRangeCode("range2e");
    value2e.setStringData("string2e");
    value2e.setIntData(25);
    value2e.setStringSetData(set("stringSetVal2e1", "stringSetVal2e2"));
    value2e.setNumberSetData(set(11, 12));
    mapper.save(value2e);

    String hashCode = "hash2";
    TestClassWithHashRangeKey hashKeyTemplate = new TestClassWithHashRangeKey();
    hashKeyTemplate.setHashCode(hashCode);

    Condition rangeKeyCondition = new Condition();
    List<AttributeValue> rangeValues = new ArrayList<AttributeValue>();
    rangeValues.add(new AttributeValue().withS("range2c"));
    rangeValues.add(new AttributeValue().withS("range2d"));
    rangeKeyCondition.setComparisonOperator(ComparisonOperator.BETWEEN);
    rangeKeyCondition.setAttributeValueList(rangeValues);

    DynamoDBQueryExpression<TestClassWithHashRangeKey> query =
        new DynamoDBQueryExpression<TestClassWithHashRangeKey>()
            .withHashKeyValues(hashKeyTemplate)
            .withRangeKeyCondition("rangeCode", rangeKeyCondition);

    List<TestClassWithHashRangeKey> valueList =
        mapper.query(TestClassWithHashRangeKey.class, query);
    Assert.assertNotNull("Value list is null.", valueList);
    Assert.assertNotSame("Value list is empty.", 0, valueList.size());

    Assert.assertEquals("Value list should have 2 items.", 2, valueList.size());

    TestClassWithHashRangeKey value = valueList.get(0);
    Assert.assertEquals("Wrong hashCode.", hashCode, value.getHashCode());
    Assert.assertEquals("Wrong rangeCode.", "range2c", value.getRangeCode());
    Assert.assertEquals("Wrong stringData.", "string2c", value.getStringData());
    Assert.assertEquals("Wrong intData.", 23, value.getIntData());
    Assert.assertEquals(
        "Wrong stringSetData.",
        set("stringSetVal2c1", "stringSetVal2c2"),
        value.getStringSetData());
    Assert.assertEquals("Wrong numberSetData.", set(7, 8), value.getNumberSetData());

    value = valueList.get(1);
    Assert.assertEquals("Wrong hashCode.", hashCode, value.getHashCode());
    Assert.assertEquals("Wrong rangeCode.", "range2d", value.getRangeCode());
    Assert.assertEquals("Wrong stringData.", "string2d", value.getStringData());
    Assert.assertEquals("Wrong intData.", 24, value.getIntData());
    Assert.assertEquals(
        "Wrong stringSetData.",
        set("stringSetVal2d1", "stringSetVal2d2"),
        value.getStringSetData());
    Assert.assertEquals("Wrong numberSetData.", set(9, 10), value.getNumberSetData());
  }