33
33
import org .junit .AfterClass ;
34
34
import org .junit .BeforeClass ;
35
35
import org .junit .Test ;
36
- import software .amazon .awssdk .enhanced .dynamodb .mapper .annotations .DynamoDbAttribute ;
37
- import software .amazon .awssdk .enhanced .dynamodb .mapper .annotations .DynamoDbBean ;
38
- import software .amazon .awssdk .enhanced .dynamodb .mapper .annotations .DynamoDbConvertedBy ;
39
36
import software .amazon .awssdk .enhanced .dynamodb .model .Page ;
40
- import software .amazon .awssdk .enhanced .dynamodb .model .PageIterable ;
41
- import software .amazon .awssdk .enhanced .dynamodb .model .QueryConditional ;
42
37
import software .amazon .awssdk .enhanced .dynamodb .model .QueryEnhancedRequest ;
43
38
import software .amazon .awssdk .enhanced .dynamodb .model .Record ;
44
39
import software .amazon .awssdk .enhanced .dynamodb .model .ScanEnhancedRequest ;
45
40
import software .amazon .awssdk .services .dynamodb .DynamoDbClient ;
46
41
import software .amazon .awssdk .services .dynamodb .model .AttributeValue ;
47
42
import software .amazon .awssdk .services .dynamodb .model .ConsumedCapacity ;
48
43
import software .amazon .awssdk .services .dynamodb .model .ReturnConsumedCapacity ;
49
- import software .amazon .awssdk .services .dynamodb .model .Select ;
50
44
51
45
public class ScanQueryIntegrationTest extends DynamoDbEnhancedIntegrationTestBase {
52
46
@@ -63,60 +57,6 @@ public static void setup() {
63
57
mappedTable = enhancedClient .table (TABLE_NAME , TABLE_SCHEMA );
64
58
mappedTable .createTable ();
65
59
dynamoDbClient .waiter ().waitUntilTableExists (r -> r .tableName (TABLE_NAME ));
66
-
67
- // sandbox
68
-
69
- QueryConditional queryConditional = QueryConditional .keyEqualTo (Key .builder ().partitionValue ("val" ).build ());
70
-
71
- PageIterable <Record > pageIterable = mappedTable .query (QueryEnhancedRequest .builder ()
72
- .queryConditional (queryConditional )
73
- .select (Select .COUNT )
74
- .build ());
75
- Iterator <Page <Record >> iterator = pageIterable .iterator ();
76
-
77
- Page <Record > page = iterator .next ();
78
-
79
- int count = page .count ();
80
- }
81
-
82
- public class NullifyEmptyStringConverter implements AttributeConverter <String > {
83
- @ Override
84
- public AttributeValue transformFrom (String value ) {
85
- if (value == null || value .isEmpty ()) {
86
- return AttributeValue .builder ().nul (true ).build ();
87
- }
88
- return AttributeValue .builder ().s (value ).build ();
89
- }
90
-
91
- @ Override
92
- public String transformTo (AttributeValue attributeValue ) {
93
- if (attributeValue .nul ()) {
94
- return null ;
95
- }
96
- return attributeValue .s ();
97
- }
98
-
99
- @ Override
100
- public EnhancedType <String > type () {
101
- return EnhancedType .of (String .class );
102
- }
103
-
104
- @ Override
105
- public AttributeValueType attributeValueType () {
106
- return AttributeValueType .S ;
107
- }
108
- }
109
-
110
- // Usage:
111
- @ DynamoDbBean
112
- public class Customer {
113
- private String name ;
114
-
115
- @ DynamoDbAttribute ("name" )
116
- @ DynamoDbConvertedBy (NullifyEmptyStringConverter .class )
117
- public String getName () {
118
- return name ;
119
- }
120
60
}
121
61
122
62
@ AfterClass
@@ -246,4 +186,4 @@ private Map<String, AttributeValue> getKeyMap(int sort) {
246
186
result .put ("sort" , numberValue (RECORDS .get (sort ).getSort ()));
247
187
return Collections .unmodifiableMap (result );
248
188
}
249
- }
189
+ }
0 commit comments