public QuerySpec() { super(new QueryRequest()); }
protected <T> QueryRequest createQueryRequestFromExpression(Class<T> clazz, DynamoDBQueryExpression<T> xpress, DynamoDBMapperConfig config) { final DynamoDBMapperTableModel<T> model = getTableModel(clazz, config); QueryRequest req = new QueryRequest(); req.setConsistentRead(xpress.isConsistentRead()); req.setTableName(getTableName(clazz, xpress.getHashKeyValues(), config)); req.setIndexName(xpress.getIndexName()); req.setKeyConditionExpression(xpress.getKeyConditionExpression()); processKeyConditions(req, xpress, model); req.withScanIndexForward(xpress.isScanIndexForward()) .withLimit(xpress.getLimit()) .withExclusiveStartKey(xpress.getExclusiveStartKey()) .withQueryFilter(xpress.getQueryFilter()) .withConditionalOperator(xpress.getConditionalOperator()) .withSelect(xpress.getSelect()) .withProjectionExpression(xpress.getProjectionExpression()) .withFilterExpression(xpress.getFilterExpression()) .withExpressionAttributeNames(xpress.getExpressionAttributeNames()) .withExpressionAttributeValues(xpress.getExpressionAttributeValues()) .withReturnConsumedCapacity(xpress.getReturnConsumedCapacity()) .withRequestMetricCollector(config.getRequestMetricCollector()) ; return applyUserAgent(req); }
@Override public Map<String, List<SchemaField>> getCollections(String project) { QueryResult query = dynamoDBClient.query(new QueryRequest() .withTableName(tableConfig.getTableName()) .withKeyConditions(ImmutableMap.of("project", new Condition() .withComparisonOperator(EQ) .withAttributeValueList(new AttributeValue(project))))); Map<String, List<SchemaField>> builder = new HashMap(); for (Map<String, AttributeValue> entry : query.getItems()) { if (entry.get("id").getS().equals("|")) { continue; } builder.computeIfAbsent(entry.get("collection").getS(), (k) -> new ArrayList<>()).add(new SchemaField( entry.get("name").getS(), FieldType.valueOf(entry.get("type").getS()))); } return builder; }
@Override public CompletableFuture<QueryResult> searchUsers(RequestContext context, List<String> columns, Expression filterExpression, List<EventFilter> eventFilter, Sorting sortColumn, long limit, String offset) { QueryRequest scanRequest = new QueryRequest() .withTableName(tableConfig.getTableName()); if (columns != null && !columns.isEmpty()) {
@Override public List<SchemaField> getCollection(String project, String collection) { QueryResult query = dynamoDBClient.query(new QueryRequest() .withTableName(tableConfig.getTableName()) .withKeyConditions(ImmutableMap.of("project", new Condition().withComparisonOperator(EQ).withAttributeValueList(new AttributeValue(project)))) .withQueryFilter( ImmutableMap.of("collection", new Condition().withComparisonOperator(EQ) .withAttributeValueList(new AttributeValue(collection))))); return query.getItems().stream() .filter(e -> !e.get("id").getS().equals("|")) .map(e -> new SchemaField(e.get("name").getS(), FieldType.valueOf(e.get("type").getS()))) .collect(Collectors.toList()); }
public QuerySpec() { super(new QueryRequest()); }
@Override public void deleteProject(String project) { dynamoDBClient.deleteItem(new DeleteItemRequest() .withTableName(tableConfig.getTableName()) .withKey( new AbstractMap.SimpleEntry<>("project", new AttributeValue(project)), new AbstractMap.SimpleEntry<>("id", new AttributeValue("|")))); for (int i = 0; i < 100; i++) { List<Map<String, AttributeValue>> items = dynamoDBClient.query(new QueryRequest() .withTableName(tableConfig.getTableName()) .withKeyConditions(ImmutableMap.of("project", new Condition().withComparisonOperator(EQ) .withAttributeValueList(new AttributeValue(project))))).getItems(); if (items == null || items.isEmpty()) { return; } for (Map<String, AttributeValue> item : items) { dynamoDBClient.deleteItem(new DeleteItemRequest() .withTableName(tableConfig.getTableName()) .withKey( new AbstractMap.SimpleEntry<>("project", new AttributeValue(project)), new AbstractMap.SimpleEntry<>("id", new AttributeValue(item.get("id").getS())))); } } throw new RakamException("Unable to delete project", HttpResponseStatus.INTERNAL_SERVER_ERROR); }
private List<Document> getNextQueryResultSet() { final List<Document> returnValue = new ArrayList<Document>(); final QueryRequest request = new QueryRequest();
final QueryRequest request = new QueryRequest(); request.withExclusiveStartKey(nextKey) .withTableName(tableName)
QueryRequest queryRequest = new QueryRequest() .withTableName("ProductByStatus") .withHashKeyValue(new AttributeValue().withS("ready")); QueryResult result = client.query(queryRequest);
QueryRequest userRequest = new QueryRequest("User"); userRequest.setFetch(new Fetch("UserName", "Subscription", "DisplayName", "SubscriptionAdmin")); userRequest.setQueryFilter(new QueryFilter("UserName", "=", "someuser@co.com")); QueryResponse userQueryResponse = restApi.query(userRequest); JsonArray userQueryResults = userQueryResponse.getResults(); JsonElement userQueryElement = userQueryResults.get(0); JsonObject userQueryObject = userQueryElement.getAsJsonObject(); String userRef = userQueryObject.get("_ref").getAsString(); System.out.println(userRef); if (userQueryObject.get("SubscriptionAdmin").getAsBoolean() == false){ System.out.println(userQueryObject.get("SubscriptionAdmin")); }
QueryRequest alltags = new QueryRequest("Tag"); alltags.setQueryFilter(new QueryFilter("Name", "=", tagx); QueryResponse resp = r.query(alltags); if(resp.wasSuccessful() && resp.getResults().size() == 1) { //tag is at index 0 in results }
protected QueryRequest createQueryRequest() { return new QueryRequest() .withTableName(tableName) .withConsistentRead(forceConsistentRead) .withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL); } protected ScanRequest createScanRequest() {
RallyRestApi restApi = new RallyRestApi(new URI("https://rally1.rallydev.com"), "user@company.com", "password"); //retrieve only 1 QueryRequest defectCount = new QueryRequest("defect"); defects.setPageSize(1); defects.setLimit(1); //for a specific project defectCount.setProject("/project/12345"); defectCount.setScopedUp(false); defectCount.setScopedDown(false); QueryResponse defectCountResponse = restApi.query(defectCount); int total = defectCountResponse.getTotalResultCount();
QueryRequest request = new QueryRequest(); request.setTableName(tablename); QueryResult result = dynamoDB.query(request); ItemCollection<QueryOutcome> items = result.getItems(); Map<String,AttributeValue> lastKey = result.getLastEvaluatedKey();
try{ QueryRequest c = new QueryRequest("testcaseresult"); c.setFetch(new Fetch("testcase")); c.setQueryFilter(new QueryFilter("testcase", "=", testCaseRef)); QueryResponse cc = r.query(c); String testresultRef = cc.getResults().get(0).getAsJsonObject().get("_ref").toString(); } catch(IndexOutOfBoundsException e){ //Create a testcaseresult here. }
private <T> QueryRequest createQueryRequestFromExpression(Class<T> clazz, DynamoDBQueryExpression<T> queryExpression, DynamoDBMapperConfig config) { final QueryRequest queryRequest = new QueryRequest(); queryRequest.setConsistentRead(queryExpression.isConsistentRead()); queryRequest.setTableName(getTableName(clazz, queryExpression.getHashKeyValues(), config)); queryRequest.setIndexName(queryExpression.getIndexName()); final ItemConverter converter = getConverter(config); // Hash key (primary or index) conditions final Map<String, Condition> hashKeyConditions = getHashKeyEqualsConditions( converter, queryExpression.getHashKeyValues()); // Range key (primary or index) conditions final Map<String, Condition> rangeKeyConditions = queryExpression.getRangeKeyConditions(); processKeyConditions(clazz, queryRequest, hashKeyConditions, rangeKeyConditions); queryRequest.setScanIndexForward(queryExpression.isScanIndexForward()); queryRequest.setLimit(queryExpression.getLimit()); queryRequest.setExclusiveStartKey(queryExpression.getExclusiveStartKey()); queryRequest.setQueryFilter(queryExpression.getQueryFilter()); queryRequest.setConditionalOperator(queryExpression.getConditionalOperator()); queryRequest.setRequestMetricCollector(config.getRequestMetricCollector()); queryRequest.setFilterExpression(queryExpression.getFilterExpression()); queryRequest.setExpressionAttributeNames(queryExpression .getExpressionAttributeNames()); queryRequest.setExpressionAttributeValues(queryExpression .getExpressionAttributeValues()); return applyUserAgent(queryRequest); }
QueryRequest testCaseResultsRequest = new QueryRequest("TestCaseResult"); testCaseResultsRequest.setFetch(new Fetch("Build","TestCase","TestSet", "Verdict","FormattedID")); testCaseResultsRequest.setQueryFilter(new QueryFilter("TestCase.FormattedID", "=", "TC8147").and( new QueryFilter("TestSet.FormattedID", "=", "TS363"))); QueryResponse testCaseResultResponse = restApi.query(testCaseResultsRequest); int numberTestCaseResults = testCaseResultResponse.getTotalResultCount(); System.out.println(numberTestCaseResults); if(numberTestCaseResults >0) System.out.println(testCaseResultResponse.getResults().get(0).getAsJsonObject().get("Verdict").getAsString()); else System.out.println("Not executed");
QueryRequest defectRequest = new QueryRequest("defect"); defectRequest.setFetch(new Fetch("Project", "LastUpdateDate", "FormattedId", "SubmittedBy", "Owner")); defectRequest.setProject("/project/12345"); //The project oid for your project defectRequest.setScopedDown(true); QueryResponse projectDefects = rallyApi.query(defectRequest);
public static QueryRequest copyQueryRequest(QueryRequest queryRequest) { QueryRequest copiedQueryRequest = new QueryRequest().withAttributesToGet(queryRequest.getAttributesToGet()) .withConsistentRead(queryRequest.getConsistentRead()) .withExclusiveStartKey(queryRequest.getExclusiveStartKey()).withIndexName(queryRequest.getIndexName()) .withKeyConditions(queryRequest.getKeyConditions()).withLimit(queryRequest.getLimit()) .withReturnConsumedCapacity(queryRequest.getReturnConsumedCapacity()) .withScanIndexForward(queryRequest.getScanIndexForward()).withSelect(queryRequest.getSelect()) .withTableName(queryRequest.getTableName()); return copiedQueryRequest; } }