@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getItem() == null) ? 0 : getItem().hashCode()); hashCode = prime * hashCode + ((getExpected() == null) ? 0 : getExpected().hashCode()); hashCode = prime * hashCode + ((getReturnValues() == null) ? 0 : getReturnValues().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); hashCode = prime * hashCode + ((getReturnItemCollectionMetrics() == null) ? 0 : getReturnItemCollectionMetrics().hashCode()); hashCode = prime * hashCode + ((getConditionalOperator() == null) ? 0 : getConditionalOperator().hashCode()); hashCode = prime * hashCode + ((getConditionExpression() == null) ? 0 : getConditionExpression().hashCode()); hashCode = prime * hashCode + ((getExpressionAttributeNames() == null) ? 0 : getExpressionAttributeNames().hashCode()); hashCode = prime * hashCode + ((getExpressionAttributeValues() == null) ? 0 : getExpressionAttributeValues().hashCode()); return hashCode; }
if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getItem() == null ^ this.getItem() == null) return false; if (other.getItem() != null && other.getItem().equals(this.getItem()) == false) return false; if (other.getExpected() == null ^ this.getExpected() == null)
/** * Marshall the given parameter object. */ public void marshall(PutItemRequest putItemRequest, ProtocolMarshaller protocolMarshaller) { if (putItemRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } try { protocolMarshaller.marshall(putItemRequest.getTableName(), TABLENAME_BINDING); protocolMarshaller.marshall(putItemRequest.getItem(), ITEM_BINDING); protocolMarshaller.marshall(putItemRequest.getExpected(), EXPECTED_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnValues(), RETURNVALUES_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnConsumedCapacity(), RETURNCONSUMEDCAPACITY_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnItemCollectionMetrics(), RETURNITEMCOLLECTIONMETRICS_BINDING); protocolMarshaller.marshall(putItemRequest.getConditionalOperator(), CONDITIONALOPERATOR_BINDING); protocolMarshaller.marshall(putItemRequest.getConditionExpression(), CONDITIONEXPRESSION_BINDING); protocolMarshaller.marshall(putItemRequest.getExpressionAttributeNames(), EXPRESSIONATTRIBUTENAMES_BINDING); protocolMarshaller.marshall(putItemRequest.getExpressionAttributeValues(), EXPRESSIONATTRIBUTEVALUES_BINDING); } catch (Exception e) { throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e); } }
/** Test on using map entry adder method. */ @Test public void testMapEntryAdderMethod() { PutItemRequest putItemRequest = new PutItemRequest() .addItemEntry("hash-key", new AttributeValue().withS("1")) .addItemEntry("range-key", new AttributeValue().withS("2")) .addItemEntry("attribute", new AttributeValue().withS("3")); Map<String, AttributeValue> item = putItemRequest.getItem(); assertEquals(3, item.size()); assertEquals("1", item.get("hash-key").getS()); assertEquals("2", item.get("range-key").getS()); assertEquals("3", item.get("attribute").getS()); putItemRequest.clearItemEntries(); assertEquals(null, putItemRequest.getItem()); }
@Override protected Map<String, AttributeValue> getKey(TransactionManager txManager) { if(key == null) { key = getKeyFromItem(getTableName(), request.getItem(), txManager); } return key; }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getItem() == null) ? 0 : getItem().hashCode()); hashCode = prime * hashCode + ((getExpected() == null) ? 0 : getExpected().hashCode()); hashCode = prime * hashCode + ((getReturnValues() == null) ? 0 : getReturnValues().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); hashCode = prime * hashCode + ((getReturnItemCollectionMetrics() == null) ? 0 : getReturnItemCollectionMetrics().hashCode()); hashCode = prime * hashCode + ((getConditionalOperator() == null) ? 0 : getConditionalOperator().hashCode()); hashCode = prime * hashCode + ((getConditionExpression() == null) ? 0 : getConditionExpression().hashCode()); hashCode = prime * hashCode + ((getExpressionAttributeNames() == null) ? 0 : getExpressionAttributeNames().hashCode()); hashCode = prime * hashCode + ((getExpressionAttributeValues() == null) ? 0 : getExpressionAttributeValues().hashCode()); return hashCode; }
public PutPointResult putPoint(PutPointRequest putPointRequest) { long geohash = S2Manager.generateGeohash(putPointRequest.getGeoPoint()); long hashKey = S2Manager.generateHashKey(geohash, config.getHashKeyLength()); String geoJson = GeoJsonMapper.stringFromGeoObject(putPointRequest.getGeoPoint()); PutItemRequest putItemRequest = putPointRequest.getPutItemRequest(); putItemRequest.setTableName(config.getTableName()); AttributeValue hashKeyValue = new AttributeValue().withN(String.valueOf(hashKey)); putItemRequest.getItem().put(config.getHashKeyAttributeName(), hashKeyValue); putItemRequest.getItem().put(config.getRangeKeyAttributeName(), putPointRequest.getRangeKeyValue()); AttributeValue geohashValue = new AttributeValue().withN(Long.toString(geohash)); putItemRequest.getItem().put(config.getGeohashAttributeName(), geohashValue); AttributeValue geoJsonValue = new AttributeValue().withS(geoJson); putItemRequest.getItem().put(config.getGeoJsonAttributeName(), geoJsonValue); PutItemResult putItemResult = config.getDynamoDBClient().putItem(putItemRequest); PutPointResult putPointResult = new PutPointResult(putItemResult); return putPointResult; }
@Override public PutItemResult putItem(PutItemRequest request) throws AmazonServiceException, AmazonClientException { Map<String, ExpectedAttributeValue> expectedValues = request.getExpected(); checkExpectedValues(request.getTableName(), Request.getKeyFromItem(request.getTableName(), request.getItem(), txManager), expectedValues); // conditional checks are handled by the above call request.setExpected(null); return txn.putItem(request); }
public PutItemResult putItem(final PutItemRequest request) throws BackendException { setUserAgent(request); PutItemResult result; final int bytes = calculateItemSizeInBytes(request.getItem()); getBytesHistogram(PUT_ITEM, request.getTableName()).update(bytes); final int wcu = computeWcu(bytes); timedWriteThrottle(PUT_ITEM, request.getTableName(), wcu); final Timer.Context apiTimerContext = getTimerContext(PUT_ITEM, request.getTableName()); try { result = client.putItem(request); } catch (Exception e) { throw processDynamoDbApiException(e, PUT_ITEM, request.getTableName()); } finally { apiTimerContext.stop(); } meterConsumedCapacity(PUT_ITEM, result.getConsumedCapacity()); return result; }
if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getItem() == null ^ this.getItem() == null) return false; if (other.getItem() != null && other.getItem().equals(this.getItem()) == false) return false; if (other.getExpected() == null ^ this.getExpected() == null)
PutItemRequest put = ((PutItem)request).getRequest(); put.getItem().put(AttributeName.TXID.toString(), new AttributeValue(txId)); put.getItem().put(AttributeName.APPLIED.toString(), new AttributeValue(BOOLEAN_TRUE_ATTR_VAL)); if(lockedItem.containsKey(AttributeName.TRANSIENT.toString())) { put.getItem().put(AttributeName.TRANSIENT.toString(), lockedItem.get(AttributeName.TRANSIENT.toString())); put.getItem().put(AttributeName.DATE.toString(), lockedItem.get(AttributeName.DATE.toString())); put.setExpected(expected); put.setReturnValues(returnValues);
/** * Marshall the given parameter object. */ public void marshall(PutItemRequest putItemRequest, ProtocolMarshaller protocolMarshaller) { if (putItemRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } try { protocolMarshaller.marshall(putItemRequest.getTableName(), TABLENAME_BINDING); protocolMarshaller.marshall(putItemRequest.getItem(), ITEM_BINDING); protocolMarshaller.marshall(putItemRequest.getExpected(), EXPECTED_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnValues(), RETURNVALUES_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnConsumedCapacity(), RETURNCONSUMEDCAPACITY_BINDING); protocolMarshaller.marshall(putItemRequest.getReturnItemCollectionMetrics(), RETURNITEMCOLLECTIONMETRICS_BINDING); protocolMarshaller.marshall(putItemRequest.getConditionalOperator(), CONDITIONALOPERATOR_BINDING); protocolMarshaller.marshall(putItemRequest.getConditionExpression(), CONDITIONEXPRESSION_BINDING); protocolMarshaller.marshall(putItemRequest.getExpressionAttributeNames(), EXPRESSIONATTRIBUTENAMES_BINDING); protocolMarshaller.marshall(putItemRequest.getExpressionAttributeValues(), EXPRESSIONATTRIBUTEVALUES_BINDING); } catch (Exception e) { throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e); } }
@Override protected void doValidate(String txId, TransactionManager txManager) { if(request == null || request.getItem() == null) { throw new InvalidRequestException("PutItem must contain an Item", txId, getTableName(), null, this); } validateAttributes(this, request.getItem(), txId, txManager); if(request.getReturnConsumedCapacity() != null) { throw new InvalidRequestException("ReturnConsumedCapacity is not currently supported", txId, getTableName(), null, this); } if(request.getReturnItemCollectionMetrics() != null) { throw new InvalidRequestException("ReturnItemCollectionMetrics is not currently supported", txId, getTableName(), null, this); } if(request.getExpected() != null) { throw new InvalidRequestException("Requests with conditions are not currently supported", txId, getTableName(), getKey(txManager), this); } if(request.getConditionExpression() != null) { throw new InvalidRequestException("Requests with conditions are not currently supported", txId, getTableName(), getKey(txManager), this); } if(request.getExpressionAttributeNames() != null) { throw new InvalidRequestException("Requests with expressions are not currently supported", txId, getTableName(), getKey(txManager), this); } if(request.getExpressionAttributeValues() != null) { throw new InvalidRequestException("Requests with expressions are not currently supported", txId, getTableName(), getKey(txManager), this); } } }