|
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