package com.edf.gde.common;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
import javax.persistence.EntityManager;
-import javax.persistence.Query;
/**
*
* K = Service name
* V = Set of group Id
*/
+
private EntityManager em;
public PermissionManager(EntityManager em) {
this.em = em;
import com.edf.gde.common.PermissionManager;
import java.util.HashMap;
import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.LocalBean;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+import javax.ejb.Startup;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
/**
* @author Kavoos
*/
+@Startup
@Singleton
@LocalBean
public class ApplicationEJB {
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(em);
+ Context ctx;
+ try {
+ ctx = new InitialContext();
+ PermissionsManagerEJB managerEJB = (PermissionsManagerEJB) ctx.lookup("java:global/GDE_App/GDE-ejb/PermissionsManagerEJB");
+ permissionManager = managerEJB.getManager();
+ } catch (NamingException ex) {
+ Logger.getLogger(ApplicationEJB.class.getName()).log(Level.SEVERE, null, ex);
+ }
}
/**
/**
* Try to unlock a file
+ *
* @param userId
* @param fileId
* @return
public PermissionManager getPermissionManager() {
return permissionManager;
- }
-
+ }
+
private void loadPermissions() {
-
+
}
}
--- /dev/null
+/*
+ * (C) 2015 EDF
+ */
+package com.edf.gde.ejb;
+
+import com.edf.gde.common.PermissionManager;
+import javax.ejb.Stateless;
+import javax.ejb.LocalBean;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+/**
+ *
+ * @author Kavoos
+ */
+@Stateless(name = "PermissionsManagerEJB")
+@LocalBean
+public class PermissionsManagerEJB {
+
+ @PersistenceContext(unitName = "GDE-ejbPU")
+ private EntityManager em;
+
+ public PermissionManager getManager() {
+ return new PermissionManager(em);
+ }
+}