Search in sources :

Example 1 with Person

use of org.apache.gora.dynamodb.example.generated.Person in project gora by apache.

the class TestDynamoDBNativeStore method assertTestGetDataStore.

/**
 * Method to get an specific object using a key
 */
@Override
public void assertTestGetDataStore() {
    log.info("test method: testGet using specific data store.");
    try {
        DynamoDBKey<Long, String> dKey = new DynamoDBKey<>();
        dKey.setHashKey(11L);
        dKey.setRangeKey("10/10/1999");
        // insert item
        Person p1 = buildPerson(dKey.getHashKey(), dKey.getRangeKey().toString(), "Inca", "Atahualpa", "Peru", "Brazil", "Ecuador");
        dataStore.put(dKey, p1);
        // get item
        Person p2 = dataStore.get(dKey);
        printPersonInfo(p2);
    } catch (Exception e) {
        log.error("error in test method: testGetDataStore.", e.getMessage());
        throw new RuntimeException(e);
    }
}
Also used : DynamoDBKey(org.apache.gora.dynamodb.query.DynamoDBKey) Person(org.apache.gora.dynamodb.example.generated.Person) IOException(java.io.IOException)

Example 2 with Person

use of org.apache.gora.dynamodb.example.generated.Person in project gora by apache.

the class TestDynamoDBNativeStore method assertPut.

/**
 * Method to put items into the data store
 */
@Override
public void assertPut() {
    try {
        log.info("test method: TestPut using DynamoDB store.");
        DynamoDBKey<Long, String> dKey = new DynamoDBKey<>();
        dKey.setHashKey(12L);
        dKey.setRangeKey("10/10/1880");
        Person p1 = buildPerson(dKey.getHashKey(), dKey.getRangeKey().toString(), "Inca", "Atahualpa", "Peru", "Brazil", "Ecuador");
        dataStore.put(dKey, p1);
        dKey.setRangeKey("11/10/1707");
        Person p2 = buildPerson(dKey.getHashKey(), dKey.getRangeKey().toString(), "William", "Wallace", "Germany", "USA", "Scotland");
        dataStore.put(dKey, p2);
    } catch (Exception e) {
        log.error("error in test method: testPut.", e.getMessage());
        throw new RuntimeException(e);
    }
}
Also used : DynamoDBKey(org.apache.gora.dynamodb.query.DynamoDBKey) Person(org.apache.gora.dynamodb.example.generated.Person) IOException(java.io.IOException)

Example 3 with Person

use of org.apache.gora.dynamodb.example.generated.Person in project gora by apache.

the class TestDynamoDBNativeStore method buildPerson.

/**
 * Method to generate persisten objects
 *
 * @param key
 * @param pRangeKey
 * @param pFirstName
 * @param pLastName
 * @param places
 * @return
 */
private Person buildPerson(Long key, String pRangeKey, String pFirstName, String pLastName, String... places) {
    Person newPerson = new Person();
    newPerson.setRangeKey(pRangeKey);
    newPerson.setHashKey(key);
    newPerson.setFirstName(pFirstName);
    newPerson.setLastName(pLastName);
    newPerson.setVisitedplaces(new HashSet<String>());
    for (String place : places) newPerson.getVisitedplaces().add(place);
    return newPerson;
}
Also used : Person(org.apache.gora.dynamodb.example.generated.Person)

Example 4 with Person

use of org.apache.gora.dynamodb.example.generated.Person in project gora by apache.

the class TestDynamoDBNativeStore method assertTestDeleteByQueryDataStore.

// ==========================================================================
/**
 * Tests deleting items using a query
 */
@Override
public void assertTestDeleteByQueryDataStore() {
    try {
        log.info("test method: TestDeleteByQuery using DynamoDB store.");
        DynamoDBKey<Long, String> dKey = new DynamoDBKey<>();
        dKey.setHashKey(100L);
        dKey.setRangeKey("10/10/1880");
        Person p1 = buildPerson(dKey.getHashKey(), dKey.getRangeKey().toString(), "John", "Doe", "Peru", "Brazil", "Ecuador");
        dataStore.put(dKey, p1);
        dKey.setRangeKey("11/10/1707");
        Person p2 = buildPerson(dKey.getHashKey(), dKey.getRangeKey().toString(), "Juan", "Perez", "Germany", "USA", "Scotland");
        dataStore.put(dKey, p2);
        DynamoDBQuery.setScanCompOp(ComparisonOperator.LE);
        DynamoDBQuery.setType(DynamoDBQuery.SCAN_QUERY);
        Query<DynamoDBKey, Person> query = new DynamoDBQuery<DynamoDBKey, Person>();
        query.setKey(dKey);
        log.info("Number of records deleted: " + dataStore.deleteByQuery(query));
    } catch (Exception e) {
        log.error("Error while running test: TestDeleteByQuery", e.getMessage());
        throw new RuntimeException(e);
    }
}
Also used : DynamoDBQuery(org.apache.gora.dynamodb.query.DynamoDBQuery) DynamoDBKey(org.apache.gora.dynamodb.query.DynamoDBKey) Person(org.apache.gora.dynamodb.example.generated.Person) IOException(java.io.IOException)

Example 5 with Person

use of org.apache.gora.dynamodb.example.generated.Person in project gora by apache.

the class TestDynamoDBNativeStore method assertTestDeleteDataStore.

/**
 * Method to delete items into the data store
 */
@Override
public void assertTestDeleteDataStore() {
    log.info("test method: testDelete by key");
    try {
        DynamoDBKey<Long, String> dKey = new DynamoDBKey<Long, String>();
        dKey.setHashKey(10L);
        dKey.setRangeKey("10/10/1985");
        Person p1 = new Person();
        p1.setHashKey(dKey.getHashKey());
        p1.setRangeKey(dKey.getRangeKey());
        p1.setFirstName("Joao");
        p1.setLastName("Velasco");
        dataStore.put(dKey, p1);
        assertTrue(dataStore.delete(dKey));
        dKey.setRangeKey("10/10/1000");
        assertFalse(dataStore.delete(dKey));
    } catch (Exception e) {
        log.error("error in test method: testDeleteDataStore.", e.getMessage());
        throw new RuntimeException(e);
    }
}
Also used : DynamoDBKey(org.apache.gora.dynamodb.query.DynamoDBKey) Person(org.apache.gora.dynamodb.example.generated.Person) IOException(java.io.IOException)

Aggregations

Person (org.apache.gora.dynamodb.example.generated.Person)6 IOException (java.io.IOException)5 DynamoDBKey (org.apache.gora.dynamodb.query.DynamoDBKey)5 DynamoDBQuery (org.apache.gora.dynamodb.query.DynamoDBQuery)1