[exo-jcr-commits] exo-jcr SVN: r4701 - jcr/trunk/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
Mon Aug 8 08:24:10 EDT 2011


Author: areshetnyak
Date: 2011-08-08 08:24:10 -0400 (Mon, 08 Aug 2011)
New Revision: 4701

Modified:
   jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java
Log:
EXOJCR-1465 : Changes of SimpleContext which created in this issue was reverted. This changes will be committed in issue EXOJCR-1464.

Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java	2011-08-08 12:17:14 UTC (rev 4700)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java	2011-08-08 12:24:10 UTC (rev 4701)
@@ -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,8 +70,6 @@
    private String currentWorkspace;
 
    private boolean closed;
-   
-   private ConversationState conversationState;
 
    /**
     * Creates SessionProvider for certain identity.
@@ -86,18 +84,6 @@
    }
 
    /**
-    * 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
@@ -126,7 +112,7 @@
     */
    public static SessionProvider createAnonimProvider()
    {
-      Identity id = new Identity(IdentityConstants.ANONIM, new HashSet<MembershipEntry>());
+      Identity id = new Identity(SystemIdentity.ANONIM, new HashSet<MembershipEntry>());
       return new SessionProvider(new ConversationState(id));
    }
 
@@ -144,7 +130,11 @@
          {
             membershipEntries.add(ace.getMembershipEntry());
          }
-         return new SessionProvider(membershipEntries);
+
+         Identity id = new Identity(DynamicIdentity.DYNAMIC, membershipEntries);
+         ConversationState conversationState = new ConversationState(id);
+         ConversationState.setCurrent(conversationState);
+         return new SessionProvider(conversationState);
       }
 
    }
@@ -178,7 +168,8 @@
 
       if (session == null)
       {
-         if (conversationState != null)
+         ConversationState conversationState = ConversationState.getCurrent();
+         if (conversationState != null && conversationState.getIdentity().getUserId().equals(DynamicIdentity.DYNAMIC))
          {
             session =
                      (ExtendedSession) repository.getDynamicSession(workspaceName, conversationState.getIdentity()



More information about the exo-jcr-commits mailing list