From 70d596c257fe74ec19e81375d0d1c7e6eedbe53b Mon Sep 17 00:00:00 2001 From: mordicus Date: Mon, 3 Aug 2015 17:42:59 +0200 Subject: [PATCH] Added : UserService UserLoginManager UserGroup --- .../com/edf/gde/common/UserLoginManager.java | 4 ++ .../src/java/com/edf/gde/ejb/UserDAO.java | 44 ++++++++++++ .../src/java/com/edf/gde/entities/User.java | 2 +- .../java/com/edf/gde/entities/UserGroup.java | 67 +++++++++++++++++++ .../com/edf/gde/services/UserService.java | 17 ++--- 5 files changed, 125 insertions(+), 9 deletions(-) create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserGroup.java diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java index ba25804..3ec5171 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java @@ -2,6 +2,7 @@ package com.edf.gde.common; import com.edf.gde.entities.User; import javax.persistence.EntityManager; +import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.Query; @@ -19,11 +20,14 @@ public class UserLoginManager { public boolean checkLogin(String login, String password) { Query q = em.createNamedQuery("User.findByName", User.class); + q.setParameter("name", login); User user = null; try { user = (User) q.getSingleResult(); } catch (NonUniqueResultException ex) { return false; + } catch (NoResultException ex) { + return false; } if (user.getPassword().equals(password)) { return true; diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java index 13bc98e..bc3276b 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java @@ -1,5 +1,6 @@ package com.edf.gde.ejb; +import com.edf.gde.entities.Group; import com.edf.gde.entities.User; import javax.ejb.Stateless; import javax.ejb.LocalBean; @@ -37,6 +38,49 @@ public class UserDAO { return user; } + /** + * Create a new group + * + * @param groupName + * @return the new created Group or null on error + */ + public Group createGroup(String groupName) { + if (findGroup(groupName) != null) { + return null; + } + Group group = new Group(); + group.setName(groupName); + em.persist(group); + return group; + } + + /** + * Find group + * @param name + * @return null if the group does not exists + */ + public Group findGroup(String name) { + Group group = null; + Query q = em.createNamedQuery("Group.findByName"); + q.setParameter("name", name); + try { + group = (Group) q.getSingleResult(); + } catch (NoResultException ex) { + return null; + } + return group; + } + + public boolean addToGroup(long groupId, long userId) { + /* TODO : add code ! */ + return true; + } + + public boolean removeFromGroup(long groupId, long userId) { + /* TODO : add code ! */ + return true; + } + /** * Find user by user name (login) * diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java index c3b8832..0f34fc8 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java @@ -23,7 +23,7 @@ import javax.validation.constraints.Size; @Entity(name="User") @Table(name = "USERS") @NamedQueries ({ - @NamedQuery(name = "User.findById", query = "SELECT u FROM User u"), + @NamedQuery(name = "User.findById", query = "SELECT u FROM User u where u.id=:id"), @NamedQuery(name = "User.findByName", query = "SELECT u FROM User u where u.name=:username") }) public class User implements Serializable { diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserGroup.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserGroup.java new file mode 100644 index 0000000..2d58b12 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserGroup.java @@ -0,0 +1,67 @@ +package com.edf.gde.entities; + +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.validation.constraints.NotNull; + +/** + * + * @author kavoos + */ +@Entity(name="UserGroup") +@Table(name = "USERGROUP") +@NamedQueries ({ + @NamedQuery(name = "UserGroup.findById", query = "SELECT ug FROM UserGroup ug where ug.id = :id"), + @NamedQuery(name = "UserGroup.findByUserId", query = "SELECT ug FROM UserGroup ug where ug.userId=:userId"), + @NamedQuery(name = "UserGroup.findByGroupId", query="SELECT ug FROM UserGroup ug where ug.groupId=:groupId") +}) +public class UserGroup { + @Id + @Basic(optional = false) + @NotNull + @Column(name = "id") + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GEN_SEQUENCE") + @SequenceGenerator(name = "SEQ_GEN_SEQUENCE", allocationSize = 50) + private Long id; + @Column(name="userId") + long userId; + @Column(name = "groupId") + long groupId; + + public UserGroup() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public long getUserId() { + return userId; + } + + public void setUserId(long userId) { + this.userId = userId; + } + + public long getGroupId() { + return groupId; + } + + public void setGroupId(long groupId) { + this.groupId = groupId; + } + + +} diff --git a/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java b/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java index fd72b03..df98a72 100644 --- a/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java +++ b/projects/GDE_App/GDE-war/src/java/com/edf/gde/services/UserService.java @@ -16,9 +16,12 @@ import javax.servlet.http.HttpServletResponse; */ public class UserService extends BaseService { - public static final int CREATE = 1; - public static final int DELETE = 2; - public static final int ATTACH = 3; + public static final int CREATEUSER = 1; + public static final int DELETEUSER = 2; + public static final int ADDTOGROUP = 3; + public static final int REMOVEFROMGROUP = 4; + public static final int CREATEGROUP = 5; + public static final int DELETEGROUP = 6; @EJB UserDAO userDAO; @@ -26,8 +29,9 @@ public class UserService extends BaseService { @Override public void processRequest(HttpServletRequest request, HttpServletResponse response) { CommandTO commandTO = getCommand(request); + switch (commandTO.getMethod()) { - case CREATE: { + case CREATEUSER: { long userId = createUser(fromJson(commandTO.getData(), UserTO.class)); UserCreationResponseTO creationResponseTO = new UserCreationResponseTO(); if (userId != -1) { @@ -39,7 +43,7 @@ public class UserService extends BaseService { } send(creationResponseTO, response); } - case DELETE: { + case DELETEUSER: { CommandResultTO commandResultTO = new CommandResultTO(); if (deleteUser(fromJson(commandTO.getData(), UserTO.class))) { commandResultTO.setCode(CommandResultTO.OK); @@ -48,9 +52,6 @@ public class UserService extends BaseService { } send(commandResultTO, response); } - case ATTACH: { - - } } } -- 2.39.2