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()
Show replies by date