|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.apache.jackrabbit.core.RepositoryImpl
A RepositoryImpl ...
| Nested Class Summary | |
protected class |
RepositoryImpl.WorkspaceInfo
WorkspaceInfo holds the objects that are shared
among multiple per-session WorkspaceImpl instances
representing the same named workspace, i.e. |
| Field Summary | |
protected RepositoryConfig |
repConfig
|
static String |
STATS_NODE_COUNT_PROPERTY
|
static String |
STATS_PROP_COUNT_PROPERTY
|
| Constructor Summary | |
protected |
RepositoryImpl(RepositoryConfig repConfig)
private constructor |
| Method Summary | |
protected void |
acquireRepositoryLock()
Lock the repository home. |
static RepositoryImpl |
create(RepositoryConfig config)
Creates a new RepositoryImpl instance. |
protected NamespaceRegistryImpl |
createNamespaceRegistry(FileSystem fs)
Creates the NamespaceRegistry instance. |
protected NodeTypeRegistry |
createNodeTypeRegistry(NamespaceRegistry nsReg,
FileSystem fs)
Creates the NodeTypeRegistry instance. |
protected SessionImpl |
createSession(AuthContext loginContext,
String workspaceName)
Creates a new repository session on the specified workspace for the authenticated subject of the given login context and adds it to the active sessions. |
protected SessionImpl |
createSession(Subject subject,
String workspaceName)
Creates a new repository session on the specified workspace for the given authenticated subject and adds it to the active sessions. |
protected SessionImpl |
createSessionInstance(AuthContext loginContext,
WorkspaceConfig wspConfig)
Creates an instance of the SessionImpl class representing a
user authenticated by the loginContext instance attached
to the workspace configured by the wspConfig. |
protected SessionImpl |
createSessionInstance(Subject subject,
WorkspaceConfig wspConfig)
Creates an instance of the SessionImpl class representing a
user represented by the subject instance attached
to the workspace configured by the wspConfig. |
protected void |
createWorkspace(String workspaceName)
Creates a workspace with the given name. |
protected RepositoryImpl.WorkspaceInfo |
createWorkspaceInfo(WorkspaceConfig wspConfig)
Creates a new RepositoryImpl.WorkspaceInfo instance for
wspConfig. |
RepositoryConfig |
getConfig()
Returns the configuration of this repository. |
protected InputStream |
getDefaultRepositoryProperties()
Returns an InputStream on a Properties resource
which contains the default properties for the repository. |
String |
getDescriptor(String key)
|
String[] |
getDescriptorKeys()
|
protected RepositoryImpl.WorkspaceInfo |
getWorkspaceInfo(String workspaceName)
Returns the RepositoryImpl.WorkspaceInfo for the named workspace. |
protected String |
loadRootNodeUUID(FileSystem fs)
Returns the root node uuid. |
void |
loggedOut(SessionImpl session)
Called when a Session has been 'closed' by
calling |
void |
loggingOut(SessionImpl session)
Called when a Session is about to be 'closed' by
calling |
Session |
login()
|
Session |
login(Credentials credentials)
|
Session |
login(Credentials credentials,
String workspaceName)
|
Session |
login(String workspaceName)
|
void |
onEvent(EventIterator events)
|
protected void |
releaseRepositoryLock()
Release repository lock |
protected void |
sanityCheck()
Performs a sanity check on this repository instance. |
void |
shutdown()
Shuts down this repository. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final String STATS_NODE_COUNT_PROPERTY
public static final String STATS_PROP_COUNT_PROPERTY
protected final RepositoryConfig repConfig
| Constructor Detail |
protected RepositoryImpl(RepositoryConfig repConfig)
throws RepositoryException
repConfig - | Method Detail |
protected void acquireRepositoryLock()
throws RepositoryException
RepositoryException - if the repository lock can not be acquiredprotected void releaseRepositoryLock()
protected String loadRootNodeUUID(FileSystem fs)
throws RepositoryException
fs -
RepositoryException
protected NamespaceRegistryImpl createNamespaceRegistry(FileSystem fs)
throws RepositoryException
NamespaceRegistry instance.
fs -
RepositoryException
protected NodeTypeRegistry createNodeTypeRegistry(NamespaceRegistry nsReg,
FileSystem fs)
throws RepositoryException
NodeTypeRegistry instance.
fs -
RepositoryException
public static RepositoryImpl create(RepositoryConfig config)
throws RepositoryException
RepositoryImpl instance.
todo prevent multiple instantiation from same configuration as this could lead to data corruption/loss
config - the configuration of the repository
RepositoryImpl instance
RepositoryException - If an error occurs
protected void sanityCheck()
throws IllegalStateException
IllegalStateException - if this repository has been rendered
invalid for some reason (e.g. if it has
been shut down)
protected RepositoryImpl.WorkspaceInfo getWorkspaceInfo(String workspaceName)
throws IllegalStateException,
NoSuchWorkspaceException
RepositoryImpl.WorkspaceInfo for the named workspace.
workspaceName - The name of the workspace whose RepositoryImpl.WorkspaceInfo
is to be returned. This must not be null.
RepositoryImpl.WorkspaceInfo for the named workspace. This will
never be null.
IllegalStateException - If this repository has already been
shut down.
NoSuchWorkspaceException - If the named workspace does not exist.
protected void createWorkspace(String workspaceName)
throws RepositoryException
workspaceName - name of the new workspace
RepositoryException - if a workspace with the given name
already exists or if another error occursSessionImpl.createWorkspace(String)
protected final SessionImpl createSession(AuthContext loginContext,
String workspaceName)
throws NoSuchWorkspaceException,
AccessDeniedException,
RepositoryException
createSessionInstance(AuthContext, WorkspaceConfig) to
create the actual SessionImpl instance.
loginContext - login context with authenticated subjectworkspaceName - workspace name
NoSuchWorkspaceException - if the specified workspace does not exist
AccessDeniedException - if the subject of the given login context
is not granted access to the specified
workspace
RepositoryException - if another error occurs
protected final SessionImpl createSession(Subject subject,
String workspaceName)
throws NoSuchWorkspaceException,
AccessDeniedException,
RepositoryException
createSessionInstance(Subject, WorkspaceConfig) to
create the actual SessionImpl instance.
subject - authenticated subjectworkspaceName - workspace name
NoSuchWorkspaceException - if the specified workspace does not exist
AccessDeniedException - if the subject of the given login context
is not granted access to the specified
workspace
RepositoryException - if another error occurspublic void shutdown()
Runtime.addShutdownHook(Thread)public RepositoryConfig getConfig()
protected InputStream getDefaultRepositoryProperties()
InputStream on a Properties resource
which contains the default properties for the repository. This method is
only called once during repository initialization.
The InputStream returned is closed by the caller.
This method returns an InputStream on the
org/apache/jackrabbit/core/repository.properties resource
found in the class path.
InputStream on a Properties resource
or null if the resource does not exist.
public Session login(Credentials credentials,
String workspaceName)
throws LoginException,
NoSuchWorkspaceException,
RepositoryException
login in interface RepositoryLoginException
NoSuchWorkspaceException
RepositoryException
public Session login(String workspaceName)
throws LoginException,
NoSuchWorkspaceException,
RepositoryException
login in interface RepositoryLoginException
NoSuchWorkspaceException
RepositoryException
public Session login()
throws LoginException,
RepositoryException
login in interface RepositoryLoginException
RepositoryException
public Session login(Credentials credentials)
throws LoginException,
RepositoryException
login in interface RepositoryLoginException
RepositoryExceptionpublic String getDescriptor(String key)
getDescriptor in interface Repositorypublic String[] getDescriptorKeys()
getDescriptorKeys in interface Repositorypublic void loggingOut(SessionImpl session)
Session is about to be 'closed' by
calling Session.logout()
- Specified by:
loggingOut in interface SessionListener
- Parameters:
session - the Session that is about to be 'closed'
public void loggedOut(SessionImpl session)
Session has been 'closed' by
calling Session.logout()
- Specified by:
loggedOut in interface SessionListener
- Parameters:
session - the Session that has been 'closed'
public void onEvent(EventIterator events)
onEvent in interface EventListener
protected SessionImpl createSessionInstance(AuthContext loginContext,
WorkspaceConfig wspConfig)
throws AccessDeniedException,
RepositoryException
SessionImpl class representing a
user authenticated by the loginContext instance attached
to the workspace configured by the wspConfig.
AccessDeniedException - if the subject of the given login context
is not granted access to the specified
workspace
RepositoryException - If any other error occurrs creating the
session.
protected SessionImpl createSessionInstance(Subject subject,
WorkspaceConfig wspConfig)
throws AccessDeniedException,
RepositoryException
SessionImpl class representing a
user represented by the subject instance attached
to the workspace configured by the wspConfig.
AccessDeniedException - if the subject of the given login context
is not granted access to the specified
workspace
RepositoryException - If any other error occurrs creating the
session.protected RepositoryImpl.WorkspaceInfo createWorkspaceInfo(WorkspaceConfig wspConfig)
RepositoryImpl.WorkspaceInfo instance for
wspConfig.
wspConfig - the workspace configuration.
WorkspaceInfo instance.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||