eXo JCR :: Component :: Extension Service 1.15.1-CP01

org.exoplatform.services.jcr.ext.common
Class SessionProvider

java.lang.Object
  extended by org.exoplatform.services.jcr.ext.common.SessionProvider
All Implemented Interfaces:
SessionLifecycleListener

public class SessionProvider
extends Object
implements SessionLifecycleListener

Created by The eXo Platform SAS .
Provides JCR Session for client program. Usually it is per client thread object Session creates with Repository.login(..) method and then can be stored in some cache if neccessary.

Version:
$Id: SessionProvider.java 34445 2009-07-24 07:51:18Z dkatayev $
Author:
Gennady Azarenkov

Field Summary
static String SESSION_PROVIDER
          Constant for handlers.
 
Constructor Summary
SessionProvider(org.exoplatform.services.security.ConversationState userState)
          Creates SessionProvider for certain identity.
 
Method Summary
 void close()
          Calls logout() method for all cached sessions.
static SessionProvider createAnonimProvider()
          Helper for creating Anonymous session provider.
static SessionProvider createProvider(List<AccessControlEntry> accessList)
          Return SessionProvider for a given list of AccessControlEntry.
static SessionProvider createSystemProvider()
          Helper for creating System session provider.
 ManageableRepository getCurrentRepository()
          Return Current Repository.
 String getCurrentWorkspace()
          Return Current Workspace used.
 javax.jcr.Session getSession(String workspaceName, ManageableRepository repository)
          Gets the session from internal cache or creates and caches new one.
 void onCloseSession(ExtendedSession session)
           
 void setCurrentRepository(ManageableRepository currentRepository)
          Set Repository.
 void setCurrentWorkspace(String currentWorkspace)
          Set Workspace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_PROVIDER

public static final String SESSION_PROVIDER
Constant for handlers.

See Also:
Constant Field Values
Constructor Detail

SessionProvider

public SessionProvider(org.exoplatform.services.security.ConversationState userState)
Creates SessionProvider for certain identity.

Parameters:
userState -
Method Detail

createSystemProvider

public static SessionProvider createSystemProvider()
Helper for creating System session provider.

Returns:
System session

createAnonimProvider

public static SessionProvider createAnonimProvider()
Helper for creating Anonymous session provider.

Returns:
System session

createProvider

public static SessionProvider createProvider(List<AccessControlEntry> accessList)
Return SessionProvider for a given list of AccessControlEntry.

Parameters:
accessList - list of AccessControlEntry
Returns:
SessionProvider

getSession

public javax.jcr.Session getSession(String workspaceName,
                                    ManageableRepository repository)
                             throws javax.jcr.LoginException,
                                    javax.jcr.NoSuchWorkspaceException,
                                    javax.jcr.RepositoryException
Gets the session from internal cache or creates and caches new one.

Parameters:
workspaceName -
repository -
Returns:
session
Throws:
javax.jcr.LoginException
javax.jcr.NoSuchWorkspaceException
javax.jcr.RepositoryException

close

public void close()
Calls logout() method for all cached sessions. Session will be removed from cache by the listener (this provider) via ExtendedSession.logout().


onCloseSession

public void onCloseSession(ExtendedSession session)
Specified by:
onCloseSession in interface SessionLifecycleListener

getCurrentRepository

public ManageableRepository getCurrentRepository()
Return Current Repository.

Returns:
ManageableRepository

getCurrentWorkspace

public String getCurrentWorkspace()
Return Current Workspace used.

Returns:
String

setCurrentRepository

public void setCurrentRepository(ManageableRepository currentRepository)
Set Repository.

Parameters:
currentRepository -

setCurrentWorkspace

public void setCurrentWorkspace(String currentWorkspace)
Set Workspace.

Parameters:
currentWorkspace -

eXo JCR :: Component :: Extension Service 1.15.1-CP01

Copyright © 2013 eXo Platform SAS. All Rights Reserved.