Package com.amazonaws.services.dynamodb.model

Examples of com.amazonaws.services.dynamodb.model.QueryRequest


    public static QueryRequest MapV2QueryRequestToV1(
            com.amazonaws.services.dynamodbv2.model.QueryRequest v2Request,
            Table table) {

        QueryRequest request =
            new QueryRequest()
                .withTableName(v2Request.getTableName())
                .withAttributesToGet(v2Request.getAttributesToGet())
                .withLimit(v2Request.getLimit())
                .withConsistentRead(v2Request.getConsistentRead())
                .withScanIndexForward(v2Request.getScanIndexForward())
                .withExclusiveStartKey(MapV2KeyToV1(v2Request.getExclusiveStartKey(), table))
                ;

        request.setCount("COUNT".equals(v2Request.getSelect()));

        if (v2Request.getKeyConditions() != null) {
            for (String v2AttrName : v2Request.getKeyConditions().keySet()) {
                com.amazonaws.services.dynamodbv2.model.Condition v2Condition = v2Request.getKeyConditions().get(v2AttrName);
                if (v2AttrName.equals(table.getHashKeyName())) {
                    List<com.amazonaws.services.dynamodbv2.model.AttributeValue> v2AttrValues = v2Condition.getAttributeValueList();
                    if (v2AttrName.length() > 0) {
                        request.setHashKeyValue(MapV2AttributeValueToV1(v2AttrValues.get(0)));
                    }
                } else if (v2AttrName.equals(table.getRangeKeyName())) {
                    request.setRangeKeyCondition(MapV2ConditionToV1(v2Condition));
                }
            }
        }

        return request;
View Full Code Here


  public Boolean supports(Class clazz) {
    return QueryRequest.class.isAssignableFrom(clazz);
  }

  public List<Error> validate(Object target) {
    QueryRequest instance = (QueryRequest) target;
    List<Error> errors = ValidatorUtils.invokeValidator(new TableNameValidator(), instance.getTableName());
    errors.addAll(ValidatorUtils.invokeValidator(new PrimaryKeyValidator(), instance.getHashKeyValue()));
    if(errors.size() == 0) {
      if(instance.getLimit() != null) {
        errors.addAll(ValidatorUtils.rejectIfSizeOutOfBounds(instance.getLimit(), 1, Limits.NUMBER_MAX));
      }
      if(instance.getAttributesToGet() != null) {
        for(String attr:instance.getAttributesToGet()) {
          errors.addAll(ValidatorUtils.rejectIfNullOrEmptyOrWhitespace(attr));
        }
      }
      if(instance.getRangeKeyCondition() != null) {
        errors.addAll(ValidatorUtils.invokeValidator(new ConditionValidator(), instance.getRangeKeyCondition()));
      }
      if(instance.getExclusiveStartKey() != null) {
        errors.addAll(ValidatorUtils.invokeValidator(new PrimaryKeyValidator(), instance.getExclusiveStartKey().getHashKeyElement()));
        if(instance.getExclusiveStartKey().getRangeKeyElement() != null) {
          errors.addAll(ValidatorUtils.invokeValidator(new PrimaryKeyValidator(), instance.getExclusiveStartKey().getRangeKeyElement()));
        }
      }
    }
    return removeNulls(errors);
  }
View Full Code Here

    return queryResult;
  }

  public com.amazonaws.services.dynamodbv2.model.QueryResult queryV2(com.amazonaws.services.dynamodbv2.model.QueryRequest v2Request) {
        Table table = this.tables.get(v2Request.getTableName());
        QueryRequest request = AlternatorDBApiVersion2Mapper.MapV2QueryRequestToV1(v2Request, table);
        QueryResult result = query(request);
        return AlternatorDBApiVersion2Mapper.MapV1QueryResultToV2(result, table);
  }
View Full Code Here


public class QueryRequestJsonUnmarshaller implements Unmarshaller<QueryRequest, JsonUnmarshallerContext> {

    public QueryRequest unmarshall(JsonUnmarshallerContext context) throws Exception {
        QueryRequest request = new QueryRequest();

        int originalDepth = context.getCurrentDepth();
        int targetDepth = originalDepth + 1;

        JsonToken token = context.currentToken;
        if (token == null) token = context.nextToken();

        while (true) {
            if (token == null) break;

            if (token == JsonToken.FIELD_NAME || token == JsonToken.START_OBJECT) {
              if (context.testExpression("TableName", targetDepth)) {
                    context.nextToken();
                    request.setTableName(SimpleTypeJsonUnmarshallers.StringJsonUnmarshaller.getInstance().unmarshall(context));
                }
              if (context.testExpression("Limit", targetDepth)) {
                    context.nextToken();
                    request.setLimit(SimpleTypeJsonUnmarshallers.IntegerJsonUnmarshaller.getInstance().unmarshall(context));
                }
               if (context.testExpression("Count", targetDepth)) {
                    context.nextToken();
                    request.setCount(SimpleTypeJsonUnmarshallers.BooleanJsonUnmarshaller.getInstance().unmarshall(context));
                }
              if (context.testExpression("ConsistentRead", targetDepth)) {
                    context.nextToken();
                    request.setConsistentRead(SimpleTypeJsonUnmarshallers.BooleanJsonUnmarshaller.getInstance().unmarshall(context));
                }
               if (context.testExpression("ScanIndexForward", targetDepth)) {
                    context.nextToken();
                    request.setScanIndexForward(SimpleTypeJsonUnmarshallers.BooleanJsonUnmarshaller.getInstance().unmarshall(context));
                }
                if (context.testExpression("HashKeyValue", targetDepth)) {
                    request.setHashKeyValue(AttributeValueJsonUnmarshaller.getInstance().unmarshall(context));
                }
                if (context.testExpression("RangeKeyCondition", targetDepth)) {
                    request.setRangeKeyCondition(new ConditionJsonUnmarshaller().unmarshall(context));
                }
                if (context.testExpression("ExclusiveStartKey", targetDepth)) {
                    request.setExclusiveStartKey(KeyJsonUnmarshaller.getInstance().unmarshall(context));
                }
                if (context.testExpression("AttributesToGet", targetDepth)) {
                    request.setAttributesToGet(new ListUnmarshaller<String>(SimpleTypeJsonUnmarshallers.StringJsonUnmarshaller.getInstance()).unmarshall(context));
                }
            } else if (token == JsonToken.END_ARRAY || token == JsonToken.END_OBJECT) {
                if (context.getCurrentDepth() <= originalDepth) break;
            }
            token = context.nextToken();
View Full Code Here

        inProcessClient.save(PERSISTENCE_PATH);
        createNewInProcessClient().restore(PERSISTENCE_PATH);

        AttributeValue hashKey = new AttributeValue().withS("1");
        QueryRequest request = new QueryRequest(tableName, hashKey);
        QueryResult result = getClient().query(request);
        Assert.assertNotNull(result.getItems());
        Assert.assertNotSame(result.getItems().size(), 0);
        Map<String, AttributeValue> row = result.getItems().get(0);
        assertEquals(row.get("id"), hashKey);
View Full Code Here

    getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));
    getClient().putItem(new PutItemRequest().withItem(createGenericItem(hashKey)).withTableName(tableName));
    getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));
    getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));

    QueryRequest request = new QueryRequest(tableName, hashKey);
    QueryResult result = getClient().query(request);
    Assert.assertNotNull(result.getItems());
    Assert.assertNotSame(result.getItems().size(), 0);
    Assert.assertEquals(result.getItems().get(0).get("id"), hashKey);
  }
View Full Code Here

        AttributeValue hashKey = createStringAttribute();
        getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));
        getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));
        getClient().putItem(new PutItemRequest().withItem(createGenericItem()).withTableName(tableName));

        QueryRequest request = new QueryRequest(tableName, hashKey);
        Assert.assertNotNull(request);
        QueryResult result = getClient().query(request);
        Assert.assertNotNull(result.getItems());     //result should be null but unfortunately it not.
        Assert.assertSame(result.getItems().size(), 0);
    }
View Full Code Here

    @Test
  public void queryWithHashKeyAndAttributesToGetTest() {
        AttributeValue hashKey = setupTableWithSeveralItems();

        QueryRequest request = new QueryRequest().withTableName(tableName).withHashKeyValue(hashKey);

    List<String> attrToGet = new ArrayList<String>();
    attrToGet.add("range");
    attrToGet.add("attr1");
    attrToGet.add("bogusAttr");
    request.setAttributesToGet(attrToGet);
    QueryResult result = getClient().query(request);
    Assert.assertNotNull(result);
    Assert.assertNotNull(result.getItems());
    Assert.assertNotNull(result.getItems().get(0));
    Assert.assertFalse("First item should not contain 'id'.", result.getItems().get(0).containsKey("id"));
View Full Code Here

        inProcessClient.save(PERSISTENCE_PATH);
        createNewInProcessClient().restore(PERSISTENCE_PATH);

        AttributeValue hashKey = new AttributeValue().withS("1");
        QueryRequest request = new QueryRequest(tableName, hashKey);
        QueryResult result = getClient().query(request);
        Assert.assertNotNull(result.getItems());
        Assert.assertNotSame(result.getItems().size(), 0);
        Map<String, AttributeValue> row = result.getItems().get(0);
        assertEquals(row.get("id"), hashKey);
View Full Code Here

        inProcessClient.save(PERSISTENCE_PATH);
        createNewInProcessClient().restore(PERSISTENCE_PATH);

        AttributeValue hashKey = new AttributeValue().withS("1");
        QueryRequest request = new QueryRequest(tableName, hashKey);
        QueryResult result = getClient().query(request);
        Assert.assertNotNull(result.getItems());
        Assert.assertNotSame(result.getItems().size(), 0);
        Map<String, AttributeValue> row = result.getItems().get(0);
        assertEquals(row.get("id"), hashKey);
View Full Code Here

TOP

Related Classes of com.amazonaws.services.dynamodb.model.QueryRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.