From 6378f4b225a61409de7b437c2b5b7bfe4c1bb956 Mon Sep 17 00:00:00 2001 From: Rohan Sircar Date: Tue, 16 Jun 2020 19:12:25 +0530 Subject: [PATCH] Switched from Date to Instant Was causing issues with json parsing in desktop client --- .../java/org/ros/chatto/controller/AdminRESTController.java | 2 +- .../org/ros/chatto/controller/ChatMessageController.java | 3 +-- src/main/java/org/ros/chatto/dto/ChatMessageDTO.java | 4 ++-- src/main/java/org/ros/chatto/model/ChatMessage.java | 6 ++---- .../org/ros/chatto/repository/ChatMessageRepository.java | 4 ++-- src/main/java/org/ros/chatto/service/ChatService.java | 4 ++-- src/main/java/org/ros/chatto/service/ChatServiceImpl.java | 4 ++-- 7 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/ros/chatto/controller/AdminRESTController.java b/src/main/java/org/ros/chatto/controller/AdminRESTController.java index e70fafd..53a21ef 100644 --- a/src/main/java/org/ros/chatto/controller/AdminRESTController.java +++ b/src/main/java/org/ros/chatto/controller/AdminRESTController.java @@ -52,7 +52,7 @@ public class AdminRESTController { public List sendNewMessages(@PathVariable String userName, @PathVariable Instant lastMessageTime, Principal principal) { List chatMessageDTOs = chatService.getNewMessages( - principal.getName(), userName, Date.from(lastMessageTime)); + principal.getName(), userName, lastMessageTime); return chatMessageDTOs; } diff --git a/src/main/java/org/ros/chatto/controller/ChatMessageController.java b/src/main/java/org/ros/chatto/controller/ChatMessageController.java index 6411a81..1f683ae 100644 --- a/src/main/java/org/ros/chatto/controller/ChatMessageController.java +++ b/src/main/java/org/ros/chatto/controller/ChatMessageController.java @@ -2,7 +2,6 @@ package org.ros.chatto.controller; import java.security.Principal; import java.time.Instant; -import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -91,7 +90,7 @@ public class ChatMessageController { @PathVariable final Instant lastMessageTime, final Principal principal) { final List chatMessageDTOs = chatService.getNewMessages( - principal.getName(), userName, Date.from(lastMessageTime)); + principal.getName(), userName, lastMessageTime); return chatMessageDTOs; } diff --git a/src/main/java/org/ros/chatto/dto/ChatMessageDTO.java b/src/main/java/org/ros/chatto/dto/ChatMessageDTO.java index ffe81c4..56700ee 100644 --- a/src/main/java/org/ros/chatto/dto/ChatMessageDTO.java +++ b/src/main/java/org/ros/chatto/dto/ChatMessageDTO.java @@ -1,10 +1,10 @@ package org.ros.chatto.dto; -import java.util.Date; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; +import java.time.Instant; import lombok.Data; @@ -18,5 +18,5 @@ public class ChatMessageDTO { @Size(max=15) private String fromUser; private MessageCipherDTO messageCipher; - private Date messageTime; + private Instant messageTime; } diff --git a/src/main/java/org/ros/chatto/model/ChatMessage.java b/src/main/java/org/ros/chatto/model/ChatMessage.java index d57ffc6..c4849db 100644 --- a/src/main/java/org/ros/chatto/model/ChatMessage.java +++ b/src/main/java/org/ros/chatto/model/ChatMessage.java @@ -12,8 +12,7 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.Table; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; +import java.time.Instant; import lombok.Data; @@ -38,6 +37,5 @@ public class ChatMessage { @JoinColumn(name = "message") private MessageCipher messageCipher; - @Temporal(TemporalType.TIMESTAMP) - private Date messageTime; + private Instant messageTime; } diff --git a/src/main/java/org/ros/chatto/repository/ChatMessageRepository.java b/src/main/java/org/ros/chatto/repository/ChatMessageRepository.java index 1b4af53..aaeb063 100644 --- a/src/main/java/org/ros/chatto/repository/ChatMessageRepository.java +++ b/src/main/java/org/ros/chatto/repository/ChatMessageRepository.java @@ -1,6 +1,5 @@ package org.ros.chatto.repository; -import java.util.Date; import java.util.List; import org.ros.chatto.model.ChatMessage; @@ -8,6 +7,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import java.time.Instant; @Repository public interface ChatMessageRepository extends JpaRepository { @@ -19,7 +19,7 @@ public interface ChatMessageRepository extends JpaRepository @Query("select m from ChatMessage m join fetch m.messageCipher mc join fetch m.toUser tu join fetch m.fromUser fu " + "where (tu.userName = ?1 or tu.userName = ?2) and " + "(fu.userName = ?1 or fu.userName = ?2) and (m.messageTime > ?3) order by m.messageTime asc") - public List getNewMessages(String fromUser, String toUser, Date lastMessageTime); + public List getNewMessages(String fromUser, String toUser, Instant lastMessageTime); @Query("select m from ChatMessage m join fetch m.messageCipher mc join fetch m.toUser tu join fetch m.fromUser fu " + "where (tu.userName = ?1 or tu.userName = ?2) and " diff --git a/src/main/java/org/ros/chatto/service/ChatService.java b/src/main/java/org/ros/chatto/service/ChatService.java index a5b2c44..96fbdcc 100644 --- a/src/main/java/org/ros/chatto/service/ChatService.java +++ b/src/main/java/org/ros/chatto/service/ChatService.java @@ -1,11 +1,11 @@ package org.ros.chatto.service; -import java.util.Date; import java.util.List; import org.ros.chatto.dto.ChatMessageDTO; import org.ros.chatto.dto.MessageCipherDTO; import org.ros.chatto.dto.ReencryptionDTO; +import java.time.Instant; public interface ChatService { public ChatMessageDTO createMessage(String fromUser, String toUser, @@ -17,7 +17,7 @@ public interface ChatService { int page, int size); public List getNewMessages(String fromUser, String toUser, - Date lastMessageTime); + Instant lastMessageTime); public void reencryptMessages(List reencryptionDTOs); diff --git a/src/main/java/org/ros/chatto/service/ChatServiceImpl.java b/src/main/java/org/ros/chatto/service/ChatServiceImpl.java index bf59ba9..8a47278 100644 --- a/src/main/java/org/ros/chatto/service/ChatServiceImpl.java +++ b/src/main/java/org/ros/chatto/service/ChatServiceImpl.java @@ -1,6 +1,6 @@ package org.ros.chatto.service; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -87,7 +87,7 @@ public class ChatServiceImpl implements ChatService { @Override @Transactional(readOnly = true) public List getNewMessages(final String fromUser, - final String toUser, final Date lastMessageTime) { + final String toUser, final Instant lastMessageTime) { final List chatMessages = chatMessageRepository .getNewMessages(fromUser, toUser, lastMessageTime); return myConversionService.convertToChatMessageDTOs(chatMessages);