eXo JCR :: Component :: Extension Service 1.15.0-CR2

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)
           
static SessionProvider createSystemProvider()
          Helper for creating System session provider.
 ManageableRepository getCurrentRepository()
           
 String getCurrentWorkspace()
           
 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)
           
 void setCurrentWorkspace(String currentWorkspace)
           
 
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)

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()

getCurrentWorkspace

public String getCurrentWorkspace()

setCurrentRepository

public void setCurrentRepository(ManageableRepository currentRepository)

setCurrentWorkspace

public void setCurrentWorkspace(String currentWorkspace)

eXo JCR :: Component :: Extension Service 1.15.0-CR2

Copyright © 2012 eXo Platform SAS. All Rights Reserved.