From 733e5c093b26dc10cdfa0b365a3d65775a0c790a Mon Sep 17 00:00:00 2001 From: mordicus Date: Mon, 3 Aug 2015 15:06:45 +0200 Subject: [PATCH] Merge with master --- .../GDE-ejb/nbproject/genfiles.properties | 4 +- .../GDE-ejb/nbproject/project.properties | 2 +- .../com/edf/gde/common/PermissionManager.java | 43 ++++++++++ .../com/edf/gde/common/UserLoginManager.java | 33 ++++++++ .../java/com/edf/gde/ejb/ApplicationEJB.java | 80 ++++++++++++++++++ .../com/edf/gde/ejb/AuthenticationEJB.java | 23 +++++ .../src/java/com/edf/gde/ejb/ChunkDAO.java | 5 -- .../src/java/com/edf/gde/ejb/FileDAO.java | 5 -- .../src/java/com/edf/gde/ejb/MetadataDAO.java | 5 -- .../src/java/com/edf/gde/ejb/UserDAO.java | 64 ++++++++++++++ .../src/java/com/edf/gde/entities/User.java | 83 +++++++++++++++++++ .../com/edf/gde/entities/UserPermission.java | 80 ++++++++++++++++++ .../gde/transferables/AttributeGroupTO.java | 5 -- .../com/edf/gde/transferables/UserTO.java | 40 +++++++++ .../GDE-war/nbproject/project.properties | 2 +- projects/GDE_App/nbproject/project.properties | 2 +- projects/GDE_App/src/GDE_DB_Init.sql | 32 ++++++- 17 files changed, 481 insertions(+), 27 deletions(-) create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/PermissionManager.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ApplicationEJB.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/AuthenticationEJB.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserPermission.java create mode 100644 projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/UserTO.java diff --git a/projects/GDE_App/GDE-ejb/nbproject/genfiles.properties b/projects/GDE_App/GDE-ejb/nbproject/genfiles.properties index 68a32f3..d97902b 100644 --- a/projects/GDE_App/GDE-ejb/nbproject/genfiles.properties +++ b/projects/GDE_App/GDE-ejb/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=55685096 +build.xml.data.CRC32=dd11cbd0 build.xml.script.CRC32=e2a8c789 build.xml.stylesheet.CRC32=5910fda3@1.51.1 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=55685096 +nbproject/build-impl.xml.data.CRC32=dd11cbd0 nbproject/build-impl.xml.script.CRC32=fd1a82f0 nbproject/build-impl.xml.stylesheet.CRC32=6096d939@1.51.1 diff --git a/projects/GDE_App/GDE-ejb/nbproject/project.properties b/projects/GDE_App/GDE-ejb/nbproject/project.properties index 9a98792..8a9dc37 100644 --- a/projects/GDE_App/GDE-ejb/nbproject/project.properties +++ b/projects/GDE_App/GDE-ejb/nbproject/project.properties @@ -26,7 +26,7 @@ includes=** j2ee.compile.on.save=true j2ee.deploy.on.save=true j2ee.platform=1.7 -j2ee.platform.classpath=${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar +j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/PermissionManager.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/PermissionManager.java new file mode 100644 index 0000000..94011c8 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/PermissionManager.java @@ -0,0 +1,43 @@ +package com.edf.gde.common; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * + * @author Kavoos + */ +public class PermissionManager { + /** + * MAP + * K = Service name + * V = Set of user Id + */ + Map> userPermissions; + + public PermissionManager() { + userPermissions = new HashMap<>(); + } + + public synchronized void addUser(String serviceName, long userId) { + Set users = userPermissions.get(serviceName); + if (users == null) { + users = new HashSet<>(); + users.add(userId); + userPermissions.put(serviceName, users); + } else { + users.add(userId); + } + } + + public synchronized boolean isValid(String serviceName, long userId) { + Set users = userPermissions.get(serviceName); + if (users == null) { + return false; + } + return users.contains(userId); + } + +} 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 new file mode 100644 index 0000000..ba25804 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/common/UserLoginManager.java @@ -0,0 +1,33 @@ +package com.edf.gde.common; + +import com.edf.gde.entities.User; +import javax.persistence.EntityManager; +import javax.persistence.NonUniqueResultException; +import javax.persistence.Query; + +/** + * + * @author Kavoos + */ +public class UserLoginManager { + + private EntityManager em; + + public UserLoginManager(EntityManager em) { + this.em = em; + } + + public boolean checkLogin(String login, String password) { + Query q = em.createNamedQuery("User.findByName", User.class); + User user = null; + try { + user = (User) q.getSingleResult(); + } catch (NonUniqueResultException ex) { + return false; + } + if (user.getPassword().equals(password)) { + return true; + } + return false; + } +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ApplicationEJB.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ApplicationEJB.java new file mode 100644 index 0000000..f93752e --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ApplicationEJB.java @@ -0,0 +1,80 @@ +package com.edf.gde.ejb; + +import com.edf.gde.common.PermissionManager; +import java.util.HashMap; +import java.util.Map; +import javax.annotation.PostConstruct; +import javax.ejb.Singleton; +import javax.ejb.LocalBean; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * @author Kavoos + */ +@Singleton +@LocalBean +public class ApplicationEJB { + /* + Locked files map. + key = file id + value = user id + */ + @PersistenceContext(unitName = "GDE-ejbPU") + private EntityManager em; + + private Map userFiles; + private PermissionManager permissionManager; + + /** + * + */ + @PostConstruct + private void init() { + userFiles = new HashMap<>(); + permissionManager = new PermissionManager(); + } + + /** + * Try to lock a file + * + * @param userId + * @param fileId + * @return true if file is locked, false if file is already locked by + * someone else + */ + public boolean lockFile(long userId, long fileId) { + if (userFiles.containsKey(fileId)) { + if (userFiles.get(fileId) == userId) { + return true; + } + return false; + } + userFiles.put(fileId, userId); + return true; + } + + /** + * Try to unlock a file + * @param userId + * @param fileId + * @return + */ + public boolean unlockFile(long userId, long fileId) { + if (userFiles.containsKey(fileId)) { + if (userFiles.get(fileId) == userId) { + userFiles.remove(fileId); + return true; + } + } + return false; + } + + public PermissionManager getPermissionManager() { + return permissionManager; + } + + private void loadPermissions() { + + } +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/AuthenticationEJB.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/AuthenticationEJB.java new file mode 100644 index 0000000..2826d4d --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/AuthenticationEJB.java @@ -0,0 +1,23 @@ +package com.edf.gde.ejb; + +import com.edf.gde.common.UserLoginManager; +import javax.ejb.Stateless; +import javax.ejb.LocalBean; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +/** + * + * @author mordicus + */ +@Stateless +@LocalBean +public class AuthenticationEJB { + @PersistenceContext(unitName = "GDE-ejbPU") + private EntityManager em; + + public boolean authenticate(String login, String password) { + UserLoginManager manager = new UserLoginManager(em); + return manager.checkLogin(login, password); + } +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ChunkDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ChunkDAO.java index f450161..d55c6bb 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ChunkDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/ChunkDAO.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.edf.gde.ejb; import com.edf.gde.entities.Chunk; diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/FileDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/FileDAO.java index 2e99380..e8c30b1 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/FileDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/FileDAO.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.edf.gde.ejb; import com.edf.gde.entities.GDEFile; diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/MetadataDAO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/MetadataDAO.java index 8ebc7a8..f053bbc 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/MetadataDAO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/MetadataDAO.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.edf.gde.ejb; import com.edf.gde.entities.Attribute; 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 new file mode 100644 index 0000000..c12bad1 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/ejb/UserDAO.java @@ -0,0 +1,64 @@ +package com.edf.gde.ejb; + +import com.edf.gde.entities.User; +import javax.ejb.Stateless; +import javax.ejb.LocalBean; +import javax.persistence.EntityManager; +import javax.persistence.NoResultException; +import javax.persistence.PersistenceContext; +import javax.persistence.Query; + +/** + * + * @author Kavoos + */ +@Stateless +@LocalBean +public class UserDAO { + + @PersistenceContext(unitName = "GDE-ejbPU") + private EntityManager em; + + /** + * Create a new user + * + * @param userName + * @param password + * @return the new User or null if user exists or on error + */ + public User createUser(String userName, String password) { + if (findUser(userName) != null) { + return null; + } + User user = new User(); + user.setName(userName); + user.setPassword(password); + em.persist(user); + return user; + } + + /** + * Find user by user name (login) + * @param userName + * @return + */ + public User findUser(String userName) { + Query q = em.createNamedQuery("User.findByName"); + User user = null; + try { + user = (User) q.getSingleResult(); + } catch (NoResultException e) { + return null; + } + return user; + } + + public User findUser(long id) { + return em.find(User.class, id); + } + + public void deleteUser(long userId) { + User user = findUser(userId); + em.remove(user); + } +} 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 new file mode 100644 index 0000000..c3b8832 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/User.java @@ -0,0 +1,83 @@ +package com.edf.gde.entities; + +import com.edf.gde.transferables.UserTO; +import java.io.Serializable; +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; +import javax.validation.constraints.Size; + +/** + * + * @author Kavoos + */ + +@Entity(name="User") +@Table(name = "USERS") +@NamedQueries ({ + @NamedQuery(name = "User.findById", query = "SELECT u FROM User u"), + @NamedQuery(name = "User.findByName", query = "SELECT u FROM User u where u.name=:username") +}) +public class User implements Serializable { + @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; + @Size(max = 255) + @Column(name = "userName") + private String name; + @Size(max = 255) + @Column(name = "userPassword") + private String password; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public static User fromUserTO(UserTO uto) { + User user = new User(); + user.setId(uto.getId()); + user.setName(uto.getName()); + user.setPassword(uto.getPassword()); + return user; + } + + public UserTO toUserTO() { + UserTO uto = new UserTO(); + uto.setId(id); + uto.setName(name); + uto.setPassword(password); + return uto; + } +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserPermission.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserPermission.java new file mode 100644 index 0000000..a8521a1 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/entities/UserPermission.java @@ -0,0 +1,80 @@ +package com.edf.gde.entities; + +import java.io.Serializable; +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 = "UserPermission") +@Table(name = "USERPERMISSIONS") +@NamedQueries({ + @NamedQuery(name = "UserPermission.findAll", query = "SELECT u FROM User u"), + @NamedQuery(name = "UserPermission.findById", query = "SELECT u FROM User u where u.id=:id"), + @NamedQuery(name = "UserPermission.findByName", query = "SELECT u FROM User u where u.name=:username") +}) + +public class UserPermission implements Serializable { + + @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="groupId") + long groupId; + @Column(name="serviceName") + String serviceName; + @Column(name="methodName") + String methodName; + + public UserPermission() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public long getGroupId() { + return groupId; + } + + public void setGroupId(long groupId) { + this.groupId = groupId; + } + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public String getMethodName() { + return methodName; + } + + public void setMethodName(String methodName) { + this.methodName = methodName; + } + + +} diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/AttributeGroupTO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/AttributeGroupTO.java index 631bf62..bd78f8a 100644 --- a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/AttributeGroupTO.java +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/AttributeGroupTO.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package com.edf.gde.transferables; import java.io.Serializable; diff --git a/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/UserTO.java b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/UserTO.java new file mode 100644 index 0000000..0370855 --- /dev/null +++ b/projects/GDE_App/GDE-ejb/src/java/com/edf/gde/transferables/UserTO.java @@ -0,0 +1,40 @@ +package com.edf.gde.transferables; + +/** + * + * @author Kavoos + */ +public class UserTO { + private Long id; + private String name; + private String password; + + public UserTO() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + +} diff --git a/projects/GDE_App/GDE-war/nbproject/project.properties b/projects/GDE_App/GDE-war/nbproject/project.properties index 22acfc8..df97064 100644 --- a/projects/GDE_App/GDE-war/nbproject/project.properties +++ b/projects/GDE_App/GDE-war/nbproject/project.properties @@ -33,7 +33,7 @@ j2ee.compile.on.save=true j2ee.copy.static.files.on.save=true j2ee.deploy.on.save=true j2ee.platform=1.7 -j2ee.platform.classpath=${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar +j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar diff --git a/projects/GDE_App/nbproject/project.properties b/projects/GDE_App/nbproject/project.properties index 864c306..f6d85c6 100644 --- a/projects/GDE_App/nbproject/project.properties +++ b/projects/GDE_App/nbproject/project.properties @@ -13,7 +13,7 @@ j2ee.appclient.mainclass.args=${j2ee.appclient.tool.args} j2ee.compile.on.save=true j2ee.deploy.on.save=false j2ee.platform=1.7 -j2ee.platform.classpath=${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar +j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar diff --git a/projects/GDE_App/src/GDE_DB_Init.sql b/projects/GDE_App/src/GDE_DB_Init.sql index 61efacf..1ac7016 100644 --- a/projects/GDE_App/src/GDE_DB_Init.sql +++ b/projects/GDE_App/src/GDE_DB_Init.sql @@ -2,7 +2,36 @@ drop sequence SEQ_GEN_SEQUENCE; create sequence SEQ_GEN_SEQUENCE INCREMENT BY 50; - + + +DROP TABLE IF EXISTS GROUP_; +CREATE TABLE GROUP_ ( + id bigint NOT NULL PRIMARY KEY, + groupName varchar(255) NOT NULL +); + +DROP TABLE IF EXISTS USERS; +CREATE TABLE USERS ( + id bigint NOT NULL PRIMARY KEY, + userName varchar(255) not null, + userpassword varchar(255) not null +); +CREATE INDEX users_username_index ON USERS(userName); + +DROP TABLE IF EXISTS USERGROUP; +CREATE TABLE USERGROUP ( + id bigint NOT NULL PRIMARY KEY, + groupId bigint references GROUP_(id), + userId bigint references USERS(id) +); + +DROP TABLE IF EXISTS USERPERMISSIONS; +CREATE TABLE USERPERMISSIONS ( + id bigint NOT NULL PRIMARY KEY, + groupId bigint references GROUP_(id), + serviceName varchar(255) not null, + methodName varchar(255) not null +); /* METADATA */ @@ -21,7 +50,6 @@ CREATE TABLE attribute ( mandatory boolean ); - /* DATA */ DROP TABLE IF EXISTS gde_file CASCADE; -- 2.39.2