[exo-jcr-commits] exo-jcr SVN: r4702 - 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 09:25:20 EDT 2011
Author: areshetnyak
Date: 2011-08-08 09:25:20 -0400 (Mon, 08 Aug 2011)
New Revision: 4702
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java
Log:
EXOJCR-1464 : Changes from EXOJCR-1464.patch was committed.
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:24:10 UTC (rev 4701)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/common/SessionProvider.java 2011-08-08 13:25:20 UTC (rev 4702)
@@ -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