From e3676f6d968ec1a0422902ec6bd3a479e1a7e4da Mon Sep 17 00:00:00 2001 From: Sreejit-K Date: Fri, 17 May 2024 12:04:25 +0530 Subject: [PATCH] Fixed the timeStamp format for Attestation update work flow --- .../dev/sunbirdrc/registry/middleware/util/JSONUtil.java | 9 ++++++++- .../registry/controller/RegistryClaimsController.java | 5 ++++- .../sunbirdrc/registry/model/dto/AttestationRequest.java | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/java/middleware-commons/src/main/java/dev/sunbirdrc/registry/middleware/util/JSONUtil.java b/java/middleware-commons/src/main/java/dev/sunbirdrc/registry/middleware/util/JSONUtil.java index a5a7d789b..b16c8bc46 100644 --- a/java/middleware-commons/src/main/java/dev/sunbirdrc/registry/middleware/util/JSONUtil.java +++ b/java/middleware-commons/src/main/java/dev/sunbirdrc/registry/middleware/util/JSONUtil.java @@ -20,6 +20,8 @@ import java.io.IOException; import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -505,7 +507,12 @@ private static JsonNode searchClaimOsIdFromRequestProperties(ArrayNode arrayNode } List nodeList = new ArrayList<>(); arrayNode.elements().forEachRemaining(nodeList::add); - nodeList.sort(Comparator.comparingLong(node -> node.get("osCreatedAt").asLong())); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); + nodeList.sort(Comparator.comparing(node -> { + String dateString = node.get("osCreatedAt").asText(); + LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter); + return dateTime; + })); return nodeList.get(nodeList.size() -1 ); } diff --git a/java/registry/src/main/java/dev/sunbirdrc/registry/controller/RegistryClaimsController.java b/java/registry/src/main/java/dev/sunbirdrc/registry/controller/RegistryClaimsController.java index 644d29406..85e3b226b 100644 --- a/java/registry/src/main/java/dev/sunbirdrc/registry/controller/RegistryClaimsController.java +++ b/java/registry/src/main/java/dev/sunbirdrc/registry/controller/RegistryClaimsController.java @@ -26,6 +26,9 @@ import org.springframework.web.client.HttpServerErrorException; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDateTime; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import java.util.Collections; import java.util.Date; @@ -143,7 +146,7 @@ public ResponseEntity riseAttestation(HttpServletRequest request, @Reque if(!propertyData.isNull()) { attestationRequest.setPropertyData(propertyData); } - attestationRequest.setOsCreatedAt(new Date()); + attestationRequest.setOsCreatedAt(LocalDateTime.ofInstant(new Date().toInstant(), ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")) ); attestationRequest.setUserId(userId); attestationRequest.setEmailId(emailId); String attestationOSID = registryHelper.triggerAttestation(attestationRequest, attestationPolicy); diff --git a/java/registry/src/main/java/dev/sunbirdrc/registry/model/dto/AttestationRequest.java b/java/registry/src/main/java/dev/sunbirdrc/registry/model/dto/AttestationRequest.java index c2565fdd0..3e2b193b1 100644 --- a/java/registry/src/main/java/dev/sunbirdrc/registry/model/dto/AttestationRequest.java +++ b/java/registry/src/main/java/dev/sunbirdrc/registry/model/dto/AttestationRequest.java @@ -23,5 +23,5 @@ public class AttestationRequest { private Map> propertiesOSID; private JsonNode propertyData; private String emailId; - private Date osCreatedAt; + private String osCreatedAt; }