Author: [email protected]
Date: 2011-09-15 11:24:56 -0400 (Thu, 15 Sep 2011)
New Revision: 14193

Modified:
   
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/ClassIdentifierStrategy.java
   
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/EntityIdentifierStrategy.java
   
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/IdentifierPolicy.java
   
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/PermissionMetadata.java
Log:
changes required to make JpaIdentityStore clusterable

Modified: 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/ClassIdentifierStrategy.java
===================================================================
--- 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/ClassIdentifierStrategy.java
       2011-09-15 14:55:50 UTC (rev 14192)
+++ 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/ClassIdentifierStrategy.java
       2011-09-15 15:24:56 UTC (rev 14193)
@@ -11,7 +11,7 @@
  * 
  * @author Shane Bryzak
  */
-public class ClassIdentifierStrategy implements IdentifierStrategy
+public class ClassIdentifierStrategy implements IdentifierStrategy, 
java.io.Serializable
 {
    private Map<Class,String> identifierNames = new 
ConcurrentHashMap<Class,String>();   
    

Modified: 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/EntityIdentifierStrategy.java
===================================================================
--- 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/EntityIdentifierStrategy.java
      2011-09-15 14:55:50 UTC (rev 14192)
+++ 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/EntityIdentifierStrategy.java
      2011-09-15 15:24:56 UTC (rev 14193)
@@ -19,23 +19,31 @@
  * 
  * @author Shane Bryzak
  */
-public class EntityIdentifierStrategy implements IdentifierStrategy
+public class EntityIdentifierStrategy implements IdentifierStrategy, 
java.io.Serializable
 {
-   private ValueExpression<EntityManager> entityManager;   
+   private transient ValueExpression<EntityManager> entityManager;   
    
-   private PersistenceProvider persistenceProvider;
+   private transient PersistenceProvider persistenceProvider;
    
    private Map<Class,String> identifierNames = new 
ConcurrentHashMap<Class,String>();
    
+       public void init()
+       {
+               if (persistenceProvider == null)
+               {
+                       persistenceProvider = (PersistenceProvider) 
Component.getInstance(PersistenceProvider.class, true);
+               }
+
+           if (entityManager == null)
+           {
+               entityManager = 
Expressions.instance().createValueExpression("#{entityManager}", 
EntityManager.class);
+           }
+               
+       }
+
    public EntityIdentifierStrategy()
    {
-      persistenceProvider = (PersistenceProvider) 
Component.getInstance(PersistenceProvider.class, true);
-      
-      if (entityManager == null)
-      {
-         entityManager = 
Expressions.instance().createValueExpression("#{entityManager}", 
-               EntityManager.class);
-      }         
+      init();  
    }
    
    public boolean canIdentify(Class targetClass)
@@ -45,6 +53,7 @@
 
    public String getIdentifier(Object target)
    {
+         if(persistenceProvider == null) init();
       Object persProviderId = persistenceProvider.getId(target, 
lookupEntityManager());
       return String.format("%s:%s", getIdentifierName(target.getClass()), 
persProviderId);
    }
@@ -83,6 +92,7 @@
 
    private EntityManager lookupEntityManager()
    {
+         if(entityManager == null) init();
       return entityManager.getValue();
    }
 }

Modified: 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/IdentifierPolicy.java
===================================================================
--- 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/IdentifierPolicy.java
      2011-09-15 14:55:50 UTC (rev 14192)
+++ 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/IdentifierPolicy.java
      2011-09-15 15:24:56 UTC (rev 14193)
@@ -25,7 +25,7 @@
 @Scope(APPLICATION)
 @BypassInterceptors
 @Install(precedence = Install.BUILT_IN)
-public class IdentifierPolicy
+public class IdentifierPolicy implements java.io.Serializable
 {
    private Map<Class,IdentifierStrategy> strategies = new 
ConcurrentHashMap<Class,IdentifierStrategy>();
    

Modified: 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/PermissionMetadata.java
===================================================================
--- 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/PermissionMetadata.java
    2011-09-15 14:55:50 UTC (rev 14192)
+++ 
branches/enterprise/JBPAPP_5_1_1_JBPAPP-6925/src/main/org/jboss/seam/security/permission/PermissionMetadata.java
    2011-09-15 15:24:56 UTC (rev 14193)
@@ -17,7 +17,7 @@
  *  
  * @author Shane Bryzak
  */
-public class PermissionMetadata
+public class PermissionMetadata implements java.io.Serializable
 {
    private Map<Class,Boolean> usesActionMask = new HashMap<Class,Boolean>();
    private Map<Class,Map<String,Long>> classActions = new 
HashMap<Class,Map<String,Long>>();

_______________________________________________
seam-commits mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-commits

Reply via email to