Search in sources :

Example 6 with SelectResult

use of com.amazonaws.services.simpledb.model.SelectResult in project siena by mandubian.

the class SdbPersistenceManager method count.

public <T> int count(Query<T> query) {
    StringBuffer domainBuf = new StringBuffer();
    SelectRequest req = SdbMappingUtils.buildCountQuery(query, prefix, domainBuf);
    try {
        checkDomain(domainBuf.toString());
        req.setConsistentRead(isReadConsistent());
        SelectResult res = sdb.select(req);
        return SdbMappingUtils.mapSelectResultToCount(res);
    } catch (AmazonClientException ex) {
        throw new SienaException(ex);
    }
}
Also used : SelectResult(com.amazonaws.services.simpledb.model.SelectResult) AmazonClientException(com.amazonaws.AmazonClientException) SienaException(siena.SienaException) SelectRequest(com.amazonaws.services.simpledb.model.SelectRequest)

Example 7 with SelectResult

use of com.amazonaws.services.simpledb.model.SelectResult in project simplejpa by appoxy.

the class ConcurrentRetriever method test.

public static List<ItemAndAttributes> test(EntityManagerSimpleJPA em, String domainName) throws AmazonClientException, ExecutionException, InterruptedException {
    AmazonSimpleDB db = em.getSimpleDb();
    SelectResult result = DomainHelper.selectItems(db, "select * from `" + domainName + "`", null);
    List<SdbItem> list = new ArrayList<SdbItem>();
    for (Item item : result.getItems()) {
        list.add(new SdbItemImpl2(item));
    }
    return getAttributesFromSdb(list, em.getExecutor(), em);
}
Also used : SelectResult(com.amazonaws.services.simpledb.model.SelectResult) SdbItem(com.spaceprogram.simplejpa.SdbItem) Item(com.amazonaws.services.simpledb.model.Item) SdbItem(com.spaceprogram.simplejpa.SdbItem) AmazonSimpleDB(com.amazonaws.services.simpledb.AmazonSimpleDB) ArrayList(java.util.ArrayList) SdbItemImpl2(com.spaceprogram.simplejpa.SdbItemImpl2)

Example 8 with SelectResult

use of com.amazonaws.services.simpledb.model.SelectResult in project simplejpa by appoxy.

the class DomainHelper method listAllItems.

/**
     * A utility method for loading up all the items in a domain.
     * 
     * @param db
     * @param domainName
     * @param consistentRead true to read consistently, false to use eventual consistency
     * @return
     * @throws AmazonClientException
     */
public static List<Item> listAllItems(AmazonSimpleDB db, String domainName, boolean consistentRead) throws AmazonClientException {
    SelectResult results = new SelectResult();
    List<Item> items = new ArrayList<Item>();
    do {
        results = db.select(new SelectRequest().withConsistentRead(consistentRead).withSelectExpression("select * from `" + domainName + "`").withNextToken(results.getNextToken()));
        items.addAll(results.getItems());
    } while (results.getNextToken() != null);
    return items;
}
Also used : SelectResult(com.amazonaws.services.simpledb.model.SelectResult) Item(com.amazonaws.services.simpledb.model.Item) ArrayList(java.util.ArrayList) SelectRequest(com.amazonaws.services.simpledb.model.SelectRequest)

Example 9 with SelectResult

use of com.amazonaws.services.simpledb.model.SelectResult in project simplejpa by appoxy.

the class DomainHelperTests method selectItemsTests.

@Test
public void selectItemsTests() {
    EntityManagerSimpleJPA em = (EntityManagerSimpleJPA) factory.createEntityManager();
    AmazonSimpleDB sdbClient = em.getSimpleDb();
    String domainName = "simplejpa-domainhelper-tests";
    sdbClient.createDomain(new CreateDomainRequest().withDomainName(domainName));
    try {
        for (int i = 0; i < 10; i++) {
            sdbClient.putAttributes(new PutAttributesRequest().withItemName("thing" + i).withDomainName(domainName).withAttributes(new ReplaceableAttribute("name", "value", true)));
        }
        SelectResult result = DomainHelper.selectItems(sdbClient, String.format("select * from `%s` LIMIT 3", domainName), null);
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, String.format("select * from `%s` LIMIT 3", domainName), result.getNextToken());
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, String.format("select * from `%s` LIMIT 3", domainName), result.getNextToken());
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, String.format("select * from `%s` LIMIT 3", domainName), result.getNextToken());
        Assert.assertEquals(1, result.getItems().size());
        Assert.assertNull(result.getNextToken());
    } finally {
        sdbClient.deleteDomain(new DeleteDomainRequest().withDomainName(domainName));
    }
}
Also used : SelectResult(com.amazonaws.services.simpledb.model.SelectResult) DeleteDomainRequest(com.amazonaws.services.simpledb.model.DeleteDomainRequest) AmazonSimpleDB(com.amazonaws.services.simpledb.AmazonSimpleDB) CreateDomainRequest(com.amazonaws.services.simpledb.model.CreateDomainRequest) PutAttributesRequest(com.amazonaws.services.simpledb.model.PutAttributesRequest) ReplaceableAttribute(com.amazonaws.services.simpledb.model.ReplaceableAttribute) Test(org.junit.Test)

Example 10 with SelectResult

use of com.amazonaws.services.simpledb.model.SelectResult in project simplejpa by appoxy.

the class DomainHelperTests method selectItemsWithWhereTests.

@Test
public void selectItemsWithWhereTests() {
    EntityManagerSimpleJPA em = (EntityManagerSimpleJPA) factory.createEntityManager();
    AmazonSimpleDB sdbClient = em.getSimpleDb();
    String domainName = "simplejpa-domainhelper-tests";
    sdbClient.createDomain(new CreateDomainRequest().withDomainName(domainName));
    try {
        for (int i = 0; i < 10; i++) {
            sdbClient.putAttributes(new PutAttributesRequest().withItemName("thing" + i).withDomainName(domainName).withAttributes(new ReplaceableAttribute("name", "value", true)));
        }
        SelectResult result = DomainHelper.selectItems(sdbClient, domainName, "name = 'value' LIMIT 3", null);
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, domainName, "name = 'value' LIMIT 3", result.getNextToken());
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, domainName, "name = 'value' LIMIT 3", result.getNextToken());
        Assert.assertEquals(3, result.getItems().size());
        Assert.assertNotNull(result.getNextToken());
        result = DomainHelper.selectItems(sdbClient, domainName, "name = 'value' LIMIT 3", result.getNextToken());
        Assert.assertEquals(1, result.getItems().size());
        Assert.assertNull(result.getNextToken());
    } finally {
        sdbClient.deleteDomain(new DeleteDomainRequest().withDomainName(domainName));
    }
}
Also used : SelectResult(com.amazonaws.services.simpledb.model.SelectResult) DeleteDomainRequest(com.amazonaws.services.simpledb.model.DeleteDomainRequest) AmazonSimpleDB(com.amazonaws.services.simpledb.AmazonSimpleDB) CreateDomainRequest(com.amazonaws.services.simpledb.model.CreateDomainRequest) PutAttributesRequest(com.amazonaws.services.simpledb.model.PutAttributesRequest) ReplaceableAttribute(com.amazonaws.services.simpledb.model.ReplaceableAttribute) Test(org.junit.Test)

Aggregations

SelectResult (com.amazonaws.services.simpledb.model.SelectResult)22 SelectRequest (com.amazonaws.services.simpledb.model.SelectRequest)12 Item (com.amazonaws.services.simpledb.model.Item)11 AmazonClientException (com.amazonaws.AmazonClientException)7 ReplaceableAttribute (com.amazonaws.services.simpledb.model.ReplaceableAttribute)5 ArrayList (java.util.ArrayList)5 Attribute (com.amazonaws.services.simpledb.model.Attribute)4 SienaException (siena.SienaException)4 AmazonSimpleDB (com.amazonaws.services.simpledb.AmazonSimpleDB)3 LinkedList (java.util.LinkedList)3 CreateDomainRequest (com.amazonaws.services.simpledb.model.CreateDomainRequest)2 DeleteDomainRequest (com.amazonaws.services.simpledb.model.DeleteDomainRequest)2 PutAttributesRequest (com.amazonaws.services.simpledb.model.PutAttributesRequest)2 Date (java.util.Date)2 LinkedHashMap (java.util.LinkedHashMap)2 Test (org.junit.Test)2 Test (org.testng.annotations.Test)2 NoSuchDomainException (com.amazonaws.services.simpledb.model.NoSuchDomainException)1 EventType (com.netflix.simianarmy.EventType)1 MonkeyType (com.netflix.simianarmy.MonkeyType)1