[exo-jcr-commits] exo-jcr SVN: r4709 - jcr/tags/1.14.0-CR4-CP01/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Aug 9 00:37:00 EDT 2011


Author: paristote
Date: 2011-08-09 00:37:00 -0400 (Tue, 09 Aug 2011)
New Revision: 4709

Modified:
   jcr/tags/1.14.0-CR4-CP01/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java
Log:
PLF-1897 commit change for EXOJCR-1464

Modified: jcr/tags/1.14.0-CR4-CP01/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java
===================================================================
--- jcr/tags/1.14.0-CR4-CP01/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java	2011-08-09 04:36:14 UTC (rev 4708)
+++ jcr/tags/1.14.0-CR4-CP01/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java	2011-08-09 04:37:00 UTC (rev 4709)
@@ -20,12 +20,12 @@
 
 import org.exoplatform.services.jcr.access.AccessControlEntry;
 import org.exoplatform.services.jcr.access.DynamicIdentity;
-import org.exoplatform.services.jcr.access.SystemIdentity;
 import org.exoplatform.services.jcr.core.ExtendedSession;
 import org.exoplatform.services.jcr.core.ManageableRepository;
 import org.exoplatform.services.jcr.core.SessionLifecycleListener;
 import org.exoplatform.services.security.ConversationState;
 import org.exoplatform.services.security.Identity;
+import org.exoplatform.services.security.IdentityConstants;
 import org.exoplatform.services.security.MembershipEntry;
 
 import java.util.HashMap;
@@ -70,6 +70,8 @@
    private String currentWorkspace;
 
    private boolean closed;
+   
+   private ConversationState conversationState;
 
    /**
     * Creates SessionProvider for certain identity.
@@ -84,6 +86,18 @@
    }
 
    /**
+    * Creates SessionProvider for a dynamic identity.
+    * 
+    * @param membershipEntries the expected memberships
+    */
+   private SessionProvider(HashSet<MembershipEntry> membershipEntries)
+   {
+      this(false);
+      Identity id = new Identity(DynamicIdentity.DYNAMIC, membershipEntries);
+      this.conversationState = new ConversationState(id);
+   }
+
+   /**
     * Internal constructor.
     * 
     * @param isSystem
@@ -112,7 +126,7 @@
     */
    public static SessionProvider createAnonimProvider()
    {
-      Identity id = new Identity(SystemIdentity.ANONIM, new HashSet<MembershipEntry>());
+      Identity id = new Identity(IdentityConstants.ANONIM, new HashSet<MembershipEntry>());
       return new SessionProvider(new ConversationState(id));
    }
 
@@ -130,11 +144,7 @@
          {
             membershipEntries.add(ace.getMembershipEntry());
          }
-
-         Identity id = new Identity(DynamicIdentity.DYNAMIC, membershipEntries);
-         ConversationState conversationState = new ConversationState(id);
-         ConversationState.setCurrent(conversationState);
-         return new SessionProvider(conversationState);
+         return new SessionProvider(membershipEntries);
       }
 
    }
@@ -168,8 +178,7 @@
 
       if (session == null)
       {
-         ConversationState conversationState = ConversationState.getCurrent();
-         if (conversationState != null && conversationState.getIdentity().getUserId().equals(DynamicIdentity.DYNAMIC))
+         if (conversationState != null)
          {
             session =
                      (ExtendedSession) repository.getDynamicSession(workspaceName, conversationState.getIdentity()



More information about the exo-jcr-commits mailing list