List of usage examples for com.amazonaws.services.dynamodbv2.model GetItemRequest GetItemRequest
public GetItemRequest(String tableName, java.util.Map<String, AttributeValue> key, Boolean consistentRead)
From source file:com.vivastream.dynamodb.core.DynamoDBTemplate.java
License:Apache License
public <T> T get(String tableName, Map<String, AttributeValue> key, final ObjectExtractor<T> extractor, String... columnsToInclude) throws EmptyResultDataAccessException { Assert.notNull(tableName, "Table must not be null"); Assert.notNull(extractor, "ObjectExtractor must not be null"); if (logger.isDebugEnabled()) { logger.debug("Executing query on " + tableName + " for " + renderKey(key)); }/* w ww. ja v a 2 s . c o m*/ GetItemRequest request = new GetItemRequest(tableName, key, true); if (columnsToInclude != null && columnsToInclude.length > 0) { request.setAttributesToGet(Arrays.asList(columnsToInclude)); } GetItemResult result = client.getItem(request); Map<String, AttributeValue> item = result.getItem(); if (item == null) { throw new EmptyResultDataAccessException("No results found in " + tableName + "for " + renderKey(key)); } return extractor.extract(item); }
From source file:org.iternine.jeppetto.dao.dynamodb.DynamoDBQueryModelDAO.java
License:Apache License
@Override public T findById(ID id) throws NoSuchItemException, JeppettoException { GetItemResult result;// w ww. ja v a 2s . c om try { GetItemRequest getItemRequest = new GetItemRequest(tableName, getKeyFrom(id), consistentRead); getItemRequest.setProjectionExpression(projectionExpression); if (!projectionExpressionNames.isEmpty()) { getItemRequest.setExpressionAttributeNames(projectionExpressionNames); } result = dynamoDB.getItem(getItemRequest); } catch (AmazonClientException e) { throw new JeppettoException(e); } if (result.getItem() == null) { throw new NoSuchItemException(entityClass.getSimpleName(), id.toString()); } T t = ConversionUtil.getObjectFromItem(result.getItem(), entityClass); ((DynamoDBPersistable) t).__markPersisted(dynamoDB.toString()); return t; }