diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index e4abb919..167bf26d 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -2,7 +2,7 @@ - + " diff --git a/src/main/java/org/woehlke/java/simpleworklist/application/framework/AuditModel.java b/src/main/java/org/woehlke/java/simpleworklist/application/framework/AuditModel.java index 94693f8d..55029302 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/application/framework/AuditModel.java +++ b/src/main/java/org/woehlke/java/simpleworklist/application/framework/AuditModel.java @@ -19,10 +19,8 @@ value = {"rowCreatedAt", "rowUpdatedAt"}, allowGetters = true ) -//@ToString @Getter @Setter -//@EqualsAndHashCode(callSuper=false) public class AuditModel extends Object implements Serializable { private static final long serialVersionUID = 4399373914714726911L; diff --git a/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextRefreshedListener.java b/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextRefreshedListener.java index 23c2f4c3..65800741 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextRefreshedListener.java +++ b/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextRefreshedListener.java @@ -6,7 +6,7 @@ import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.stereotype.Component; -import org.woehlke.java.simpleworklist.domain.search.SearchService; +import org.woehlke.java.simpleworklist.domain.db.search.service.SearchService; /** diff --git a/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextStartedListener.java b/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextStartedListener.java index 6d8c0876..048037c1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextStartedListener.java +++ b/src/main/java/org/woehlke/java/simpleworklist/application/listener/ApplicationContextStartedListener.java @@ -5,7 +5,7 @@ import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextStartedEvent; import org.springframework.stereotype.Component; -import org.woehlke.java.simpleworklist.domain.search.SearchService; +import org.woehlke.java.simpleworklist.domain.db.search.service.SearchService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/woehlke/java/simpleworklist/config/WebSecurityConfig.java b/src/main/java/org/woehlke/java/simpleworklist/config/WebSecurityConfig.java index 8e94ede3..a04ea86e 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/config/WebSecurityConfig.java +++ b/src/main/java/org/woehlke/java/simpleworklist/config/WebSecurityConfig.java @@ -20,7 +20,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.woehlke.java.simpleworklist.domain.user.access.ApplicationUserDetailsService; +import org.woehlke.java.simpleworklist.domain.security.access.ApplicationUserDetailsService; @Configuration diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/AbstractController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/AbstractController.java index ca8a9eb6..9994b5ee 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/AbstractController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/AbstractController.java @@ -4,25 +4,25 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.SessionAttributes; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; -import org.woehlke.java.simpleworklist.domain.breadcrumb.BreadcrumbService; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.BreadcrumbService; import org.woehlke.java.simpleworklist.config.SimpleworklistProperties; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.task.TaskEnergy; -import org.woehlke.java.simpleworklist.domain.task.TaskTime; -import org.woehlke.java.simpleworklist.domain.context.ContextService; -import org.woehlke.java.simpleworklist.domain.project.ProjectService; -import org.woehlke.java.simpleworklist.domain.chat.ChatMessageService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountService; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextService; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageService; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountService; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.user.access.UserAuthorizationService; -import org.woehlke.java.simpleworklist.domain.user.login.UserAccountLoginSuccessService; +import org.woehlke.java.simpleworklist.domain.security.access.UserAuthorizationService; +import org.woehlke.java.simpleworklist.domain.security.login.LoginSuccessService; import javax.validation.constraints.NotNull; import java.util.ArrayList; @@ -30,7 +30,7 @@ import java.util.Locale; import static java.util.Locale.GERMAN; -import static org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState.*; +import static org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState.*; /** * Created by tw on 14.02.16. @@ -57,7 +57,7 @@ public abstract class AbstractController { protected ChatMessageService chatMessageService; @Autowired - protected UserAccountLoginSuccessService userAccountLoginSuccessService; + protected LoginSuccessService loginSuccessService; @Autowired protected ContextService contextService; @@ -150,7 +150,7 @@ public final boolean refreshMessagePage(){ } protected UserAccount getUser() { - return this.userAccountLoginSuccessService.retrieveCurrentUser(); + return this.loginSuccessService.retrieveCurrentUser(); } protected Context getContext(@NotNull final UserSessionBean userSession){ diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/ChatMessageController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/ChatMessageController.java deleted file mode 100644 index 0902c293..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/ChatMessageController.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.woehlke.java.simpleworklist.domain; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; -import org.springframework.data.web.PageableDefault; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.validation.ObjectError; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.chat.ChatMessage; -import org.woehlke.java.simpleworklist.domain.chat.ChatMessageForm; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; - -import javax.validation.Valid; -import java.util.Locale; - -/** - * Created by - * on 16.02.2016. - */ -@Slf4j -@Controller -@RequestMapping(path = "/user2user") -public class ChatMessageController extends AbstractController { - - @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) - public final String getLastMessagesBetweenCurrentAndOtherUser( - @PathVariable("userId") UserAccount otherUser, - @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, - Model model - ) { - log.info("getLastMessagesBetweenCurrentAndOtherUser"); - Context context = super.getContext(userSession); - UserAccount thisUser = context.getUserAccount(); - model.addAttribute("userSession",userSession); - ChatMessageForm chatMessageForm = new ChatMessageForm(); - Page user2UserMessagePage = chatMessageService.readAllMessagesBetweenCurrentAndOtherUser(thisUser,otherUser,request); - model.addAttribute("newUser2UserMessage", chatMessageForm); - model.addAttribute("otherUser", otherUser); - model.addAttribute("user2UserMessagePage", user2UserMessagePage); - model.addAttribute("refreshMessages",true); - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForMessagesBetweenCurrentAndOtherUser(locale,userSession); - model.addAttribute("breadcrumb",breadcrumb); - model.addAttribute("userSession", userSession); - return "user/messages/all"; - } - - @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) - public final String sendNewMessageToOtherUser( - @PathVariable("userId") UserAccount otherUser, - @Valid @ModelAttribute("newUser2UserMessage") ChatMessageForm chatMessageForm, - BindingResult result, - @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, - @ModelAttribute("userSession") UserSessionBean userSession, - Locale locale, - Model model - ) { - log.info("sendNewMessageToOtherUser"); - Context context = super.getContext(userSession); - UserAccount thisUser = context.getUserAccount(); - model.addAttribute("userSession",userSession); - Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForMessagesBetweenCurrentAndOtherUser(locale,userSession); - model.addAttribute("breadcrumb",breadcrumb); - if(result.hasErrors()){ - log.info("result.hasErrors"); - for(ObjectError objectError:result.getAllErrors()){ - log.info("result.hasErrors: "+objectError.toString()); - } - Page user2UserMessagePage = chatMessageService.readAllMessagesBetweenCurrentAndOtherUser(thisUser,otherUser,request); - model.addAttribute("otherUser", otherUser); - model.addAttribute("user2UserMessagePage", user2UserMessagePage); - model.addAttribute("userSession", userSession); - return "user/messages/all"; - } else { - chatMessageService.sendNewUserMessage(thisUser, otherUser, chatMessageForm); - model.addAttribute("userSession", userSession); - return "redirect:/user2user/" + otherUser.getId() + "/messages/"; - } - } - -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageRepository.java deleted file mode 100644 index 0b30f667..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageRepository.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.chat; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; -import org.springframework.stereotype.Repository; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; - -import java.util.List; - -/** - * Created by Fert on 16.02.2016. - */ -@Repository -public interface ChatMessageRepository extends JpaRepository { - - //TODO: #247 move the JQL Query-String to Entity as Prepared Statement - String JQL = "select m from ChatMessage m " - + "where (m.sender = :thisUser and m.receiver = :otherUser) " - + "or (m.sender = :otherUser and m.receiver = :thisUser)"; - - @Query(JQL) - Page findAllMessagesBetweenCurrentAndOtherUser( - @Param("thisUser") UserAccount thisUser, - @Param("otherUser") UserAccount otherUser, - Pageable request - ); - - List findByReceiverAndReadByReceiver( - UserAccount receiver, - boolean readByReceiver - ); - - List findBySenderAndReceiverAndReadByReceiver( - UserAccount sender, UserAccount receiver, boolean readByReceiver - ); - -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageService.java deleted file mode 100644 index 9e9dc83a..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageService.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.chat; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; - -/** - * Created by tw on 16.02.2016. - */ -public interface ChatMessageService { - - ChatMessage sendNewUserMessage( - UserAccount thisUser, - UserAccount otherUser, - ChatMessageForm chatMessageForm - ); - - int getNumberOfNewIncomingMessagesForUser(UserAccount user); - - Page readAllMessagesBetweenCurrentAndOtherUser( - UserAccount receiver, UserAccount sender, Pageable request - ); - -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageServiceImpl.java deleted file mode 100644 index aae8a7c0..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageServiceImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.chat; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; - -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; -import java.util.UUID; - -/** - * Created by tw on 16.02.2016. - */ -@Slf4j -@Service -@Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class ChatMessageServiceImpl implements ChatMessageService { - - private final ChatMessageRepository userMessageRepository; - - @Autowired - public ChatMessageServiceImpl(ChatMessageRepository userMessageRepository) { - this.userMessageRepository = userMessageRepository; - } - - @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public ChatMessage sendNewUserMessage( - UserAccount thisUser, - UserAccount otherUser, - ChatMessageForm chatMessageForm - ) { - log.info("sendNewUserMessage"); - ChatMessage m = new ChatMessage(); - m.setSender(thisUser); - m.setReceiver(otherUser); - m.setReadByReceiver(false); - m.setUuid(UUID.randomUUID()); - m.setMessageText(chatMessageForm.getMessageText()); - return userMessageRepository.saveAndFlush(m); - } - - @Override - public int getNumberOfNewIncomingMessagesForUser( - UserAccount receiver - ) { - log.info("getNumberOfNewIncomingMessagesForUser"); - boolean readByReceiver = false; - //TODO: #246 change List to Page - List chatMessageList = - userMessageRepository.findByReceiverAndReadByReceiver(receiver, readByReceiver); - return chatMessageList.size(); - } - - @Override - @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public Page readAllMessagesBetweenCurrentAndOtherUser( - UserAccount receiver, - UserAccount sender, - Pageable request - ) { - log.info("readAllMessagesBetweenCurrentAndOtherUser"); - Page user2UserMessagePage = userMessageRepository.findAllMessagesBetweenCurrentAndOtherUser(sender,receiver,request); - for(ChatMessage chatMessage : user2UserMessagePage){ - if((!chatMessage.getReadByReceiver()) && (receiver.getId().longValue()== chatMessage.getReceiver().getId().longValue())){ - chatMessage.setReadByReceiver(true); - userMessageRepository.saveAndFlush(chatMessage); - } - } - return userMessageRepository.findAllMessagesBetweenCurrentAndOtherUser(sender,receiver,request); - } -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/ContextController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ContextController.java similarity index 80% rename from src/main/java/org/woehlke/java/simpleworklist/domain/ContextController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/ContextController.java index 770f1105..cf11f4e9 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/ContextController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ContextController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -7,9 +7,10 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.context.ContextService; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/ProjectIdController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectIdController.java similarity index 96% rename from src/main/java/org/woehlke/java/simpleworklist/domain/ProjectIdController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectIdController.java index f96f4e2b..3229e7c6 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/ProjectIdController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectIdController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -11,18 +11,19 @@ import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.project.ProjectControllerService; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskEnergy; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.task.TaskTime; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TransformTaskIntoProjektService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectControllerService; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TransformTaskIntoProjektService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +31,7 @@ import java.util.List; import java.util.Locale; -import static org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState.PROJECTS; +import static org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState.PROJECTS; /** * Created by tw on 14.02.16. @@ -61,7 +62,7 @@ public final String projectTaskAddGet( @ModelAttribute("userSession") UserSessionBean userSession, Locale locale, Model model ) { - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); Task task = new Task(); task.setTaskState(TaskState.INBOX); task.setTaskEnergy(TaskEnergy.NONE); @@ -414,7 +415,7 @@ public final String editTaskGet( Locale locale, Model model ) { log.info("editTaskGet"); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); Context thisContext = task.getContext(); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForShowOneProject(thisProject,locale,userSession); @@ -459,7 +460,7 @@ public final String editTaskPost( for (ObjectError e : result.getAllErrors()) { log.warn(e.toString()); } - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); task = addProject(task); Context thisContext = task.getContext(); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/ProjectRootController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectRootController.java similarity index 95% rename from src/main/java/org/woehlke/java/simpleworklist/domain/ProjectRootController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectRootController.java index 810c8b45..6d692e75 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/ProjectRootController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/ProjectRootController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,25 +12,26 @@ import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.project.ProjectControllerService; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskEnergy; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.task.TaskTime; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TransformTaskIntoProjektService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectControllerService; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TransformTaskIntoProjektService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import javax.validation.Valid; import java.util.List; import java.util.Locale; import java.util.UUID; -import static org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState.PROJECTS; +import static org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState.PROJECTS; @Slf4j @Controller @@ -195,7 +196,7 @@ public final String editTaskGet( Locale locale, Model model ) { log.info("editTaskGet"); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); Context thisContext = task.getContext(); Project thisProject = addProjectFromTaskToModel( task, model ); @@ -240,7 +241,7 @@ public final String editTaskPost( for (ObjectError e : result.getAllErrors()) { log.warn(e.toString()); } - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); task = addProject(task); Context thisContext = task.getContext(); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/SearchController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/SearchController.java similarity index 77% rename from src/main/java/org/woehlke/java/simpleworklist/domain/SearchController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/SearchController.java index 0c7bf4c6..32ac05d4 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/SearchController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/SearchController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -7,11 +7,12 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.search.SearchService; -import org.woehlke.java.simpleworklist.domain.search.result.SearchResult; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.search.service.SearchService; +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/UserPasswordRecoveryController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserPasswordRecoveryController.java similarity index 69% rename from src/main/java/org/woehlke/java/simpleworklist/domain/UserPasswordRecoveryController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/UserPasswordRecoveryController.java index 3bdbbea3..e7f1448a 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/UserPasswordRecoveryController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserPasswordRecoveryController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -8,12 +8,12 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountForm; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryService; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationForm; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountService; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountForm; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryService; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationForm; import org.springframework.beans.factory.annotation.Autowired; @@ -25,12 +25,12 @@ public class UserPasswordRecoveryController { private final UserAccountService userAccountService; - private final UserPasswordRecoveryService userPasswordRecoveryService; + private final UserAccountPasswordRecoveryService userAccountPasswordRecoveryService; @Autowired - public UserPasswordRecoveryController(UserAccountService userAccountService, UserPasswordRecoveryService userPasswordRecoveryService) { + public UserPasswordRecoveryController(UserAccountService userAccountService, UserAccountPasswordRecoveryService userAccountPasswordRecoveryService) { this.userAccountService = userAccountService; - this.userPasswordRecoveryService = userPasswordRecoveryService; + this.userAccountPasswordRecoveryService = userAccountPasswordRecoveryService; } /** @@ -42,37 +42,37 @@ public UserPasswordRecoveryController(UserAccountService userAccountService, Use */ @RequestMapping(path="/resetPassword", method = RequestMethod.GET) public final String passwordForgottenForm(Model model) { - UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); - model.addAttribute("userRegistrationForm", userRegistrationForm); + UserAccountRegistrationForm userAccountRegistrationForm = new UserAccountRegistrationForm(); + model.addAttribute("userRegistrationForm", userAccountRegistrationForm); return "user/resetPassword/resetPasswordForm"; } /** * If email-address exists, send email with Link for password-Reset. * - * @param userRegistrationForm + * @param userAccountRegistrationForm * @param result * @param model * @return info page if without errors or formular again displaying error messages. */ @RequestMapping(path="/resetPassword", method = RequestMethod.POST) public final String passwordForgottenPost( - @Valid UserRegistrationForm userRegistrationForm, + @Valid UserAccountRegistrationForm userAccountRegistrationForm, BindingResult result, Model model ) { if (result.hasErrors()) { log.info("----------------------"); - log.info(userRegistrationForm.toString()); + log.info(userAccountRegistrationForm.toString()); log.info(result.toString()); log.info(model.toString()); log.info("----------------------"); return "user/resetPassword/resetPasswordForm"; } else { - log.info(userRegistrationForm.toString()); + log.info(userAccountRegistrationForm.toString()); log.info(result.toString()); log.info(model.toString()); - if (userAccountService.findByUserEmail(userRegistrationForm.getEmail()) == null) { + if (userAccountService.findByUserEmail(userAccountRegistrationForm.getEmail()) == null) { String objectName = "userRegistrationForm"; String field = "email"; String defaultMessage = "This Email is not registered."; @@ -80,7 +80,7 @@ public final String passwordForgottenPost( result.addError(e); return "user/resetPassword/resetPasswordForm"; } else { - userPasswordRecoveryService.passwordRecoverySendEmailTo(userRegistrationForm.getEmail()); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(userAccountRegistrationForm.getEmail()); return "user/resetPassword/resetPasswordSentMail"; } } @@ -98,12 +98,12 @@ public final String enterNewPasswordFormular( @PathVariable String confirmId, Model model ) { - UserPasswordRecovery oUserPasswordRecovery = userPasswordRecoveryService.findByToken(confirmId); - if (oUserPasswordRecovery != null) { - userPasswordRecoveryService.passwordRecoveryClickedInEmail(oUserPasswordRecovery); - UserAccount ua = userAccountService.findByUserEmail(oUserPasswordRecovery.getEmail()); + UserAccountPasswordRecovery oUserAccountPasswordRecovery = userAccountPasswordRecoveryService.findByToken(confirmId); + if (oUserAccountPasswordRecovery != null) { + userAccountPasswordRecoveryService.passwordRecoveryClickedInEmail(oUserAccountPasswordRecovery); + UserAccount ua = userAccountService.findByUserEmail(oUserAccountPasswordRecovery.getEmail()); UserAccountForm userAccountForm = new UserAccountForm(); - userAccountForm.setUserEmail(oUserPasswordRecovery.getEmail()); + userAccountForm.setUserEmail(oUserAccountPasswordRecovery.getEmail()); userAccountForm.setUserFullname(ua.getUserFullname()); model.addAttribute("userAccountForm", userAccountForm); return "user/resetPassword/resetPasswordConfirmed"; @@ -128,12 +128,12 @@ public final String enterNewPasswordPost( @PathVariable String confirmId, Model model ) { - UserPasswordRecovery o = userPasswordRecoveryService.findByToken(confirmId); + UserAccountPasswordRecovery o = userAccountPasswordRecoveryService.findByToken(confirmId); boolean passwordsMatch = userAccountForm.passwordsAreTheSame(); if (o != null) { if (!result.hasErrors() && passwordsMatch) { userAccountService.changeUsersPassword(userAccountForm); - userPasswordRecoveryService.passwordRecoveryDone(o); + userAccountPasswordRecoveryService.passwordRecoveryDone(o); return "user/resetPassword/resetPasswordDone"; } else { if (!passwordsMatch) { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/UserRegistrationController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserRegistrationController.java similarity index 68% rename from src/main/java/org/woehlke/java/simpleworklist/domain/UserRegistrationController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/UserRegistrationController.java index 1293de2f..26786f28 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/UserRegistrationController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserRegistrationController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -9,11 +9,11 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountForm; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistration; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationForm; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationService; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountService; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountForm; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationForm; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationService; import javax.validation.Valid; @@ -23,12 +23,12 @@ public class UserRegistrationController { private final UserAccountService userAccountService; - private final UserRegistrationService userRegistrationService; + private final UserAccountRegistrationService userAccountRegistrationService; @Autowired - public UserRegistrationController(UserAccountService userAccountService, UserRegistrationService userRegistrationService) { + public UserRegistrationController(UserAccountService userAccountService, UserAccountRegistrationService userAccountRegistrationService) { this.userAccountService = userAccountService; - this.userRegistrationService = userRegistrationService; + this.userAccountRegistrationService = userAccountRegistrationService; } /** @@ -41,22 +41,22 @@ public UserRegistrationController(UserAccountService userAccountService, UserReg @RequestMapping(path = "/", method = RequestMethod.GET) public final String registerGet(Model model) { log.info("registerGet"); - UserRegistrationForm userRegistrationForm = new UserRegistrationForm(); - model.addAttribute("userRegistrationForm", userRegistrationForm); + UserAccountRegistrationForm userAccountRegistrationForm = new UserAccountRegistrationForm(); + model.addAttribute("userAccountRegistrationForm", userAccountRegistrationForm); return "user/register/registerForm"; } /** * Register new User: Store the Request and send Email for Verification. * - * @param userRegistrationForm UserRegistrationForm + * @param userAccountRegistrationForm UserRegistrationForm * @param result BindingResult * @param model Model * @return info page at success or return to form with error messages. */ @RequestMapping(path = "/", method = RequestMethod.POST) public final String registerPost( - @Valid UserRegistrationForm userRegistrationForm, + @Valid UserAccountRegistrationForm userAccountRegistrationForm, BindingResult result, Model model ) { @@ -64,21 +64,21 @@ public final String registerPost( if (result.hasErrors()) { return "user/register/registerForm"; } else { - userRegistrationService.registrationCheckIfResponseIsInTime(userRegistrationForm.getEmail()); - if (userAccountService.isEmailAvailable(userRegistrationForm.getEmail())) { - if (userRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(userRegistrationForm.getEmail())) { - String objectName = "userRegistrationForm"; + userAccountRegistrationService.registrationCheckIfResponseIsInTime(userAccountRegistrationForm.getEmail()); + if (userAccountService.isEmailAvailable(userAccountRegistrationForm.getEmail())) { + if (userAccountRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(userAccountRegistrationForm.getEmail())) { + String objectName = "userAccountRegistrationForm"; String field = "email"; String defaultMessage = "Maximum Number of Retries reached."; FieldError e = new FieldError(objectName, field, defaultMessage); result.addError(e); return "user/register/registerForm"; } else { - userRegistrationService.registrationSendEmailTo(userRegistrationForm.getEmail()); + userAccountRegistrationService.registrationSendEmailTo(userAccountRegistrationForm.getEmail()); return "user/register/registerConfirmSentMail"; } } else { - String objectName = "userRegistrationForm"; + String objectName = "userAccountRegistrationForm"; String field = "email"; String defaultMessage = "Email is already in use."; FieldError e = new FieldError(objectName, field, defaultMessage); @@ -102,9 +102,9 @@ public final String registerConfirmGet( ) { log.info("registerConfirmGet"); log.info("GET /confirm/" + confirmId); - UserRegistration o = userRegistrationService.findByToken(confirmId); + UserAccountRegistration o = userAccountRegistrationService.findByToken(confirmId); if (o != null) { - userRegistrationService.registrationClickedInEmail(o); + userAccountRegistrationService.registrationClickedInEmail(o); UserAccountForm userAccountForm = new UserAccountForm(); userAccountForm.setUserEmail(o.getEmail()); model.addAttribute("userAccountForm", userAccountForm); @@ -132,17 +132,17 @@ public final String registerConfirmPost( ) { log.info("registerConfirmPost"); log.info("POST /confirm/" + confirmId + " : " + userAccountForm.toString()); - userRegistrationService.registrationCheckIfResponseIsInTime(userAccountForm.getUserEmail()); - UserRegistration oUserRegistration = userRegistrationService.findByToken(confirmId); - if (oUserRegistration != null) { + userAccountRegistrationService.registrationCheckIfResponseIsInTime(userAccountForm.getUserEmail()); + UserAccountRegistration oUserAccountRegistration = userAccountRegistrationService.findByToken(confirmId); + if (oUserAccountRegistration != null) { boolean passwordsMatch = userAccountForm.passwordsAreTheSame(); if (!result.hasErrors() && passwordsMatch) { userAccountService.createUser(userAccountForm); - userRegistrationService.registrationUserCreated(oUserRegistration); + userAccountRegistrationService.registrationUserCreated(oUserAccountRegistration); return "user/register/registerConfirmFinished"; } else { if (!passwordsMatch) { - String objectName = "userAccountForm"; + String objectName = "userAccountRegistrationForm"; String field = "userPassword"; String defaultMessage = "Passwords aren't the same."; FieldError e = new FieldError(objectName, field, defaultMessage); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/UserSelfserviceController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserSelfserviceController.java similarity index 94% rename from src/main/java/org/woehlke/java/simpleworklist/domain/UserSelfserviceController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/UserSelfserviceController.java index b7e114ca..98872aa1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/UserSelfserviceController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/UserSelfserviceController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.db; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -15,17 +15,18 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.language.Language; -import org.woehlke.java.simpleworklist.domain.language.UserChangeLanguageForm; -import org.woehlke.java.simpleworklist.domain.user.access.UserAuthorizationService; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.context.NewContextForm; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; -import org.woehlke.java.simpleworklist.domain.user.accountselfservice.UserChangeDefaultContextForm; -import org.woehlke.java.simpleworklist.domain.user.accountselfservice.UserChangeNameForm; -import org.woehlke.java.simpleworklist.domain.user.accountselfservice.UserChangePasswordForm; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.meso.language.Language; +import org.woehlke.java.simpleworklist.domain.meso.language.UserChangeLanguageForm; +import org.woehlke.java.simpleworklist.domain.security.access.UserAuthorizationService; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.db.data.context.NewContextForm; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.db.user.accountselfservice.UserChangeDefaultContextForm; +import org.woehlke.java.simpleworklist.domain.db.user.accountselfservice.UserChangeNameForm; +import org.woehlke.java.simpleworklist.domain.db.user.accountselfservice.UserChangePasswordForm; import javax.validation.Valid; import java.util.List; @@ -387,7 +388,7 @@ public String userLanguageGet( Model model ){ log.info("userLanguageGet"); - UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount user = loginSuccessService.retrieveCurrentUser(); model.addAttribute("thisUser", user); model.addAttribute("languages", Language.list()); model.addAttribute("userChangeLanguageForm",new UserChangeLanguageForm(user.getDefaultLanguage())); @@ -406,7 +407,7 @@ public String userLanguagePost( Model model ){ log.info("userLanguagePost"); - UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount user = loginSuccessService.retrieveCurrentUser(); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForUserChangeLanguage(locale,userSession); model.addAttribute("breadcrumb", breadcrumb); if(result.hasErrors()){ diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/context/Context.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Context.java similarity index 90% rename from src/main/java/org/woehlke/java/simpleworklist/domain/context/Context.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Context.java index 30368a00..cb866b83 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/context/Context.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Context.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.context; +package org.woehlke.java.simpleworklist.domain.db.data; import lombok.*; import org.hibernate.annotations.LazyToOne; @@ -6,7 +6,7 @@ import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; import javax.persistence.*; import javax.persistence.Index; @@ -20,7 +20,7 @@ */ @Entity @Table( - name="context", + name="data_context", uniqueConstraints = { @UniqueConstraint( name="ux_context", @@ -42,10 +42,10 @@ public class Context extends AuditModel implements Serializable, ComparableById< private static final long serialVersionUID = -5035732370606951871L; @Id - @GeneratedValue(generator = "context_generator") + @GeneratedValue(generator = "data_context_generator") @SequenceGenerator( - name = "context_generator", - sequenceName = "context_sequence", + name = "data_context_generator", + sequenceName = "data_context_sequence", initialValue = 1000 ) private Long id; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/project/Project.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Project.java similarity index 91% rename from src/main/java/org/woehlke/java/simpleworklist/domain/project/Project.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Project.java index 6ec65a6b..51257df8 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/project/Project.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Project.java @@ -1,13 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.project; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.UUID; - -import javax.persistence.*; -import javax.persistence.Index; +package org.woehlke.java.simpleworklist.domain.db.data; import lombok.Getter; import lombok.Setter; @@ -15,19 +6,25 @@ import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.hibernate.validator.constraints.Length; -import javax.validation.constraints.NotBlank; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.context.Context; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; + +import javax.persistence.*; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.UUID; @Entity @Table( - name="project", + name="data_project", uniqueConstraints = { @UniqueConstraint( name = "ux_project", - columnNames = {"uuid", "parent_id", "context_id"} + columnNames = {"uuid", "parent_id", "data_context_id"} ) }, indexes = { @Index(name = "ix_project_uuid", columnList = "uuid"), @@ -43,10 +40,10 @@ public class Project extends AuditModel implements Serializable, ComparableById< public final static long rootProjectId = 0L; @Id - @GeneratedValue(generator = "project_generator") + @GeneratedValue(generator = "data_project_generator") @SequenceGenerator( - name = "project_generator", - sequenceName = "project_sequence", + name = "data_project_generator", + sequenceName = "data_project_sequence", initialValue = 1000 ) private Long id; @@ -71,7 +68,7 @@ public class Project extends AuditModel implements Serializable, ComparableById< CascadeType.REFRESH } ) - @JoinColumn(name = "context_id") + @JoinColumn(name = "data_context_id") @OnDelete(action = OnDeleteAction.NO_ACTION) private Context context; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/Task.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Task.java similarity index 93% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/Task.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Task.java index 78ccc85b..40f9ad7c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/Task.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/Task.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data; import java.io.Serializable; import java.util.Date; @@ -24,10 +24,10 @@ import javax.validation.constraints.NotNull; import org.springframework.format.annotation.DateTimeFormat; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; @@ -37,11 +37,11 @@ //TODO: test all three UniqueConstraints @Entity @Table( - name="task", + name="data_task", uniqueConstraints = { @UniqueConstraint( name="ux_task", - columnNames = {"uuid", "context_id" } + columnNames = {"uuid", "data_context_id" } ) }, indexes = { @@ -75,8 +75,8 @@ @NamedQuery( name = "findByTaskStateTrashAndContext", query = "select t from Task t " + - "where t.taskState = org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState.TRASH " + - "or t.taskState = org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState.DELETED " + + "where t.taskState = org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState.TRASH " + + "or t.taskState = org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState.DELETED " + "and t.context = :context", lockMode = LockModeType.READ ) @@ -90,10 +90,10 @@ public class Task extends AuditModel implements Serializable, ComparableById { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectService.java similarity index 80% rename from src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectService.java index 49879432..e03477e1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectService.java @@ -1,10 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.project; - -import java.util.List; +package org.woehlke.java.simpleworklist.domain.db.data.project; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.woehlke.java.simpleworklist.domain.context.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; + +import java.util.List; public interface ProjectService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectServiceImpl.java similarity index 94% rename from src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectServiceImpl.java index c345143f..6a02ecf0 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/project/ProjectServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/project/ProjectServiceImpl.java @@ -1,23 +1,22 @@ -package org.woehlke.java.simpleworklist.domain.project; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +package org.woehlke.java.simpleworklist.domain.db.data.project; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; - import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskRepository; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskRepository; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; @Slf4j @Service diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskEnergy.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskEnergy.java similarity index 92% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskEnergy.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskEnergy.java index 4bbebff3..b8b61994 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskEnergy.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskEnergy.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data.task; import javax.persistence.Enumerated; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskRepository.java similarity index 88% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskRepository.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskRepository.java index 96337c55..5013406a 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskRepository.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskRepository.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data.task; import java.util.List; @@ -8,9 +8,10 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.data.Context; @Repository public interface TaskRepository extends JpaRepository { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskService.java similarity index 89% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskService.java index f88275d0..37a145fd 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskService.java @@ -1,10 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data.task; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; public interface TaskService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskServiceImpl.java similarity index 98% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskServiceImpl.java index 438221a8..de99f87a 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data.task; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -7,10 +7,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.project.ProjectRepository; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectRepository; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; import javax.validation.Valid; import javax.validation.constraints.Min; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskTime.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskTime.java similarity index 94% rename from src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskTime.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskTime.java index e3c9a098..87693465 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/task/TaskTime.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/data/task/TaskTime.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.task; +package org.woehlke.java.simpleworklist.domain.db.data.task; import javax.persistence.Enumerated; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequest.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchRequest.java similarity index 90% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequest.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchRequest.java index a1bdd27f..67d1650c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequest.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchRequest.java @@ -1,11 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.search.request; +package org.woehlke.java.simpleworklist.domain.db.search; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; -import org.woehlke.java.simpleworklist.domain.context.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Context; import javax.persistence.*; import javax.validation.constraints.NotNull; @@ -17,7 +17,7 @@ uniqueConstraints = { @UniqueConstraint( name = "ux_search_request", - columnNames = {"context_id", "searchterm"} + columnNames = {"data_context_id", "searchterm"} ) }, indexes = { @@ -56,7 +56,7 @@ public class SearchRequest extends AuditModel implements Serializable, Comparabl CascadeType.REFRESH } ) - @JoinColumn(name = "context_id") + @JoinColumn(name = "data_context_id") @OnDelete(action = OnDeleteAction.NO_ACTION) private Context context; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResult.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchResult.java similarity index 86% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResult.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchResult.java index c07a7077..02d330c3 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResult.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/SearchResult.java @@ -1,13 +1,12 @@ -package org.woehlke.java.simpleworklist.domain.search.result; +package org.woehlke.java.simpleworklist.domain.db.search; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.search.request.SearchRequest; -import org.woehlke.java.simpleworklist.domain.task.Task; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; import javax.persistence.*; import java.io.Serializable; @@ -42,10 +41,10 @@ public class SearchResult extends AuditModel implements Serializable, Comparable private static final long serialVersionUID = 1682809351146047764L; @Id - @GeneratedValue(generator = "search_request_generator") + @GeneratedValue(generator = "search_result_generator") @SequenceGenerator( - name = "search_request_generator", - sequenceName = "search_request_sequence", + name = "search_result_generator", + sequenceName = "search_result_sequence", initialValue = 1000 ) private Long id; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestRepository.java similarity index 60% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestRepository.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestRepository.java index 1e22e4d0..f2ea8ed1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestRepository.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestRepository.java @@ -1,7 +1,8 @@ -package org.woehlke.java.simpleworklist.domain.search.request; +package org.woehlke.java.simpleworklist.domain.db.search.request; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.search.SearchRequest; @Repository public interface SearchRequestRepository extends JpaRepository { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestService.java similarity index 52% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestService.java index c7c0f647..aee9e1f3 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestService.java @@ -1,4 +1,6 @@ -package org.woehlke.java.simpleworklist.domain.search.request; +package org.woehlke.java.simpleworklist.domain.db.search.request; + +import org.woehlke.java.simpleworklist.domain.db.search.SearchRequest; public interface SearchRequestService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestServiceImpl.java similarity index 89% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestServiceImpl.java index 24c3f044..1ea9fd0c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/request/SearchRequestServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/request/SearchRequestServiceImpl.java @@ -1,10 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.search.request; +package org.woehlke.java.simpleworklist.domain.db.search.request; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.woehlke.java.simpleworklist.domain.db.search.SearchRequest; import java.util.UUID; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultRepository.java similarity index 61% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultRepository.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultRepository.java index d500c85e..9ebc3c4d 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultRepository.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultRepository.java @@ -1,7 +1,8 @@ -package org.woehlke.java.simpleworklist.domain.search.result; +package org.woehlke.java.simpleworklist.domain.db.search.result; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; @Repository public interface SearchResultRepository extends JpaRepository { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultService.java similarity index 56% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultService.java index 67237e5e..137bbb1a 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultService.java @@ -1,4 +1,6 @@ -package org.woehlke.java.simpleworklist.domain.search.result; +package org.woehlke.java.simpleworklist.domain.db.search.result; + +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; public interface SearchResultService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultServiceImpl.java similarity index 90% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultServiceImpl.java index ad490f10..6bc950b5 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/result/SearchResultServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/result/SearchResultServiceImpl.java @@ -1,10 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.search.result; +package org.woehlke.java.simpleworklist.domain.db.search.result; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; import java.util.UUID; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchService.java new file mode 100644 index 00000000..fdbd7cf6 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchService.java @@ -0,0 +1,18 @@ +package org.woehlke.java.simpleworklist.domain.db.search.service; + +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.search.SearchRequest; +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; + +/** + * Created by tw on 14.02.16. + */ +public interface SearchService { + + SearchResult search(SearchRequest searchRequest); + + SearchResult search(String searchterm, Context context); + + void resetSearchIndex(); + +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchServiceImpl.java similarity index 77% rename from src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchServiceImpl.java index a11effef..93d7b127 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/search/service/SearchServiceImpl.java @@ -1,14 +1,15 @@ -package org.woehlke.java.simpleworklist.domain.search; +package org.woehlke.java.simpleworklist.domain.db.search.service; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.search.request.SearchRequest; -import org.woehlke.java.simpleworklist.domain.search.request.SearchRequestService; -import org.woehlke.java.simpleworklist.domain.search.result.SearchResult; -import org.woehlke.java.simpleworklist.domain.search.result.SearchResultService; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.search.SearchRequest; +import org.woehlke.java.simpleworklist.domain.db.search.SearchResult; +import org.woehlke.java.simpleworklist.domain.db.search.request.SearchRequestService; +import org.woehlke.java.simpleworklist.domain.db.search.result.SearchResultService; /** @@ -21,6 +22,7 @@ public class SearchServiceImpl implements SearchService { private final SearchRequestService searchRequestService; private final SearchResultService searchResultService; + @Autowired public SearchServiceImpl(SearchRequestService searchRequestService, SearchResultService searchResultService) { this.searchRequestService = searchRequestService; this.searchResultService = searchResultService; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccount.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccount.java similarity index 89% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccount.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccount.java index 2a7d1b05..a7f30b72 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccount.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccount.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user; import javax.validation.constraints.Email; @@ -6,9 +6,8 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; -//import org.hibernate.validator.constraints.SafeHtml; -import org.woehlke.java.simpleworklist.domain.language.Language; -import org.woehlke.java.simpleworklist.domain.context.Context; +import org.woehlke.java.simpleworklist.domain.meso.language.Language; +import org.woehlke.java.simpleworklist.domain.db.data.Context; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; @@ -75,7 +74,7 @@ public class UserAccount extends AuditModel implements Serializable, ComparableB CascadeType.REFRESH } ) - @JoinColumn(name = "default_context_id", nullable=true) + @JoinColumn(name = "default_data_context_id", nullable=true) private Context defaultContext; //@NotNull @@ -117,7 +116,12 @@ public boolean equalsByUuid(UserAccount otherObject) { return super.equalsByMyUuid(otherObject); } - public static UserAccount createUserAccount(final String userEmail, final String userFullname, final String userPassword, Context contexts[]){ + public static UserAccount createUserAccount( + final String userEmail, + final String userFullname, + final String userPassword, + Context[] contexts + ){ Date now = new Date(); UserAccount u = new UserAccount(); u.setUserEmail(userEmail); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessage.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountChatMessage.java similarity index 59% rename from src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessage.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountChatMessage.java index 856df9a6..05eb80be 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessage.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountChatMessage.java @@ -1,11 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.chat; +package org.woehlke.java.simpleworklist.domain.db.user; import lombok.*; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; -//import org.hibernate.validator.constraints.SafeHtml; import org.woehlke.java.simpleworklist.application.framework.AuditModel; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; import javax.persistence.*; import javax.validation.constraints.NotNull; @@ -16,33 +14,41 @@ */ @Entity @Table( - name="user_message", + name="user_account_chat_message", uniqueConstraints = { @UniqueConstraint( - name="ux_user_message", + name="ux_user_account_chat_message", columnNames = {"row_created_at", "user_account_id_sender", "user_account_id_receiver"} ) }, indexes = { - @Index(name = "ix_user_message_uuid", columnList = "uuid"), - @Index(name = "ix_user_message_row_created_at", columnList = "row_created_at") + @Index(name = "ix_user_account_chat_message_uuid", columnList = "uuid"), + @Index(name = "ix_user_account_chat_message_row_created_at", columnList = "row_created_at") } ) +@NamedQueries({ + @NamedQuery( + name = "queryFindAllMessagesBetweenCurrentAndOtherUser", + query = "select m from org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage m " + + "where (m.sender = :thisUser and m.receiver = :otherUser) " + + "or (m.sender = :otherUser and m.receiver = :thisUser) order by m.rowCreatedAt desc" + ) +}) @Getter @Setter @EqualsAndHashCode(callSuper = false) @ToString(callSuper=true) @NoArgsConstructor @AllArgsConstructor -public class ChatMessage extends AuditModel implements Serializable { +public class UserAccountChatMessage extends AuditModel implements Serializable { private static final long serialVersionUID = 4263078228257938175L; @Id - @GeneratedValue(generator = "user_message_generator") + @GeneratedValue(generator = "user_account_chat_message_generator") @SequenceGenerator( - name = "user_message_generator", - sequenceName = "user_message_sequence", + name = "user_account_chat_message_generator", + sequenceName = "user_account_chat_message_sequence", initialValue = 1000 ) private Long id; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPassword.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPassword.java similarity index 93% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPassword.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPassword.java index b825bd3b..d4079082 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPassword.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPassword.java @@ -1,10 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.accountpassword; +package org.woehlke.java.simpleworklist.domain.db.user; import lombok.Getter; import lombok.Setter; import org.woehlke.java.simpleworklist.application.framework.AuditModel; import org.woehlke.java.simpleworklist.application.framework.ComparableById; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; import javax.persistence.*; import javax.validation.constraints.NotNull; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecovery.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPasswordRecovery.java similarity index 71% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecovery.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPasswordRecovery.java index 53939e83..b921bf3e 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecovery.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountPasswordRecovery.java @@ -1,8 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.passwordrecovery; +package org.woehlke.java.simpleworklist.domain.db.user; import javax.validation.constraints.Email; import org.woehlke.java.simpleworklist.application.framework.AuditModel; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryStatus; import javax.persistence.*; import javax.validation.constraints.NotNull; @@ -11,31 +12,31 @@ @Entity @Table( - name="user_password_recovery", + name="user_account_password_recovery", uniqueConstraints = { @UniqueConstraint( - name="ux_user_password_recovery", + name="ux_user_account_password_recovery", columnNames = { "email" } ), @UniqueConstraint( - name="ux_user_password_recovery_token", + name="ux_user_account_password_recovery_token", columnNames = { "token" } ) }, indexes = { - @Index(name = "ix_user_password_recovery_uuid", columnList = "uuid"), - @Index(name = "ix_user_password_recovery_row_created_at", columnList = "row_created_at") + @Index(name = "ix_user_account_password_recovery_uuid", columnList = "uuid"), + @Index(name = "ix_user_account_password_recovery_row_created_at", columnList = "row_created_at") } ) -public class UserPasswordRecovery extends AuditModel implements Serializable { +public class UserAccountPasswordRecovery extends AuditModel implements Serializable { private static final long serialVersionUID = 6860716425733119940L; @Id - @GeneratedValue(generator = "user_password_recovery_generator") + @GeneratedValue(generator = "user_account_password_recovery_generator") @SequenceGenerator( - name = "user_password_recovery_generator", - sequenceName = "user_password_recovery_sequence", + name = "user_account_password_recovery_generator", + sequenceName = "user_account_password_recovery_sequence", initialValue = 1000 ) private Long id; @@ -52,7 +53,7 @@ public class UserPasswordRecovery extends AuditModel implements Serializable { @NotNull @Column(name = "double_optin_status", nullable = false) @Enumerated(EnumType.ORDINAL) - private UserPasswordRecoveryStatus doubleOptInStatus; + private UserAccountPasswordRecoveryStatus doubleOptInStatus; @NotNull @Column(name = "number_of_retries", nullable = false) @@ -87,11 +88,11 @@ public void setToken(String token) { this.token = token; } - public UserPasswordRecoveryStatus getDoubleOptInStatus() { + public UserAccountPasswordRecoveryStatus getDoubleOptInStatus() { return doubleOptInStatus; } - public void setDoubleOptInStatus(UserPasswordRecoveryStatus doubleOptInStatus) { + public void setDoubleOptInStatus(UserAccountPasswordRecoveryStatus doubleOptInStatus) { this.doubleOptInStatus = doubleOptInStatus; } @@ -106,9 +107,9 @@ public void setNumberOfRetries(Integer numberOfRetries) { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof UserPasswordRecovery)) return false; + if (!(o instanceof UserAccountPasswordRecovery)) return false; if (!super.equals(o)) return false; - UserPasswordRecovery that = (UserPasswordRecovery) o; + UserAccountPasswordRecovery that = (UserAccountPasswordRecovery) o; return Objects.equals(getId(), that.getId()) && getEmail().equals(that.getEmail()) && getToken().equals(that.getToken()) && diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistration.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountRegistration.java similarity index 72% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistration.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountRegistration.java index d9d8c365..22113aca 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistration.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/UserAccountRegistration.java @@ -1,8 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; +package org.woehlke.java.simpleworklist.domain.db.user; import javax.validation.constraints.Email; import org.woehlke.java.simpleworklist.application.framework.AuditModel; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationStatus; import javax.persistence.*; import javax.validation.constraints.NotNull; @@ -12,31 +13,31 @@ @Entity @Table( - name="user_registration", + name="user_account_registration", uniqueConstraints = { @UniqueConstraint( - name="ux_user_registration_recovery", + name="ux_user_account_registration", columnNames = { "email" } ), @UniqueConstraint( - name="ux_user_registration_recovery_token", + name="ux_user_account_registration_token", columnNames = { "token" } ) }, indexes = { - @Index(name = "ix_user_registration_uuid", columnList = "uuid"), - @Index(name = "ix_user_registration_row_created_at", columnList = "row_created_at") + @Index(name = "ix_user_account_registration_uuid", columnList = "uuid"), + @Index(name = "ix_user_account_registration_row_created_at", columnList = "row_created_at") } ) -public class UserRegistration extends AuditModel implements Serializable { +public class UserAccountRegistration extends AuditModel implements Serializable { private static final long serialVersionUID = -1955967514018161878L; @Id - @GeneratedValue(generator = "user_registration_generator") + @GeneratedValue(generator = "user_account_registration_generator") @SequenceGenerator( - name = "user_registration_generator", - sequenceName = "user_registration_sequence", + name = "user_account_registration_generator", + sequenceName = "user_account_registration_sequence", initialValue = 1000 ) private Long id; @@ -53,7 +54,7 @@ public class UserRegistration extends AuditModel implements Serializable { @NotNull @Column(name = "double_optin_status", nullable = false) @Enumerated(EnumType.ORDINAL) - private UserRegistrationStatus doubleOptInStatus; + private UserAccountRegistrationStatus doubleOptInStatus; @NotNull @Column(name = "number_of_retries") @@ -88,11 +89,11 @@ public void setToken(String token) { this.token = token; } - public UserRegistrationStatus getDoubleOptInStatus() { + public UserAccountRegistrationStatus getDoubleOptInStatus() { return doubleOptInStatus; } - public void setDoubleOptInStatus(UserRegistrationStatus doubleOptInStatus) { + public void setDoubleOptInStatus(UserAccountRegistrationStatus doubleOptInStatus) { this.doubleOptInStatus = doubleOptInStatus; } @@ -107,9 +108,9 @@ public void setNumberOfRetries(Integer numberOfRetries) { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof UserRegistration)) return false; + if (!(o instanceof UserAccountRegistration)) return false; if (!super.equals(o)) return false; - UserRegistration that = (UserRegistration) o; + UserAccountRegistration that = (UserAccountRegistration) o; return Objects.equals(getId(), that.getId()) && getEmail().equals(that.getEmail()) && getToken().equals(that.getToken()) && diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountForm.java similarity index 96% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountForm.java index 63bb4d91..3bb032e0 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user.account; import javax.persistence.Transient; import javax.validation.constraints.NotNull; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountRepository.java similarity index 72% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountRepository.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountRepository.java index 642f8da8..0df451a1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountRepository.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountRepository.java @@ -1,7 +1,8 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user.account; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; @Repository public interface UserAccountRepository extends JpaRepository { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountService.java similarity index 81% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountService.java index 9abb30d0..1b060c41 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountService.java @@ -1,9 +1,10 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user.account; import java.util.Map; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; public interface UserAccountService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountServiceImpl.java similarity index 87% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountServiceImpl.java index 937e6944..59dab63c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserAccountServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user.account; import java.util.*; @@ -13,10 +13,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.chat.ChatMessage; -import org.woehlke.java.simpleworklist.domain.context.ContextRepository; -import org.woehlke.java.simpleworklist.domain.chat.ChatMessageRepository; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageRepository; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextRepository; @Slf4j @Service("userAccountService") @@ -102,8 +103,8 @@ public Map getNewIncomingMessagesForEachOtherUser(UserAccount rec if(receiver.getId().longValue() == sender.getId().longValue()){ newIncomingMessagesForEachOtherUser.put(sender.getId(),0); } else { - List chatMessages = userMessageRepository.findBySenderAndReceiverAndReadByReceiver(sender,receiver,false); - newIncomingMessagesForEachOtherUser.put(sender.getId(), chatMessages.size()); + List userAccountChatMessages = userMessageRepository.findBySenderAndReceiverAndReadByReceiver(sender,receiver,false); + newIncomingMessagesForEachOtherUser.put(sender.getId(), userAccountChatMessages.size()); } } return newIncomingMessagesForEachOtherUser; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserRole.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserRole.java similarity index 78% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserRole.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserRole.java index e327ed35..03b9c936 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/account/UserRole.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/account/UserRole.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.account; +package org.woehlke.java.simpleworklist.domain.db.user.account; import javax.persistence.Enumerated; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordRepository.java new file mode 100644 index 00000000..1d7bd222 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordRepository.java @@ -0,0 +1,9 @@ +package org.woehlke.java.simpleworklist.domain.db.user.accountpassword; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPassword; + +@Repository +public interface UserAccountPasswordRepository extends JpaRepository { +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordService.java new file mode 100644 index 00000000..05f6c681 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordService.java @@ -0,0 +1,6 @@ +package org.woehlke.java.simpleworklist.domain.db.user.accountpassword; + +import org.springframework.security.core.userdetails.UserDetailsPasswordService; + +public interface UserAccountPasswordService extends UserDetailsPasswordService { +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordServiceImpl.java similarity index 77% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordServiceImpl.java index 1253c60c..76785de4 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountpassword/UserAccountPasswordServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.accountpassword; +package org.woehlke.java.simpleworklist.domain.db.user.accountpassword; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -11,21 +11,21 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.access.UserDetailsDto; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.security.access.UserDetailsDto; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class UserAccountSecurityPasswordServiceImpl implements UserAccountSecurityPasswordService { +public class UserAccountPasswordServiceImpl implements UserAccountPasswordService { private final UserAccountRepository userAccountRepository; private final PasswordEncoder encoder; private final AuthenticationManager authenticationManager; @Autowired - public UserAccountSecurityPasswordServiceImpl(UserAccountRepository userAccountRepository, AuthenticationManager authenticationManager) { + public UserAccountPasswordServiceImpl(UserAccountRepository userAccountRepository, AuthenticationManager authenticationManager) { this.userAccountRepository = userAccountRepository; int strength = 10; this.encoder = new BCryptPasswordEncoder(strength); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeDefaultContextForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeDefaultContextForm.java similarity index 76% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeDefaultContextForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeDefaultContextForm.java index f7cc9e88..a278e082 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeDefaultContextForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeDefaultContextForm.java @@ -1,7 +1,7 @@ -package org.woehlke.java.simpleworklist.domain.user.accountselfservice; +package org.woehlke.java.simpleworklist.domain.db.user.accountselfservice; import lombok.*; -import org.woehlke.java.simpleworklist.domain.context.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Context; import javax.validation.constraints.NotNull; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeNameForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeNameForm.java similarity index 89% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeNameForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeNameForm.java index ee5396e1..9facd794 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangeNameForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangeNameForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.accountselfservice; +package org.woehlke.java.simpleworklist.domain.db.user.accountselfservice; import javax.validation.constraints.NotBlank; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangePasswordForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangePasswordForm.java similarity index 94% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangePasswordForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangePasswordForm.java index 169244cc..a2134e91 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountselfservice/UserChangePasswordForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/accountselfservice/UserChangePasswordForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.accountselfservice; +package org.woehlke.java.simpleworklist.domain.db.user.accountselfservice; import javax.validation.constraints.NotBlank; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageForm.java similarity index 87% rename from src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageForm.java index f413576c..7a311fad 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/chat/ChatMessageForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.chat; +package org.woehlke.java.simpleworklist.domain.db.user.chat; import lombok.*; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageRepository.java new file mode 100644 index 00000000..22ea86fb --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageRepository.java @@ -0,0 +1,42 @@ +package org.woehlke.java.simpleworklist.domain.db.user.chat; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; + +import java.util.List; + +/** + * Created by Fert on 16.02.2016. + */ +@Repository +public interface ChatMessageRepository extends JpaRepository { + + @Query(name="queryFindAllMessagesBetweenCurrentAndOtherUser") + Page findAllMessagesBetweenCurrentAndOtherUser( + @Param("thisUser") UserAccount thisUser, + @Param("otherUser") UserAccount otherUser, + Pageable request + ); + + @Query(name="queryFindAllMessagesBetweenCurrentAndOtherUser") + List findAllMessagesBetweenCurrentAndOtherUser( + @Param("thisUser") UserAccount thisUser, + @Param("otherUser") UserAccount otherUser + ); + + List findByReceiverAndReadByReceiver( + UserAccount receiver, + boolean readByReceiver + ); + + List findBySenderAndReceiverAndReadByReceiver( + UserAccount sender, UserAccount receiver, boolean readByReceiver + ); + +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageService.java new file mode 100644 index 00000000..3fdc7d1d --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageService.java @@ -0,0 +1,29 @@ +package org.woehlke.java.simpleworklist.domain.db.user.chat; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * Created by tw on 16.02.2016. + */ +public interface ChatMessageService { + + int getNumberOfNewIncomingMessagesForUser(UserAccount user); + + Page findAllMessagesBetweenCurrentAndOtherUser( + UserAccount sender, + UserAccount receiver, + Pageable request + ); + + void saveAll(List user2UserMessageList); + + UserAccountChatMessage saveAndFlush(UserAccountChatMessage m); + + List findByReceiverAndReadByReceiver(UserAccount receiver, boolean readByReceiver); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageServiceImpl.java new file mode 100644 index 00000000..c0082c61 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/chat/ChatMessageServiceImpl.java @@ -0,0 +1,72 @@ +package org.woehlke.java.simpleworklist.domain.db.user.chat; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; + +import org.springframework.beans.factory.annotation.Autowired; + +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +/** + * Created by tw on 16.02.2016. + */ +@Slf4j +@Service +public class ChatMessageServiceImpl implements ChatMessageService { + + private final ChatMessageRepository userMessageRepository; + + @Autowired + public ChatMessageServiceImpl(ChatMessageRepository userMessageRepository) { + this.userMessageRepository = userMessageRepository; + } + + @Override + @Transactional(propagation = Propagation.REQUIRED, readOnly = true) + public int getNumberOfNewIncomingMessagesForUser( + UserAccount receiver + ) { + log.info("getNumberOfNewIncomingMessagesForUser"); + boolean readByReceiver = false; + //TODO: #246 change List to Page + List userAccountChatMessageList = + userMessageRepository.findByReceiverAndReadByReceiver(receiver, readByReceiver); + return userAccountChatMessageList.size(); + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public Page findAllMessagesBetweenCurrentAndOtherUser( + UserAccount sender, UserAccount receiver, Pageable request + ) { + return userMessageRepository.findAllMessagesBetweenCurrentAndOtherUser(sender, receiver, request); + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public void saveAll(List user2UserMessageList) { + userMessageRepository.saveAll(user2UserMessageList); + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public UserAccountChatMessage saveAndFlush(UserAccountChatMessage m) { + return userMessageRepository.saveAndFlush(m); + } + + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) + public List findByReceiverAndReadByReceiver(UserAccount receiver, boolean readByReceiver) { + return userMessageRepository.findByReceiverAndReadByReceiver(receiver, readByReceiver); + } + +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryRepository.java new file mode 100644 index 00000000..04ec632b --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryRepository.java @@ -0,0 +1,13 @@ +package org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; + +@Repository +public interface UserAccountPasswordRecoveryRepository extends JpaRepository { + + UserAccountPasswordRecovery findByToken(String token); + + UserAccountPasswordRecovery findByEmail(String email); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryService.java new file mode 100644 index 00000000..6b1b254b --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryService.java @@ -0,0 +1,20 @@ +package org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery; + +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; + +public interface UserAccountPasswordRecoveryService { + + UserAccountPasswordRecovery findByToken(String confirmId); + + boolean passwordRecoveryIsRetryAndMaximumNumberOfRetries(String email); + + void passwordRecoveryCheckIfResponseIsInTime(String email); + + void passwordRecoverySendEmailTo(String email); + + void passwordRecoverySentEmail(UserAccountPasswordRecovery o); + + void passwordRecoveryClickedInEmail(UserAccountPasswordRecovery o); + + void passwordRecoveryDone(UserAccountPasswordRecovery o); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryServiceImpl.java similarity index 59% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryServiceImpl.java index fb536d5e..d7ccba6c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.passwordrecovery; +package org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -10,7 +10,8 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.woehlke.java.simpleworklist.config.SimpleworklistProperties; -import org.woehlke.java.simpleworklist.domain.user.token.TokenGeneratorService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.token.TokenGeneratorService; import java.util.Date; import java.util.UUID; @@ -18,39 +19,39 @@ @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class UserPasswordRecoveryServiceImpl implements UserPasswordRecoveryService { +public class UserAccountPasswordRecoveryServiceImpl implements UserAccountPasswordRecoveryService { - private final UserPasswordRecoveryRepository userPasswordRecoveryRepository; + private final UserAccountPasswordRecoveryRepository userAccountPasswordRecoveryRepository; private final SimpleworklistProperties simpleworklistProperties; private final TokenGeneratorService tokenGeneratorService; private final JavaMailSender mailSender; @Autowired - public UserPasswordRecoveryServiceImpl(UserPasswordRecoveryRepository userPasswordRecoveryRepository, SimpleworklistProperties simpleworklistProperties, TokenGeneratorService tokenGeneratorService, JavaMailSender mailSender) { - this.userPasswordRecoveryRepository = userPasswordRecoveryRepository; + public UserAccountPasswordRecoveryServiceImpl(UserAccountPasswordRecoveryRepository userAccountPasswordRecoveryRepository, SimpleworklistProperties simpleworklistProperties, TokenGeneratorService tokenGeneratorService, JavaMailSender mailSender) { + this.userAccountPasswordRecoveryRepository = userAccountPasswordRecoveryRepository; this.simpleworklistProperties = simpleworklistProperties; this.tokenGeneratorService = tokenGeneratorService; this.mailSender = mailSender; } @Override - public UserPasswordRecovery findByToken(String token) { - return userPasswordRecoveryRepository.findByToken(token); + public UserAccountPasswordRecovery findByToken(String token) { + return userAccountPasswordRecoveryRepository.findByToken(token); } @Override public boolean passwordRecoveryIsRetryAndMaximumNumberOfRetries(String email) { - UserPasswordRecovery earlierOptIn = userPasswordRecoveryRepository.findByEmail(email); + UserAccountPasswordRecovery earlierOptIn = userAccountPasswordRecoveryRepository.findByEmail(email); return earlierOptIn == null?false:earlierOptIn.getNumberOfRetries() >= simpleworklistProperties.getRegistration().getMaxRetries(); } @Override public void passwordRecoveryCheckIfResponseIsInTime(String email) { - UserPasswordRecovery earlierOptIn = userPasswordRecoveryRepository.findByEmail(email); + UserAccountPasswordRecovery earlierOptIn = userAccountPasswordRecoveryRepository.findByEmail(email); if (earlierOptIn != null) { Date now = new Date(); if ((simpleworklistProperties.getRegistration().getTtlEmailVerificationRequest() + earlierOptIn.getRowCreatedAt().getTime()) < now.getTime()) { - userPasswordRecoveryRepository.delete(earlierOptIn); + userAccountPasswordRecoveryRepository.delete(earlierOptIn); } } } @@ -59,48 +60,48 @@ public void passwordRecoveryCheckIfResponseIsInTime(String email) { @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void passwordRecoverySendEmailTo(String email) { - UserPasswordRecovery earlierOptIn = userPasswordRecoveryRepository.findByEmail(email); - UserPasswordRecovery o = new UserPasswordRecovery(); + UserAccountPasswordRecovery earlierOptIn = userAccountPasswordRecoveryRepository.findByEmail(email); + UserAccountPasswordRecovery o = new UserAccountPasswordRecovery(); if (earlierOptIn != null) { o = earlierOptIn; o.increaseNumberOfRetries(); } else { o.setUuid(UUID.randomUUID()); } - o.setDoubleOptInStatus(UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL); + o.setDoubleOptInStatus(UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL); o.setEmail(email); String token = tokenGeneratorService.getToken(); o.setToken(token); log.info("To be saved: " + o.toString()); - o = userPasswordRecoveryRepository.saveAndFlush(o); + o = userAccountPasswordRecoveryRepository.saveAndFlush(o); log.info("Saved: " + o.toString()); this.sendEmailForPasswordReset(o); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void passwordRecoverySentEmail(UserPasswordRecovery o) { - o.setDoubleOptInStatus(UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL); + public void passwordRecoverySentEmail(UserAccountPasswordRecovery o) { + o.setDoubleOptInStatus(UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL); log.info("about to save: " + o.toString()); - userPasswordRecoveryRepository.saveAndFlush(o); + userAccountPasswordRecoveryRepository.saveAndFlush(o); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void passwordRecoveryClickedInEmail(UserPasswordRecovery o) { - o.setDoubleOptInStatus(UserPasswordRecoveryStatus.PASSWORD_RECOVERY_CLICKED_IN_MAIL); - userPasswordRecoveryRepository.saveAndFlush(o); + public void passwordRecoveryClickedInEmail(UserAccountPasswordRecovery o) { + o.setDoubleOptInStatus(UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_CLICKED_IN_MAIL); + userAccountPasswordRecoveryRepository.saveAndFlush(o); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void passwordRecoveryDone(UserPasswordRecovery o) { - o.setDoubleOptInStatus(UserPasswordRecoveryStatus.PASSWORD_RECOVERY_STORED_CHANGED); - o = userPasswordRecoveryRepository.saveAndFlush(o); - userPasswordRecoveryRepository.delete(o); + public void passwordRecoveryDone(UserAccountPasswordRecovery o) { + o.setDoubleOptInStatus(UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_STORED_CHANGED); + o = userAccountPasswordRecoveryRepository.saveAndFlush(o); + userAccountPasswordRecoveryRepository.delete(o); } - private void sendEmailForPasswordReset(UserPasswordRecovery o) { + private void sendEmailForPasswordReset(UserAccountPasswordRecovery o) { String urlHost = simpleworklistProperties.getRegistration().getUrlHost(); String mailFrom= simpleworklistProperties.getRegistration().getMailFrom(); boolean success = true; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryStatus.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryStatus.java similarity index 69% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryStatus.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryStatus.java index a0c1bbbc..75101d2c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryStatus.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/passwordrecovery/UserAccountPasswordRecoveryStatus.java @@ -1,9 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.passwordrecovery; +package org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery; import javax.persistence.Enumerated; import java.io.Serializable; -public enum UserPasswordRecoveryStatus implements Serializable { +public enum UserAccountPasswordRecoveryStatus implements Serializable { @Enumerated PASSWORD_RECOVERY_SAVED_EMAIL, diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationForm.java similarity index 81% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationForm.java index 9cc4f739..f950dc35 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; +package org.woehlke.java.simpleworklist.domain.db.user.signup; import lombok.*; @@ -14,7 +14,7 @@ @NoArgsConstructor @EqualsAndHashCode @ToString -public class UserRegistrationForm implements Serializable { +public class UserAccountRegistrationForm implements Serializable { private static final long serialVersionUID = 6864871862706880939L; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationRepository.java new file mode 100644 index 00000000..25228d44 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationRepository.java @@ -0,0 +1,13 @@ +package org.woehlke.java.simpleworklist.domain.db.user.signup; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; + +@Repository +public interface UserAccountRegistrationRepository extends JpaRepository { + + UserAccountRegistration findByToken(String token); + + UserAccountRegistration findByEmail(String email); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationService.java new file mode 100644 index 00000000..ffef52cf --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationService.java @@ -0,0 +1,21 @@ +package org.woehlke.java.simpleworklist.domain.db.user.signup; + +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; + +public interface UserAccountRegistrationService { + + UserAccountRegistration findByToken(String confirmId); + + boolean registrationIsRetryAndMaximumNumberOfRetries(String email); + + void registrationCheckIfResponseIsInTime(String email); + + void registrationSendEmailTo(String email); + + void registrationSentEmail(UserAccountRegistration o); + + void registrationClickedInEmail(UserAccountRegistration o); + + void registrationUserCreated(UserAccountRegistration o); + +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationServiceImpl.java similarity index 62% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationServiceImpl.java index d393fa43..8655c126 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; +package org.woehlke.java.simpleworklist.domain.db.user.signup; import java.util.Date; import java.util.UUID; @@ -14,40 +14,41 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.woehlke.java.simpleworklist.config.SimpleworklistProperties; -import org.woehlke.java.simpleworklist.domain.user.token.TokenGeneratorService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; +import org.woehlke.java.simpleworklist.domain.db.user.token.TokenGeneratorService; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class UserRegistrationServiceImpl implements UserRegistrationService { +public class UserAccountRegistrationServiceImpl implements UserAccountRegistrationService { private final SimpleworklistProperties simpleworklistProperties; - private final UserRegistrationRepository userRegistrationRepository; + private final UserAccountRegistrationRepository userAccountRegistrationRepository; private final TokenGeneratorService tokenGeneratorService; private final JavaMailSender mailSender; @Autowired - public UserRegistrationServiceImpl(SimpleworklistProperties simpleworklistProperties, UserRegistrationRepository userRegistrationRepository, TokenGeneratorService tokenGeneratorService, JavaMailSender mailSender) { + public UserAccountRegistrationServiceImpl(SimpleworklistProperties simpleworklistProperties, UserAccountRegistrationRepository userAccountRegistrationRepository, TokenGeneratorService tokenGeneratorService, JavaMailSender mailSender) { this.simpleworklistProperties = simpleworklistProperties; - this.userRegistrationRepository = userRegistrationRepository; + this.userAccountRegistrationRepository = userAccountRegistrationRepository; this.tokenGeneratorService = tokenGeneratorService; this.mailSender = mailSender; } @Override public boolean registrationIsRetryAndMaximumNumberOfRetries(String email) { - UserRegistration earlierOptIn = userRegistrationRepository.findByEmail(email); + UserAccountRegistration earlierOptIn = userAccountRegistrationRepository.findByEmail(email); return earlierOptIn == null?false:(earlierOptIn.getNumberOfRetries() >= simpleworklistProperties.getRegistration().getMaxRetries()); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void registrationCheckIfResponseIsInTime(String email) { - UserRegistration earlierOptIn = userRegistrationRepository.findByEmail(email); + UserAccountRegistration earlierOptIn = userAccountRegistrationRepository.findByEmail(email); if (earlierOptIn != null) { Date now = new Date(); if ((simpleworklistProperties.getRegistration().getTtlEmailVerificationRequest() + earlierOptIn.getRowCreatedAt().getTime()) < now.getTime()) { - userRegistrationRepository.delete(earlierOptIn); + userAccountRegistrationRepository.delete(earlierOptIn); } } } @@ -56,52 +57,52 @@ public void registrationCheckIfResponseIsInTime(String email) { @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void registrationSendEmailTo(String email) { - UserRegistration earlierOptIn = userRegistrationRepository.findByEmail(email); - UserRegistration o = new UserRegistration(); + UserAccountRegistration earlierOptIn = userAccountRegistrationRepository.findByEmail(email); + UserAccountRegistration o = new UserAccountRegistration(); o.setUuid(UUID.randomUUID()); if (earlierOptIn != null) { o = earlierOptIn; o.increaseNumberOfRetries(); } - o.setDoubleOptInStatus(UserRegistrationStatus.REGISTRATION_SAVED_EMAIL); + o.setDoubleOptInStatus(UserAccountRegistrationStatus.REGISTRATION_SAVED_EMAIL); o.setEmail(email); String token = tokenGeneratorService.getToken(); o.setToken(token); log.info("To be saved: " + o.toString()); - o = userRegistrationRepository.saveAndFlush(o); + o = userAccountRegistrationRepository.saveAndFlush(o); log.info("Saved: " + o.toString()); this.sendEmailToRegisterNewUser(o); } @Override - public UserRegistration findByToken(String confirmId) { - return userRegistrationRepository.findByToken(confirmId); + public UserAccountRegistration findByToken(String confirmId) { + return userAccountRegistrationRepository.findByToken(confirmId); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void registrationSentEmail(UserRegistration o) { - o.setDoubleOptInStatus(UserRegistrationStatus.REGISTRATION_SENT_MAIL); + public void registrationSentEmail(UserAccountRegistration o) { + o.setDoubleOptInStatus(UserAccountRegistrationStatus.REGISTRATION_SENT_MAIL); log.info("about to save: " + o.toString()); - userRegistrationRepository.saveAndFlush(o); + userAccountRegistrationRepository.saveAndFlush(o); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void registrationClickedInEmail(UserRegistration o) { - o.setDoubleOptInStatus(UserRegistrationStatus.REGISTRATION_CLICKED_IN_MAIL); - userRegistrationRepository.saveAndFlush(o); + public void registrationClickedInEmail(UserAccountRegistration o) { + o.setDoubleOptInStatus(UserAccountRegistrationStatus.REGISTRATION_CLICKED_IN_MAIL); + userAccountRegistrationRepository.saveAndFlush(o); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) - public void registrationUserCreated(UserRegistration o) { - o.setDoubleOptInStatus(UserRegistrationStatus.REGISTRATION_ACCOUNT_CREATED); - o = userRegistrationRepository.saveAndFlush(o); - userRegistrationRepository.delete(o); + public void registrationUserCreated(UserAccountRegistration o) { + o.setDoubleOptInStatus(UserAccountRegistrationStatus.REGISTRATION_ACCOUNT_CREATED); + o = userAccountRegistrationRepository.saveAndFlush(o); + userAccountRegistrationRepository.delete(o); } - private void sendEmailToRegisterNewUser(UserRegistration o) { + private void sendEmailToRegisterNewUser(UserAccountRegistration o) { String urlHost = simpleworklistProperties.getRegistration().getUrlHost(); String mailFrom= simpleworklistProperties.getRegistration().getMailFrom(); boolean success = true; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationStatus.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationStatus.java similarity index 70% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationStatus.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationStatus.java index 541d16f5..8b638450 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationStatus.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/signup/UserAccountRegistrationStatus.java @@ -1,9 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; +package org.woehlke.java.simpleworklist.domain.db.user.signup; import javax.persistence.Enumerated; import java.io.Serializable; -public enum UserRegistrationStatus implements Serializable { +public enum UserAccountRegistrationStatus implements Serializable { @Enumerated REGISTRATION_SAVED_EMAIL, diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorService.java similarity index 52% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorService.java index f865a7ac..efc1390c 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorService.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.token; +package org.woehlke.java.simpleworklist.domain.db.user.token; public interface TokenGeneratorService { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorServiceImpl.java similarity index 88% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorServiceImpl.java index 0773ac0d..fda02d5e 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/token/TokenGeneratorServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/db/user/token/TokenGeneratorServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.token; +package org.woehlke.java.simpleworklist.domain.db.user.token; import org.springframework.stereotype.Service; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/PagesController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/PagesController.java similarity index 85% rename from src/main/java/org/woehlke/java/simpleworklist/domain/PagesController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/PagesController.java index 6d7d503d..e0291db4 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/PagesController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/PagesController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.meso; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; @@ -6,7 +6,7 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import javax.validation.constraints.NotNull; import java.util.Locale; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTabController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTabController.java similarity index 93% rename from src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTabController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTabController.java index 603553fb..edbae5d5 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTabController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTabController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.meso; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -9,12 +9,13 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import lombok.extern.slf4j.Slf4j; -import org.woehlke.java.simpleworklist.domain.taskworkflow.MoveTaskToTaskInTaskstateService; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.MoveTaskToTaskInTaskstateService; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; import javax.validation.constraints.NotNull; import java.util.Locale; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTaskController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTaskController.java similarity index 93% rename from src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTaskController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTaskController.java index efee83c0..aebb322a 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/TaskStateTaskController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TaskStateTaskController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.meso; import org.springframework.stereotype.Controller; @@ -7,18 +7,19 @@ import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskEnergy; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.task.TaskTime; -import org.woehlke.java.simpleworklist.domain.taskworkflow.MoveTaskToTaskInTaskstateService; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TransformTaskIntoProjektService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.MoveTaskToTaskInTaskstateService; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TransformTaskIntoProjektService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import org.springframework.beans.factory.annotation.Autowired; @@ -56,7 +57,7 @@ public final String addNewTaskToInboxGet( Locale locale, Model model ) { log.info("addNewTaskToInboxGet"); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); Task task = new Task(); task.setTaskState(TaskState.INBOX); task.setTaskEnergy(TaskEnergy.NONE); @@ -121,7 +122,7 @@ public final String editTaskGet( ) { log.info("editTaskGet"); addProjectFromTaskToModel( task, model ); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); Context thisContext = task.getContext(); Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForTaskstate(task.getTaskState(), locale, userSession); @@ -163,7 +164,7 @@ public final String editTaskPost( log.warn(e.toString()); } //Task persistentTask = taskService.findOne(taskId); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); List contexts = contextService.getAllForUser(userAccount); Project thisProject = addProjectFromTaskToModel( task, model ); // task = addProject(task); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/TestDataController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TestDataController.java similarity index 56% rename from src/main/java/org/woehlke/java/simpleworklist/domain/TestDataController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/TestDataController.java index 5728f18d..30f5e3b2 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/TestDataController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/TestDataController.java @@ -1,14 +1,14 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.meso; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.woehlke.java.simpleworklist.domain.testdata.TestDataService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.testdata.TestDataService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.user.login.UserAccountLoginSuccessService; +import org.woehlke.java.simpleworklist.domain.security.login.LoginSuccessService; @Slf4j @Controller @@ -16,20 +16,20 @@ public class TestDataController { private final TestDataService testDataService; - private final UserAccountLoginSuccessService userAccountLoginSuccessService; + private final LoginSuccessService loginSuccessService; @Autowired public TestDataController( TestDataService testDataService, - UserAccountLoginSuccessService userAccountLoginSuccessService + LoginSuccessService loginSuccessService ) { this.testDataService = testDataService; - this.userAccountLoginSuccessService = userAccountLoginSuccessService; + this.loginSuccessService = loginSuccessService; } @RequestMapping(path = "/createTree", method = RequestMethod.GET) public String createTestCategoryTree() { - UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount user = loginSuccessService.retrieveCurrentUser(); testDataService.createTestData(user); return "redirect:/home"; } diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/meso/UserChatMessageController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/UserChatMessageController.java new file mode 100644 index 00000000..5e14f9cd --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/UserChatMessageController.java @@ -0,0 +1,124 @@ +package org.woehlke.java.simpleworklist.domain.meso; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.web.PageableDefault; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; +import org.springframework.validation.ObjectError; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.woehlke.java.simpleworklist.domain.AbstractController; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageForm; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.chat.UserChatMessageControllerService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +import java.util.Locale; + +/** + * Created by + * on 16.02.2016. + */ +@Slf4j +@Controller +@RequestMapping(path = "/user2user") +public class UserChatMessageController extends AbstractController { + + private final UserChatMessageControllerService userChatMessageControllerService; + + @Autowired + public UserChatMessageController(UserChatMessageControllerService userChatMessageControllerService) { + this.userChatMessageControllerService = userChatMessageControllerService; + } + + @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.GET) + public final String getLastMessagesBetweenCurrentAndOtherUser( + @Valid @NotNull @PathVariable("userId") UserAccount otherUser, + @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model + ) { + log.info("getLastMessagesBetweenCurrentAndOtherUser"); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("Context context"); + Context context = super.getContext(userSession); + log.info(context.toString()); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("UserAccount thisUser"); + UserAccount thisUser = context.getUserAccount(); + log.info(thisUser.toString()); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("ChatMessageForm chatMessageForm"); + ChatMessageForm chatMessageForm = new ChatMessageForm(); + log.info(chatMessageForm.toString()); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("Page user2UserMessagePage"); + Page user2UserMessagePage = userChatMessageControllerService.readAllMessagesBetweenCurrentAndOtherUser( + thisUser, otherUser, request + ); + for (UserAccountChatMessage o : user2UserMessagePage) { + log.info(o.toString()); + } + log.info("-----------------------------------------------------------------------------------------------"); + log.info("breadcrumb"); + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForMessagesBetweenCurrentAndOtherUser(locale, userSession); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("model.addAttributes"); + model.addAttribute("newUser2UserMessage", chatMessageForm); + model.addAttribute("otherUser", otherUser); + model.addAttribute("user2UserMessagePage", user2UserMessagePage); + model.addAttribute("refreshMessages", true); + model.addAttribute("breadcrumb", breadcrumb); + model.addAttribute("userSession", userSession); + log.info("-----------------------------------------------------------------------------------------------"); + log.info("getLastMessagesBetweenCurrentAndOtherUser DONE"); + return "user/messages/all"; + } + + @RequestMapping(path = "/{userId}/messages/", method = RequestMethod.POST) + public final String sendNewMessageToOtherUser( + @PathVariable("userId") UserAccount otherUser, + @Valid @ModelAttribute("newUser2UserMessage") ChatMessageForm chatMessageForm, + BindingResult result, + @PageableDefault(sort = "rowCreatedAt", direction = Sort.Direction.DESC) Pageable request, + @ModelAttribute("userSession") UserSessionBean userSession, + Locale locale, + Model model + ) { + log.info("sendNewMessageToOtherUser"); + Context context = super.getContext(userSession); + UserAccount thisUser = context.getUserAccount(); + model.addAttribute("userSession", userSession); + Breadcrumb breadcrumb = breadcrumbService.getBreadcrumbForMessagesBetweenCurrentAndOtherUser(locale, userSession); + model.addAttribute("breadcrumb", breadcrumb); + if (result.hasErrors()) { + log.info("result.hasErrors"); + for (ObjectError objectError : result.getAllErrors()) { + log.info("result.hasErrors: " + objectError.toString()); + } + Page user2UserMessagePage = userChatMessageControllerService.readAllMessagesBetweenCurrentAndOtherUser(thisUser, otherUser, request); + model.addAttribute("otherUser", otherUser); + model.addAttribute("user2UserMessagePage", user2UserMessagePage); + model.addAttribute("userSession", userSession); + return "user/messages/all"; + } else { + userChatMessageControllerService.sendNewUserMessage(thisUser, otherUser, chatMessageForm); + model.addAttribute("userSession", userSession); + return "redirect:/user2user/" + otherUser.getId() + "/messages/"; + } + } + +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/Breadcrumb.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/Breadcrumb.java similarity index 91% rename from src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/Breadcrumb.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/Breadcrumb.java index c5cd7af6..b64f5b29 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/Breadcrumb.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/Breadcrumb.java @@ -1,11 +1,11 @@ -package org.woehlke.java.simpleworklist.domain.breadcrumb; +package org.woehlke.java.simpleworklist.domain.meso.breadcrumb; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; import java.io.Serializable; import java.util.ArrayList; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbItem.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbItem.java similarity index 88% rename from src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbItem.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbItem.java index ca140204..9fc8f70d 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbItem.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbItem.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.breadcrumb; +package org.woehlke.java.simpleworklist.domain.meso.breadcrumb; import lombok.*; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbService.java similarity index 80% rename from src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbService.java index bcd79df5..d0b22167 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbService.java @@ -1,9 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.breadcrumb; +package org.woehlke.java.simpleworklist.domain.meso.breadcrumb; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import java.util.Locale; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbServiceImpl.java similarity index 95% rename from src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbServiceImpl.java index 96d3a23f..230e21cf 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/breadcrumb/BreadcrumbServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/breadcrumb/BreadcrumbServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.breadcrumb; +package org.woehlke.java.simpleworklist.domain.meso.breadcrumb; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -6,12 +6,11 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.context.ContextService; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import java.util.Locale; import java.util.Optional; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerService.java new file mode 100644 index 00000000..1fe33a79 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerService.java @@ -0,0 +1,23 @@ +package org.woehlke.java.simpleworklist.domain.meso.chat; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageForm; + + +public interface UserChatMessageControllerService { + + UserAccountChatMessage sendNewUserMessage( + UserAccount thisUser, + UserAccount otherUser, + ChatMessageForm chatMessageForm + ); + + Page readAllMessagesBetweenCurrentAndOtherUser( + UserAccount receiver, + UserAccount sender, + Pageable request + ); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerServiceImpl.java new file mode 100644 index 00000000..b164a363 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/chat/UserChatMessageControllerServiceImpl.java @@ -0,0 +1,75 @@ +package org.woehlke.java.simpleworklist.domain.meso.chat; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountChatMessage; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageForm; +import org.woehlke.java.simpleworklist.domain.db.user.chat.ChatMessageService; + +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) +public class UserChatMessageControllerServiceImpl implements UserChatMessageControllerService { + + private final ChatMessageService chatMessageService; + + @Autowired + public UserChatMessageControllerServiceImpl(ChatMessageService chatMessageService) { + this.chatMessageService = chatMessageService; + } + + @Override + public UserAccountChatMessage sendNewUserMessage( + UserAccount thisUser, + UserAccount otherUser, + ChatMessageForm chatMessageForm + ) { + log.info("sendNewUserMessage"); + UserAccountChatMessage m = new UserAccountChatMessage(); + m.setSender(thisUser); + m.setReceiver(otherUser); + m.setReadByReceiver(false); + m.setUuid(UUID.randomUUID()); + m.setMessageText(chatMessageForm.getMessageText()); + return chatMessageService.saveAndFlush(m); + } + + @Override + public Page readAllMessagesBetweenCurrentAndOtherUser( + UserAccount receiver, + UserAccount sender, + Pageable request + ) { + log.info("readAllMessagesBetweenCurrentAndOtherUser"); + log.info("-----------------------------------------------------------------------------------------------"); + List user2UserMessageList = new ArrayList<>(); + log.info("Page user2UserMessagePage"); + log.info(sender.toString()); + log.info(receiver.toString()); + log.info(request.toString()); + log.info("Page user2UserMessagePage"); + Page user2UserMessagePage = chatMessageService.findAllMessagesBetweenCurrentAndOtherUser(sender, receiver, request); + log.info("Page user2UserMessagePage size: " + user2UserMessagePage.stream().count()); + log.info("-----------------------------------------------------------------------------------------------"); + for (UserAccountChatMessage userAccountChatMessage : user2UserMessagePage) { + userAccountChatMessage.setReadByReceiver(true); + user2UserMessageList.add(userAccountChatMessage); + } + log.info("-----------------------------------------------------------------------------------------------"); + log.info("userMessageRepository.saveAll(user2UserMessageList)"); + chatMessageService.saveAll(user2UserMessageList); + log.info("-----------------------------------------------------------------------------------------------"); + return chatMessageService.findAllMessagesBetweenCurrentAndOtherUser(sender, receiver, request); + } +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/language/Language.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/Language.java similarity index 91% rename from src/main/java/org/woehlke/java/simpleworklist/domain/language/Language.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/Language.java index 5f1824aa..c0e855fb 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/language/Language.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/Language.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.language; +package org.woehlke.java.simpleworklist.domain.meso.language; import javax.persistence.Enumerated; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/language/UserChangeLanguageForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/UserChangeLanguageForm.java similarity index 86% rename from src/main/java/org/woehlke/java/simpleworklist/domain/language/UserChangeLanguageForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/UserChangeLanguageForm.java index 66b5f756..ac8caafc 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/language/UserChangeLanguageForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/language/UserChangeLanguageForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.language; +package org.woehlke.java.simpleworklist.domain.meso.language; import lombok.*; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/session/UserSessionBean.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/session/UserSessionBean.java similarity index 92% rename from src/main/java/org/woehlke/java/simpleworklist/domain/session/UserSessionBean.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/session/UserSessionBean.java index a7f2e557..b0f163ce 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/session/UserSessionBean.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/session/UserSessionBean.java @@ -1,10 +1,10 @@ -package org.woehlke.java.simpleworklist.domain.session; +package org.woehlke.java.simpleworklist.domain.meso.session; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; import java.io.Serializable; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateService.java similarity index 63% rename from src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateService.java index 453bef8a..6c655f13 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateService.java @@ -1,10 +1,10 @@ -package org.woehlke.java.simpleworklist.domain.taskworkflow; +package org.woehlke.java.simpleworklist.domain.meso.taskworkflow; import org.springframework.data.domain.Pageable; import org.springframework.ui.Model; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import java.util.Locale; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java similarity index 88% rename from src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java index e984a592..2f5460ab 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/MoveTaskToTaskInTaskstateServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.taskworkflow; +package org.woehlke.java.simpleworklist.domain.meso.taskworkflow; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -8,12 +8,12 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; -import org.woehlke.java.simpleworklist.domain.breadcrumb.Breadcrumb; -import org.woehlke.java.simpleworklist.domain.breadcrumb.BreadcrumbService; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.Breadcrumb; +import org.woehlke.java.simpleworklist.domain.meso.breadcrumb.BreadcrumbService; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import javax.validation.constraints.NotNull; import java.util.Locale; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TaskState.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TaskState.java similarity index 95% rename from src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TaskState.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TaskState.java index 062b367c..be5571ac 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TaskState.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TaskState.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.taskworkflow; +package org.woehlke.java.simpleworklist.domain.meso.taskworkflow; import java.io.Serializable; import java.util.Arrays; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektService.java new file mode 100644 index 00000000..dfd7a431 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektService.java @@ -0,0 +1,10 @@ +package org.woehlke.java.simpleworklist.domain.meso.taskworkflow; + +import org.springframework.ui.Model; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; + +public interface TransformTaskIntoProjektService { + + String transformTaskIntoProjectGet(Task task, UserSessionBean userSession, Model model); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektServiceImpl.java similarity index 81% rename from src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektServiceImpl.java index 03345652..b6e69b4b 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/taskworkflow/TransformTaskIntoProjektServiceImpl.java @@ -1,15 +1,15 @@ -package org.woehlke.java.simpleworklist.domain.taskworkflow; +package org.woehlke.java.simpleworklist.domain.meso.taskworkflow; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.ui.Model; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskService; -import org.woehlke.java.simpleworklist.domain.project.ProjectService; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectService; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskService; +import org.woehlke.java.simpleworklist.domain.meso.session.UserSessionBean; import javax.validation.constraints.NotNull; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataService.java new file mode 100644 index 00000000..7e4cb4c8 --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataService.java @@ -0,0 +1,8 @@ +package org.woehlke.java.simpleworklist.domain.meso.testdata; + +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; + +public interface TestDataService { + + void createTestData(UserAccount userAccount); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataServiceImpl.java similarity index 99% rename from src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataServiceImpl.java index f375db43..e8c01cf4 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/meso/testdata/TestDataServiceImpl.java @@ -1,19 +1,19 @@ -package org.woehlke.java.simpleworklist.domain.testdata; +package org.woehlke.java.simpleworklist.domain.meso.testdata; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.task.TaskEnergy; -import org.woehlke.java.simpleworklist.domain.taskworkflow.TaskState; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.task.TaskTime; -import org.woehlke.java.simpleworklist.domain.context.ContextRepository; -import org.woehlke.java.simpleworklist.domain.task.TaskRepository; -import org.woehlke.java.simpleworklist.domain.project.ProjectRepository; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.Task; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectRepository; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskEnergy; +import org.woehlke.java.simpleworklist.domain.meso.taskworkflow.TaskState; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskTime; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextRepository; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskRepository; import org.springframework.beans.factory.annotation.Autowired; import java.util.Date; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchService.java deleted file mode 100644 index 36d32492..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/search/SearchService.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.search; - -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.search.request.SearchRequest; -import org.woehlke.java.simpleworklist.domain.search.result.SearchResult; - -/** - * Created by tw on 14.02.16. - */ -public interface SearchService { - - SearchResult search(SearchRequest searchRequest); - - SearchResult search(String searchterm, Context context); - - void resetSearchIndex(); - -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/UserLoginController.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/UserLoginController.java similarity index 81% rename from src/main/java/org/woehlke/java/simpleworklist/domain/UserLoginController.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/UserLoginController.java index 58e76662..a1517d8b 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/UserLoginController.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/UserLoginController.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain; +package org.woehlke.java.simpleworklist.domain.security; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -16,25 +16,25 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.support.SessionStatus; -import org.woehlke.java.simpleworklist.domain.user.access.UserAuthorizationService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.login.LoginForm; -import org.woehlke.java.simpleworklist.domain.user.login.UserAccountLoginSuccessService; +import org.woehlke.java.simpleworklist.domain.security.access.UserAuthorizationService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.security.login.LoginForm; +import org.woehlke.java.simpleworklist.domain.security.login.LoginSuccessService; @Slf4j @Controller @RequestMapping(path = "/user") public class UserLoginController { - private final UserAccountLoginSuccessService userAccountLoginSuccessService; + private final LoginSuccessService loginSuccessService; private final UserAuthorizationService userAuthorizationService; @Autowired public UserLoginController( - UserAccountLoginSuccessService userAccountLoginSuccessService, + LoginSuccessService loginSuccessService, UserAuthorizationService userAuthorizationService ) { - this.userAccountLoginSuccessService = userAccountLoginSuccessService; + this.loginSuccessService = loginSuccessService; this.userAuthorizationService = userAuthorizationService; } @@ -70,8 +70,8 @@ public final String loginPost( log.info("loginPerform"); boolean authorized = userAuthorizationService.authorize(loginForm); if (!result.hasErrors() && authorized) { - UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); - userAccountLoginSuccessService.updateLastLoginTimestamp(user); + UserAccount user = loginSuccessService.retrieveCurrentUser(); + loginSuccessService.updateLastLoginTimestamp(user); log.info("logged in"); return "redirect:/home"; } else { diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsService.java similarity index 70% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsService.java index 1ab3cae1..429924ba 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsService.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.access; +package org.woehlke.java.simpleworklist.domain.security.access; import org.springframework.security.core.userdetails.UserDetailsService; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsServiceImpl.java similarity index 84% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsServiceImpl.java index a94c3419..b7860ab1 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/ApplicationUserDetailsServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/ApplicationUserDetailsServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.access; +package org.woehlke.java.simpleworklist.domain.security.access; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -7,8 +7,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountRepository; @Slf4j @Service diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationService.java new file mode 100644 index 00000000..f9e78b4e --- /dev/null +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationService.java @@ -0,0 +1,14 @@ +package org.woehlke.java.simpleworklist.domain.security.access; + +import org.woehlke.java.simpleworklist.domain.security.login.LoginForm; +import org.woehlke.java.simpleworklist.domain.db.user.accountselfservice.UserChangePasswordForm; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; + +public interface UserAuthorizationService { + + void changeUsersPassword(UserChangePasswordForm userAccountFormBean, UserAccount user); + + boolean confirmUserByLoginAndPassword(String userEmail, String oldUserPassword); + + boolean authorize(LoginForm loginForm); +} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationServiceImpl.java similarity index 88% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationServiceImpl.java index c4b8f7bc..206a0205 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserAuthorizationServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.access; +package org.woehlke.java.simpleworklist.domain.security.access; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -10,10 +10,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.user.accountselfservice.UserChangePasswordForm; -import org.woehlke.java.simpleworklist.domain.user.login.LoginForm; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.security.login.LoginForm; +import org.woehlke.java.simpleworklist.domain.db.user.accountselfservice.UserChangePasswordForm; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountRepository; @Slf4j @Service diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserDetailsDto.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserDetailsDto.java similarity index 92% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserDetailsDto.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserDetailsDto.java index 6e747282..3836681f 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserDetailsDto.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/access/UserDetailsDto.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.access; +package org.woehlke.java.simpleworklist.domain.security.access; import java.util.ArrayList; import java.util.Collection; @@ -8,7 +8,7 @@ import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; @Getter diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginForm.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginForm.java similarity index 93% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginForm.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginForm.java index d1785dd4..501160f2 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginForm.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginForm.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.login; +package org.woehlke.java.simpleworklist.domain.security.login; import javax.validation.constraints.NotNull; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginSuccessHandler.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessHandler.java similarity index 74% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginSuccessHandler.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessHandler.java index 39ebfd96..a4df3f97 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/LoginSuccessHandler.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessHandler.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.login; +package org.woehlke.java.simpleworklist.domain.security.login; import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; @@ -6,8 +6,7 @@ import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; import org.springframework.stereotype.Component; import org.springframework.web.servlet.LocaleResolver; -import org.woehlke.java.simpleworklist.domain.language.Language; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; import org.springframework.beans.factory.annotation.Autowired; @@ -25,16 +24,16 @@ public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler implements AuthenticationSuccessHandler { - private final UserAccountLoginSuccessService userAccountLoginSuccessService; + private final LoginSuccessService loginSuccessService; private final LocaleResolver localeResolver; @Autowired public LoginSuccessHandler( - UserAccountLoginSuccessService userAccountLoginSuccessService, + LoginSuccessService loginSuccessService, LocaleResolver localeResolver ) { super(); - this.userAccountLoginSuccessService = userAccountLoginSuccessService; + this.loginSuccessService = loginSuccessService; this.localeResolver = localeResolver; } @@ -46,8 +45,8 @@ public void onAuthenticationSuccess( ) throws ServletException, IOException { log.info("onAuthenticationSuccess"); super.onAuthenticationSuccess(request, response, authentication); - UserAccount user = userAccountLoginSuccessService.retrieveCurrentUser(); - userAccountLoginSuccessService.updateLastLoginTimestamp(user); + UserAccount user = loginSuccessService.retrieveCurrentUser(); + loginSuccessService.updateLastLoginTimestamp(user); Locale locale; switch(user.getDefaultLanguage()){ case DE: locale = Locale.GERMAN; break; diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessService.java similarity index 57% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessService.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessService.java index c0fc1ac4..0c46a93f 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessService.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessService.java @@ -1,9 +1,9 @@ -package org.woehlke.java.simpleworklist.domain.user.login; +package org.woehlke.java.simpleworklist.domain.security.login; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; -public interface UserAccountLoginSuccessService { +public interface LoginSuccessService { String retrieveUsername(); diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessServiceImpl.java b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessServiceImpl.java similarity index 83% rename from src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessServiceImpl.java rename to src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessServiceImpl.java index a84dd056..56f4638e 100644 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/login/UserAccountLoginSuccessServiceImpl.java +++ b/src/main/java/org/woehlke/java/simpleworklist/domain/security/login/LoginSuccessServiceImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.java.simpleworklist.domain.user.login; +package org.woehlke.java.simpleworklist.domain.security.login; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -9,20 +9,20 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountRepository; import java.util.Date; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, readOnly = true) -public class UserAccountLoginSuccessServiceImpl implements UserAccountLoginSuccessService { +public class LoginSuccessServiceImpl implements LoginSuccessService { private final UserAccountRepository userAccountRepository; @Autowired - public UserAccountLoginSuccessServiceImpl(UserAccountRepository userAccountRepository) { + public LoginSuccessServiceImpl(UserAccountRepository userAccountRepository) { this.userAccountRepository = userAccountRepository; } diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektService.java deleted file mode 100644 index 2384eda1..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/taskworkflow/TransformTaskIntoProjektService.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.taskworkflow; - -import org.springframework.ui.Model; -import org.woehlke.java.simpleworklist.domain.task.Task; -import org.woehlke.java.simpleworklist.domain.session.UserSessionBean; - -public interface TransformTaskIntoProjektService { - - String transformTaskIntoProjectGet(Task task, UserSessionBean userSession, Model model); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataService.java deleted file mode 100644 index 11700b1f..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataService.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.testdata; - -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; - -public interface TestDataService { - - void createTestData(UserAccount userAccount); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationService.java deleted file mode 100644 index 38262860..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/access/UserAuthorizationService.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.access; - -import org.woehlke.java.simpleworklist.domain.user.accountselfservice.UserChangePasswordForm; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.login.LoginForm; - -public interface UserAuthorizationService { - - void changeUsersPassword(UserChangePasswordForm userAccountFormBean, UserAccount user); - - boolean confirmUserByLoginAndPassword(String userEmail, String oldUserPassword); - - boolean authorize(LoginForm loginForm); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPasswordRepositories.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPasswordRepositories.java deleted file mode 100644 index 9b49ae9e..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountPasswordRepositories.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.accountpassword; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface UserAccountPasswordRepositories extends JpaRepository { -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordService.java deleted file mode 100644 index dce2b472..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/accountpassword/UserAccountSecurityPasswordService.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.accountpassword; - -import org.springframework.security.core.userdetails.UserDetailsPasswordService; - -public interface UserAccountSecurityPasswordService extends UserDetailsPasswordService { -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryRepository.java deleted file mode 100644 index f453022e..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.passwordrecovery; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface UserPasswordRecoveryRepository extends JpaRepository { - - UserPasswordRecovery findByToken(String token); - - UserPasswordRecovery findByEmail(String email); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryService.java deleted file mode 100644 index 674f947a..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/passwordrecovery/UserPasswordRecoveryService.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.passwordrecovery; - -public interface UserPasswordRecoveryService { - - UserPasswordRecovery findByToken(String confirmId); - - boolean passwordRecoveryIsRetryAndMaximumNumberOfRetries(String email); - - void passwordRecoveryCheckIfResponseIsInTime(String email); - - void passwordRecoverySendEmailTo(String email); - - void passwordRecoverySentEmail(UserPasswordRecovery o); - - void passwordRecoveryClickedInEmail(UserPasswordRecovery o); - - void passwordRecoveryDone(UserPasswordRecovery o); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationRepository.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationRepository.java deleted file mode 100644 index 4a3eae22..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface UserRegistrationRepository extends JpaRepository { - - UserRegistration findByToken(String token); - - UserRegistration findByEmail(String email); -} diff --git a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationService.java b/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationService.java deleted file mode 100644 index 44263dbb..00000000 --- a/src/main/java/org/woehlke/java/simpleworklist/domain/user/signup/UserRegistrationService.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.woehlke.java.simpleworklist.domain.user.signup; - -public interface UserRegistrationService { - - UserRegistration findByToken(String confirmId); - - boolean registrationIsRetryAndMaximumNumberOfRetries(String email); - - void registrationCheckIfResponseIsInTime(String email); - - void registrationSendEmailTo(String email); - - void registrationSentEmail(UserRegistration o); - - void registrationClickedInEmail(UserRegistration o); - - void registrationUserCreated(UserRegistration o); - -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8b02ae89..4825e666 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -33,7 +33,7 @@ spring: generate-ddl: true database-platform: POSTGRESQL hibernate: - #ddl-auto: create-drop update + #ddl-auto: create-drop update ddl-auto: ${BLOODMONEY_HIBERNATE_DDL_AUTO} naming: implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl @@ -176,10 +176,7 @@ logging: application: DEBUG config: DEBUG measurements: DEBUG - user: DEBUG domain: DEBUG - services: DEBUG - common: INFO debug: false --- spring: diff --git a/src/main/resources/messages_de.properties b/src/main/resources/messages_de.properties index ac43864a..06d00605 100644 --- a/src/main/resources/messages_de.properties +++ b/src/main/resources/messages_de.properties @@ -58,11 +58,11 @@ pages.user.profile.delete.context=Kontext l pages.user.profile.change.language=Sprache einstellen pages.user.user2user.messages=Dialog mit anderen Benutzern pages.searchRequest=Search Results -pages.chatMessages.h1=Ihr Dialog mit -pages.chatMessages.newMessage=Neue Nachricht\: -pages.chatMessages.newUserMessageButton=Sende Nachricht -pages.chatMessages.showAllText1=Zeige alle Nachrichten -pages.chatMessages.showAllText2=(hier werden nur die letzten 20 Angezeigt) +pages.userAccountChatMessages.h1=Ihr Dialog mit +pages.userAccountChatMessages.newMessage=Neue Nachricht\: +pages.userAccountChatMessages.newUserMessageButton=Sende Nachricht +pages.userAccountChatMessages.showAllText1=Zeige alle Nachrichten +pages.userAccountChatMessages.showAllText2=(hier werden nur die letzten 20 Angezeigt) pages.information.h1=Informationen project.add.h1=Neues Projekt project.add.description=Beschreibung diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties index a9ea4ef7..870f1e42 100644 --- a/src/main/resources/messages_en.properties +++ b/src/main/resources/messages_en.properties @@ -57,11 +57,11 @@ pages.user.profile.delete.context=Delete one Context pages.user.profile.change.language=Choose Default Language pages.user.user2user.messages=Messages User2User pages.searchRequest=Search Results -pages.chatMessages.h1=Your Dialog with -pages.chatMessages.newMessage=New Message\: -pages.chatMessages.newUserMessageButton=Send Message -pages.chatMessages.showAllText1=Show all Messages -pages.chatMessages.showAllText2=(only the last 20 Messages are displayed here) +pages.userAccountChatMessages.h1=Your Dialog with +pages.userAccountChatMessages.newMessage=New Message\: +pages.userAccountChatMessages.newUserMessageButton=Send Message +pages.userAccountChatMessages.showAllText1=Show all Messages +pages.userAccountChatMessages.showAllText2=(only the last 20 Messages are displayed here) project.add.h1=Add Project project.add.description=Description project.add.button=Add Project diff --git a/src/main/resources/templates/user/messages/all.html b/src/main/resources/templates/user/messages/all.html index b8bbbcde..6314d047 100644 --- a/src/main/resources/templates/user/messages/all.html +++ b/src/main/resources/templates/user/messages/all.html @@ -5,14 +5,14 @@ xmlns:sec="http://www.thymeleaf.org/extras/spring-security" xmlns:sd="http://www.thymeleaf.org/spring-data"> - Title + Title

- Your Dialog with + Your Dialog with

otherUser.userFullname @@ -28,7 +28,7 @@

- + @@ -40,7 +40,7 @@

diff --git a/src/main/resources/templates/user/register/registerForm.html b/src/main/resources/templates/user/register/registerForm.html index 1c50ebb2..4f169153 100644 --- a/src/main/resources/templates/user/register/registerForm.html +++ b/src/main/resources/templates/user/register/registerForm.html @@ -18,7 +18,7 @@

-
+
register as new user diff --git a/src/main/resources/templates/user/resetPassword/resetPasswordForm.html b/src/main/resources/templates/user/resetPassword/resetPasswordForm.html index 3390a038..f6769c75 100644 --- a/src/main/resources/templates/user/resetPassword/resetPasswordForm.html +++ b/src/main/resources/templates/user/resetPassword/resetPasswordForm.html @@ -18,7 +18,7 @@

- +
Password Reset diff --git a/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperService.java b/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperService.java index 08930bbb..aa127466 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperService.java +++ b/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperService.java @@ -1,7 +1,7 @@ package org.woehlke.java.simpleworklist.application.helper; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistration; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; public interface TestHelperService { @@ -19,7 +19,7 @@ public interface TestHelperService { int getNumberOfAllPasswordRecoveries(); - UserRegistration findRegistrationByEmail(String email); + UserAccountRegistration findRegistrationByEmail(String email); - UserPasswordRecovery findPasswordRecoveryByEmail(String email); + UserAccountPasswordRecovery findPasswordRecoveryByEmail(String email); } diff --git a/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperServiceImpl.java b/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperServiceImpl.java index 9804f19f..f2d0411e 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperServiceImpl.java +++ b/src/test/java/org/woehlke/java/simpleworklist/application/helper/TestHelperServiceImpl.java @@ -3,16 +3,16 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.woehlke.java.simpleworklist.domain.project.Project; -import org.woehlke.java.simpleworklist.domain.project.ProjectRepository; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationRepository; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistration; +import org.woehlke.java.simpleworklist.domain.db.data.Project; +import org.woehlke.java.simpleworklist.domain.db.data.project.ProjectRepository; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationRepository; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.task.TaskRepository; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountRepository; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryRepository; +import org.woehlke.java.simpleworklist.domain.db.data.task.TaskRepository; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountRepository; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryRepository; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; @@ -29,24 +29,24 @@ public class TestHelperServiceImpl implements TestHelperService { private TaskRepository taskRepository; @Autowired - private UserRegistrationRepository userRegistrationRepository; + private UserAccountRegistrationRepository userAccountRegistrationRepository; @Autowired private UserAccountRepository userAccountRepository; @Autowired - private UserPasswordRecoveryRepository userPasswordRecoveryRepository; + private UserAccountPasswordRecoveryRepository userAccountPasswordRecoveryRepository; @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void deleteAllRegistrations() { - userRegistrationRepository.deleteAll(); + userAccountRegistrationRepository.deleteAll(); } @Override @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public void deleteAllPasswordRecoveries() { - userPasswordRecoveryRepository.deleteAll(); + userAccountPasswordRecoveryRepository.deleteAll(); } @Override @@ -75,21 +75,21 @@ public void deleteUserAccount() { @Override public int getNumberOfAllRegistrations() { - return userRegistrationRepository.findAll().size(); + return userAccountRegistrationRepository.findAll().size(); } @Override public int getNumberOfAllPasswordRecoveries() { - return userPasswordRecoveryRepository.findAll().size(); + return userAccountPasswordRecoveryRepository.findAll().size(); } @Override - public UserRegistration findRegistrationByEmail(@Email @NotBlank String email) { - return userRegistrationRepository.findByEmail(email); + public UserAccountRegistration findRegistrationByEmail(@Email @NotBlank String email) { + return userAccountRegistrationRepository.findByEmail(email); } @Override - public UserPasswordRecovery findPasswordRecoveryByEmail(@Email @NotBlank String email) { - return userPasswordRecoveryRepository.findByEmail(email); + public UserAccountPasswordRecovery findPasswordRecoveryByEmail(@Email @NotBlank String email) { + return userAccountPasswordRecoveryRepository.findByEmail(email); } } diff --git a/src/test/java/org/woehlke/java/simpleworklist/config/AbstractTest.java b/src/test/java/org/woehlke/java/simpleworklist/config/AbstractTest.java index ddf277fa..306e96ae 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/config/AbstractTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/config/AbstractTest.java @@ -8,12 +8,11 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; import org.woehlke.java.simpleworklist.application.helper.TestHelperService; -import org.woehlke.java.simpleworklist.config.SimpleworklistProperties; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountService; -import org.woehlke.java.simpleworklist.domain.user.access.UserAuthorizationService; -import org.woehlke.java.simpleworklist.domain.user.access.ApplicationUserDetailsService; -import org.woehlke.java.simpleworklist.domain.user.login.UserAccountLoginSuccessService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountService; +import org.woehlke.java.simpleworklist.domain.security.access.UserAuthorizationService; +import org.woehlke.java.simpleworklist.domain.security.access.ApplicationUserDetailsService; +import org.woehlke.java.simpleworklist.domain.security.login.LoginSuccessService; import java.net.URL; @@ -105,6 +104,6 @@ protected void deleteAll(){ protected UserAuthorizationService userAuthorizationService; @Autowired - protected UserAccountLoginSuccessService userAccountLoginSuccessService; + protected LoginSuccessService loginSuccessService; } diff --git a/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataService.java b/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataService.java index 56ef7ce2..76d0b27c 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataService.java +++ b/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataService.java @@ -1,6 +1,6 @@ package org.woehlke.java.simpleworklist.config; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; public interface UserAccountTestDataService { diff --git a/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataServiceImpl.java b/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataServiceImpl.java index ec0101f2..af0b22d6 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataServiceImpl.java +++ b/src/test/java/org/woehlke/java/simpleworklist/config/UserAccountTestDataServiceImpl.java @@ -4,12 +4,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.woehlke.java.simpleworklist.domain.context.Context; -import org.woehlke.java.simpleworklist.domain.context.ContextService; -import org.woehlke.java.simpleworklist.domain.context.NewContextForm; -import org.woehlke.java.simpleworklist.domain.language.Language; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccountService; +import org.woehlke.java.simpleworklist.domain.db.data.Context; +import org.woehlke.java.simpleworklist.domain.db.data.context.ContextService; +import org.woehlke.java.simpleworklist.domain.db.data.context.NewContextForm; +import org.woehlke.java.simpleworklist.domain.meso.language.Language; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountService; import java.util.Date; diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceTest.java index 3722b74c..972e8b05 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/testdata/TestDataServiceTest.java @@ -11,7 +11,8 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; import org.woehlke.java.simpleworklist.config.UserAccountTestDataService; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; +import org.woehlke.java.simpleworklist.domain.meso.testdata.TestDataService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; import java.net.URL; diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/UserDetailsBeanTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/UserDetailsBeanTest.java index bdf0e663..a0e16c3c 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/UserDetailsBeanTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/UserDetailsBeanTest.java @@ -3,8 +3,8 @@ import org.springframework.security.core.GrantedAuthority; -import org.woehlke.java.simpleworklist.domain.user.account.UserAccount; -import org.woehlke.java.simpleworklist.domain.user.access.UserDetailsDto; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.security.access.UserDetailsDto; import java.util.Collection; diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountPasswordEncodedTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountPasswordEncodedTest.java index 9d8cce7c..2eef8f17 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountPasswordEncodedTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountPasswordEncodedTest.java @@ -5,6 +5,7 @@ import org.woehlke.java.simpleworklist.config.AbstractTest; import org.springframework.beans.factory.annotation.Autowired; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountForm; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImplTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImplTest.java index 325925bb..360135ab 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImplTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/account/UserAccountServiceImplTest.java @@ -9,9 +9,11 @@ import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.woehlke.java.simpleworklist.config.AbstractTest; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryService; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationService; -import org.woehlke.java.simpleworklist.domain.user.login.LoginForm; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccount; +import org.woehlke.java.simpleworklist.domain.db.user.account.UserAccountForm; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryService; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationService; +import org.woehlke.java.simpleworklist.domain.security.login.LoginForm; import static org.junit.jupiter.api.Assertions.*; @@ -19,10 +21,10 @@ public class UserAccountServiceImplTest extends AbstractTest { @Autowired - private UserRegistrationService registrationService; + private UserAccountRegistrationService registrationService; @Autowired - private UserPasswordRecoveryService userPasswordRecoveryService; + private UserAccountPasswordRecoveryService userAccountPasswordRecoveryService; //@Test public void testStartSecondOptIn() throws Exception { @@ -61,19 +63,19 @@ public void testPasswordResetSendEmail() throws Exception { assertEquals(zeroNumberOfAllRegistrations, testHelperService.getNumberOfAllRegistrations()); assertNotNull(emails[0]); assertFalse(userAccountService.isEmailAvailable(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertFalse(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertFalse(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); assertFalse(userAccountService.isEmailAvailable(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertFalse(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertFalse(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertFalse(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertFalse(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); - assertTrue(userPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertFalse(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertFalse(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertFalse(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertFalse(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + assertTrue(userAccountPasswordRecoveryService.passwordRecoveryIsRetryAndMaximumNumberOfRetries(emails[0])); int sixSeconds = 6000; Thread.sleep(sixSeconds); deleteAll(); @@ -155,14 +157,14 @@ public void testChangeUsersPassword(){ //@Test public void testRetrieveUsernameLoggedOut(){ - String userName = userAccountLoginSuccessService.retrieveUsername(); + String userName = loginSuccessService.retrieveUsername(); assertTrue(userName.compareTo(" ")==0); } //@Test public void testRetrieveUsernameLoggedIn(){ makeActiveUser(emails[0]); - String userName = userAccountLoginSuccessService.retrieveUsername(); + String userName = loginSuccessService.retrieveUsername(); assertNotNull(userName); assertTrue(emails[0].compareTo(userName) == 0); SecurityContextHolder.clearContext(); @@ -171,13 +173,13 @@ public void testRetrieveUsernameLoggedIn(){ //@Test ////@Test(expected = UsernameNotFoundException.class) public void testRetrieveCurrentUserLoggedOut(){ - userAccountLoginSuccessService.retrieveCurrentUser(); + loginSuccessService.retrieveCurrentUser(); } //@Test public void testRetrieveCurrentUserLoggedIn(){ makeActiveUser(emails[0]); - UserAccount userAccount = userAccountLoginSuccessService.retrieveCurrentUser(); + UserAccount userAccount = loginSuccessService.retrieveCurrentUser(); assertNotNull(userAccount); assertTrue(emails[0].compareTo(userAccount.getUserEmail()) == 0); SecurityContextHolder.clearContext(); diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationControllerTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationControllerTest.java index 954a26f5..3e638ef4 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationControllerTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationControllerTest.java @@ -3,9 +3,9 @@ import org.woehlke.java.simpleworklist.config.AbstractTest; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistration; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationStatus; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationStatus; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationService; import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -19,7 +19,7 @@ public class UserRegistrationControllerTest extends AbstractTest { @Autowired - private UserRegistrationService userRegistrationService; + private UserAccountRegistrationService userAccountRegistrationService; //@Test public void testSignInFormularEmail() throws Exception { @@ -37,23 +37,23 @@ public void testSignInFormularAccount() throws Exception { //@Test public void testRegisterNewUserCheckResponseAndRegistrationForm() throws Exception{ - userRegistrationService.registrationSendEmailTo(emails[0]); + userAccountRegistrationService.registrationSendEmailTo(emails[0]); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } - UserRegistration o = testHelperService.findRegistrationByEmail(emails[0]); + UserAccountRegistration o = testHelperService.findRegistrationByEmail(emails[0]); assertNotNull(o); - boolean result = o.getDoubleOptInStatus()== UserRegistrationStatus.REGISTRATION_SAVED_EMAIL - || o.getDoubleOptInStatus()== UserRegistrationStatus.REGISTRATION_SENT_MAIL; + boolean result = o.getDoubleOptInStatus()== UserAccountRegistrationStatus.REGISTRATION_SAVED_EMAIL + || o.getDoubleOptInStatus()== UserAccountRegistrationStatus.REGISTRATION_SENT_MAIL; assertTrue(result); String url = "/user/register/confirm/"+o.getToken(); this.mockMvc.perform( get(url)).andDo(print()) .andExpect(view().name(containsString("user/register/registerConfirmed"))) .andExpect(model().attributeExists("userAccountFormBean")); - userRegistrationService.registrationUserCreated(o); + userAccountRegistrationService.registrationUserCreated(o); } //@Test diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationServiceImplTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationServiceImplTest.java index 8b784f5f..2cbc34d7 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationServiceImplTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/register/UserRegistrationServiceImplTest.java @@ -2,12 +2,12 @@ import org.springframework.beans.factory.annotation.Value; import org.woehlke.java.simpleworklist.config.AbstractTest; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistration; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountRegistration; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryService; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.user.signup.UserRegistrationService; +import org.woehlke.java.simpleworklist.domain.db.user.signup.UserAccountRegistrationService; import java.util.Date; @@ -22,59 +22,59 @@ public class UserRegistrationServiceImplTest extends AbstractTest { private long ttlEmailVerificationRequest; @Autowired - private UserRegistrationService userRegistrationService; + private UserAccountRegistrationService userAccountRegistrationService; @Autowired - private UserPasswordRecoveryService userPasswordRecoveryService; + private UserAccountPasswordRecoveryService userAccountPasswordRecoveryService; //@Test public void testIsRetryAndMaximumNumberOfRetries(){ deleteAll(); - boolean result = userRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(username_email); + boolean result = userAccountRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(username_email); assertFalse(result); - userRegistrationService.registrationSendEmailTo(emails[0]); + userAccountRegistrationService.registrationSendEmailTo(emails[0]); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } - UserRegistration o = testHelperService.findRegistrationByEmail(emails[0]); + UserAccountRegistration o = testHelperService.findRegistrationByEmail(emails[0]); assertTrue(o.getEmail().compareTo(emails[0])==0); o.setNumberOfRetries(maxRetries); - userRegistrationService.registrationClickedInEmail(o); - result = userRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(emails[0]); + userAccountRegistrationService.registrationClickedInEmail(o); + result = userAccountRegistrationService.registrationIsRetryAndMaximumNumberOfRetries(emails[0]); assertTrue(result); } //@Test public void testCheckIfResponseIsInTimeNewUser(){ - userRegistrationService.registrationCheckIfResponseIsInTime(emails[0]); - UserRegistration o = testHelperService.findRegistrationByEmail(emails[0]); + userAccountRegistrationService.registrationCheckIfResponseIsInTime(emails[0]); + UserAccountRegistration o = testHelperService.findRegistrationByEmail(emails[0]); assertNotNull(o); o.setRowCreatedAt(new Date(o.getRowCreatedAt().getTime() - ttlEmailVerificationRequest)); o.setNumberOfRetries(0); - userRegistrationService.registrationClickedInEmail(o); - userRegistrationService.registrationCheckIfResponseIsInTime(emails[0]); + userAccountRegistrationService.registrationClickedInEmail(o); + userAccountRegistrationService.registrationCheckIfResponseIsInTime(emails[0]); o = testHelperService.findRegistrationByEmail(emails[0]); assertNull(o); } //@Test public void testCheckIfResponseIsInTime(){ - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } - userPasswordRecoveryService.passwordRecoveryCheckIfResponseIsInTime(emails[0]); - UserPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); + userAccountPasswordRecoveryService.passwordRecoveryCheckIfResponseIsInTime(emails[0]); + UserAccountPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); assertNotNull(o); o.setRowCreatedAt(new Date(o.getRowCreatedAt().getTime() - ttlEmailVerificationRequest)); o.setNumberOfRetries(0); - userPasswordRecoveryService.passwordRecoveryClickedInEmail(o); - userPasswordRecoveryService.passwordRecoveryCheckIfResponseIsInTime(emails[0]); + userAccountPasswordRecoveryService.passwordRecoveryClickedInEmail(o); + userAccountPasswordRecoveryService.passwordRecoveryCheckIfResponseIsInTime(emails[0]); o = testHelperService.findPasswordRecoveryByEmail(emails[0]); assertNull(o); } diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/UserPasswordRecoveryControllerTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/UserPasswordRecoveryControllerTest.java index ab387a33..2485143e 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/UserPasswordRecoveryControllerTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/UserPasswordRecoveryControllerTest.java @@ -3,9 +3,9 @@ import org.woehlke.java.simpleworklist.config.AbstractTest; import org.springframework.beans.factory.annotation.Autowired; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryStatus; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryService; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryStatus; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryService; import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -18,7 +18,7 @@ public class UserPasswordRecoveryControllerTest extends AbstractTest { @Autowired - private UserPasswordRecoveryService userPasswordRecoveryService; + private UserAccountPasswordRecoveryService userAccountPasswordRecoveryService; //@Test public void testResetPassword() throws Exception { @@ -36,23 +36,23 @@ public void testEnterNewPasswordFormular() throws Exception { //@Test public void testEnterNewPasswordFormularWithToken() throws Exception { - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } - UserPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); + UserAccountPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); assertNotNull(o); - boolean result = o.getDoubleOptInStatus()== UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL - || o.getDoubleOptInStatus()== UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL; + boolean result = o.getDoubleOptInStatus()== UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL + || o.getDoubleOptInStatus()== UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL; assertTrue(result); String url = "/user/resetPassword/confirm/"+o.getToken(); this.mockMvc.perform( get(url)).andDo(print()) .andExpect(view().name(containsString("user/resetPassword/resetPasswordConfirmed"))) .andExpect(model().attributeExists("userAccountFormBean")); - userPasswordRecoveryService.passwordRecoveryDone(o); + userAccountPasswordRecoveryService.passwordRecoveryDone(o); } //@Test diff --git a/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/resetpassword/UserPasswordRecoveryControllerTest.java b/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/resetpassword/UserPasswordRecoveryControllerTest.java index 673d5d6f..e72e5ef0 100644 --- a/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/resetpassword/UserPasswordRecoveryControllerTest.java +++ b/src/test/java/org/woehlke/java/simpleworklist/domain/user/resetpassword/resetpassword/UserPasswordRecoveryControllerTest.java @@ -2,9 +2,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.woehlke.java.simpleworklist.config.AbstractTest; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecovery; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryService; -import org.woehlke.java.simpleworklist.domain.user.passwordrecovery.UserPasswordRecoveryStatus; +import org.woehlke.java.simpleworklist.domain.db.user.UserAccountPasswordRecovery; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryService; +import org.woehlke.java.simpleworklist.domain.db.user.passwordrecovery.UserAccountPasswordRecoveryStatus; import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -17,7 +17,7 @@ public class UserPasswordRecoveryControllerTest extends AbstractTest { @Autowired - private UserPasswordRecoveryService userPasswordRecoveryService; + private UserAccountPasswordRecoveryService userAccountPasswordRecoveryService; //@Test public void testResetPassword() throws Exception { @@ -35,23 +35,23 @@ public void testEnterNewPasswordFormular() throws Exception { //@Test public void testEnterNewPasswordFormularWithToken() throws Exception { - userPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); + userAccountPasswordRecoveryService.passwordRecoverySendEmailTo(emails[0]); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } - UserPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); + UserAccountPasswordRecovery o = testHelperService.findPasswordRecoveryByEmail(emails[0]); assertNotNull(o); - boolean result = o.getDoubleOptInStatus()== UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL - || o.getDoubleOptInStatus()== UserPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL; + boolean result = o.getDoubleOptInStatus()== UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SAVED_EMAIL + || o.getDoubleOptInStatus()== UserAccountPasswordRecoveryStatus.PASSWORD_RECOVERY_SENT_EMAIL; assertTrue(result); String url = "/user/resetPassword/confirm/"+o.getToken(); this.mockMvc.perform( get(url)).andDo(print()) .andExpect(view().name(containsString("user/resetPassword/resetPasswordConfirmed"))) .andExpect(model().attributeExists("userAccountFormBean")); - userPasswordRecoveryService.passwordRecoveryDone(o); + userAccountPasswordRecoveryService.passwordRecoveryDone(o); } //@Test