Skip to content

Commit 49c35fc

Browse files
committed
Add conditional skipping logic in afterRead
1 parent 3688d2c commit 49c35fc

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

  • services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/extensions

services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/extensions/ChainExtension.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,17 +166,22 @@ public ReadModification afterRead(DynamoDbExtensionContext.AfterRead context) {
166166
Iterator<DynamoDbEnhancedClientExtension> iterator = extensionChain.descendingIterator();
167167

168168
while (iterator.hasNext()) {
169+
DynamoDbEnhancedClientExtension extension = iterator.next();
170+
if (!extension.shouldProcess(context.tableMetadata())) {
171+
continue;
172+
}
169173
Map<String, AttributeValue> itemToTransform =
170174
transformedItem == null ? context.items() : transformedItem;
171175

176+
172177
DynamoDbExtensionContext.AfterRead afterRead =
173178
DefaultDynamoDbExtensionContext.builder().items(itemToTransform)
174179
.operationContext(context.operationContext())
175180
.tableMetadata(context.tableMetadata())
176181
.tableSchema(context.tableSchema())
177182
.build();
178183

179-
ReadModification readModification = iterator.next().afterRead(afterRead);
184+
ReadModification readModification = extension.afterRead(afterRead);
180185

181186
if (readModification.transformedItem() != null) {
182187
transformedItem = readModification.transformedItem();

0 commit comments

Comments
 (0)