-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
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
--- /dev/null
+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,V>
+ * K = Service name
+ * V = Set of user Id
+ */
+ Map<String, Set<Long>> userPermissions;
+
+ public PermissionManager() {
+ userPermissions = new HashMap<>();
+ }
+
+ public synchronized void addUser(String serviceName, long userId) {
+ Set<Long> 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<Long> users = userPermissions.get(serviceName);
+ if (users == null) {
+ return false;
+ }
+ return users.contains(userId);
+ }
+
+}
--- /dev/null
+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;
+ }
+}
--- /dev/null
+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<Long, Long> 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() {
+
+ }
+}
--- /dev/null
+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);
+ }
+}
-/*
- * 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;
-/*
- * 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;
-/*
- * 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;
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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;
+ }
+}
--- /dev/null
+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;
+ }
+
+
+}
-/*
- * 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;
--- /dev/null
+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;
+ }
+
+
+}
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
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
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 */
mandatory boolean
);
-
/* DATA */
DROP TABLE IF EXISTS gde_file CASCADE;