|
26 | 26 | import java.security.NoSuchAlgorithmException;
|
27 | 27 | import java.time.Instant;
|
28 | 28 | import java.time.temporal.ChronoUnit;
|
29 |
| -import java.util.Map; |
30 | 29 | import java.util.Optional;
|
31 | 30 | import java.util.OptionalInt;
|
32 | 31 | import java.util.OptionalLong;
|
@@ -122,17 +121,17 @@ public void saveSuccess(JsonNode data, Object result, Instant now) {
|
122 | 121 | // missing idempotency key => non-idempotent transaction, we do not store the data, simply return
|
123 | 122 | return;
|
124 | 123 | }
|
125 |
| - DataRecord record = new DataRecord( |
| 124 | + DataRecord dataRecord = new DataRecord( |
126 | 125 | hashedIdempotencyKey.get(),
|
127 | 126 | DataRecord.Status.COMPLETED,
|
128 | 127 | getExpiryEpochSecond(now),
|
129 | 128 | responseJson,
|
130 | 129 | getHashedPayload(data)
|
131 | 130 | );
|
132 | 131 | LOG.debug("Function successfully executed. Saving record to persistence store with idempotency key: {}",
|
133 |
| - record.getIdempotencyKey()); |
134 |
| - updateRecord(record); |
135 |
| - saveToCache(record); |
| 132 | + dataRecord.getIdempotencyKey()); |
| 133 | + updateRecord(dataRecord); |
| 134 | + saveToCache(dataRecord); |
136 | 135 | } catch (JsonProcessingException e) {
|
137 | 136 | // TODO : throw ?
|
138 | 137 | throw new RuntimeException("Error while serializing the response", e);
|
@@ -164,16 +163,16 @@ public void saveInProgress(JsonNode data, Instant now, OptionalInt remainingTime
|
164 | 163 | OptionalLong.of(now.plus(remainingTimeInMs.getAsInt(), ChronoUnit.MILLIS).toEpochMilli());
|
165 | 164 | }
|
166 | 165 |
|
167 |
| - DataRecord record = new DataRecord( |
| 166 | + DataRecord dataRecord = new DataRecord( |
168 | 167 | idempotencyKey,
|
169 | 168 | DataRecord.Status.INPROGRESS,
|
170 | 169 | getExpiryEpochSecond(now),
|
171 | 170 | null,
|
172 | 171 | getHashedPayload(data),
|
173 | 172 | inProgressExpirationMsTimestamp
|
174 | 173 | );
|
175 |
| - LOG.debug("saving in progress record for idempotency key: {}", record.getIdempotencyKey()); |
176 |
| - putRecord(record, now); |
| 174 | + LOG.debug("saving in progress record for idempotency key: {}", dataRecord.getIdempotencyKey()); |
| 175 | + putRecord(dataRecord, now); |
177 | 176 | }
|
178 | 177 |
|
179 | 178 | /**
|
@@ -223,10 +222,10 @@ public DataRecord getRecord(JsonNode data, Instant now)
|
223 | 222 | return cachedRecord;
|
224 | 223 | }
|
225 | 224 |
|
226 |
| - DataRecord record = getRecord(idemPotencyKey); |
227 |
| - saveToCache(record); |
228 |
| - validatePayload(data, record); |
229 |
| - return record; |
| 225 | + DataRecord dataRecord = getRecord(idemPotencyKey); |
| 226 | + saveToCache(dataRecord); |
| 227 | + validatePayload(data, dataRecord); |
| 228 | + return dataRecord; |
230 | 229 | }
|
231 | 230 |
|
232 | 231 | /**
|
@@ -258,10 +257,10 @@ private Optional<String> getHashedIdempotencyKey(JsonNode data) {
|
258 | 257 |
|
259 | 258 | private boolean isMissingIdemPotencyKey(JsonNode data) {
|
260 | 259 | if (data.isContainerNode()) {
|
261 |
| - Stream<Map.Entry<String, JsonNode>> stream = |
262 |
| - StreamSupport.stream(Spliterators.spliteratorUnknownSize(data.fields(), Spliterator.ORDERED), |
| 260 | + Stream<JsonNode> stream = |
| 261 | + StreamSupport.stream(Spliterators.spliteratorUnknownSize(data.elements(), Spliterator.ORDERED), |
263 | 262 | false);
|
264 |
| - return stream.allMatch(e -> e.getValue().isNull()); |
| 263 | + return stream.allMatch(JsonNode::isNull); |
265 | 264 | }
|
266 | 265 | return data.isNull();
|
267 | 266 | }
|
@@ -378,10 +377,10 @@ private DataRecord retrieveFromCache(String idempotencyKey, Instant now) {
|
378 | 377 | return null;
|
379 | 378 | }
|
380 | 379 |
|
381 |
| - DataRecord record = cache.get(idempotencyKey); |
382 |
| - if (record != null) { |
383 |
| - if (!record.isExpired(now)) { |
384 |
| - return record; |
| 380 | + DataRecord dataRecord = cache.get(idempotencyKey); |
| 381 | + if (dataRecord != null) { |
| 382 | + if (!dataRecord.isExpired(now)) { |
| 383 | + return dataRecord; |
385 | 384 | }
|
386 | 385 | LOG.debug("Removing expired local cache record for idempotency key: {}", idempotencyKey);
|
387 | 386 | deleteFromCache(idempotencyKey);
|
|
0 commit comments