Class AmetysRepository
- java.lang.Object
-
- org.apache.jackrabbit.commons.AbstractRepository
-
- org.apache.jackrabbit.core.RepositoryImpl
-
- org.ametys.plugins.repository.provider.AmetysRepository
-
- All Implemented Interfaces:
Repository
,JackrabbitRepository
,WorkspaceListener
,SessionListener
public class AmetysRepository extends RepositoryImpl
JCR Repository implementation, based on Jackrabbit and allowing to change the logout behaviour for Sessions
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.jackrabbit.core.RepositoryImpl
RepositoryImpl.DescriptorValue, RepositoryImpl.WorkspaceInfo
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
_isShuttingDown
private LogoutManager
_logoutManager
private AtomicInteger
_sessionCount
-
Fields inherited from class org.apache.jackrabbit.core.RepositoryImpl
ACTIVITIES_NODE_ID, CONFIGURATIONS_NODE_ID, context, JACKRABBIT_CLUSTER_ID, nodeIdFactory, NODETYPES_NODE_ID, repConfig, ROOT_NODE_ID, SYSTEM_ROOT_NODE_ID, VERSION_STORAGE_NODE_ID
-
Fields inherited from interface org.apache.jackrabbit.api.JackrabbitRepository
OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED, OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED, OPTION_USER_MANAGEMENT_SUPPORTED
-
Fields inherited from interface javax.jcr.Repository
IDENTIFIER_STABILITY, IDENTIFIER_STABILITY_INDEFINITE_DURATION, IDENTIFIER_STABILITY_METHOD_DURATION, IDENTIFIER_STABILITY_SAVE_DURATION, IDENTIFIER_STABILITY_SESSION_DURATION, LEVEL_1_SUPPORTED, LEVEL_2_SUPPORTED, NODE_TYPE_MANAGEMENT_AUTOCREATED_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_INHERITANCE, NODE_TYPE_MANAGEMENT_INHERITANCE_MINIMAL, NODE_TYPE_MANAGEMENT_INHERITANCE_MULTIPLE, NODE_TYPE_MANAGEMENT_INHERITANCE_SINGLE, NODE_TYPE_MANAGEMENT_MULTIPLE_BINARY_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_MULTIVALUED_PROPERTIES_SUPPORTED, NODE_TYPE_MANAGEMENT_ORDERABLE_CHILD_NODES_SUPPORTED, NODE_TYPE_MANAGEMENT_OVERRIDES_SUPPORTED, NODE_TYPE_MANAGEMENT_PRIMARY_ITEM_NAME_SUPPORTED, NODE_TYPE_MANAGEMENT_PROPERTY_TYPES, NODE_TYPE_MANAGEMENT_RESIDUAL_DEFINITIONS_SUPPORTED, NODE_TYPE_MANAGEMENT_SAME_NAME_SIBLINGS_SUPPORTED, NODE_TYPE_MANAGEMENT_UPDATE_IN_USE_SUPORTED, NODE_TYPE_MANAGEMENT_VALUE_CONSTRAINTS_SUPPORTED, OPTION_ACCESS_CONTROL_SUPPORTED, OPTION_ACTIVITIES_SUPPORTED, OPTION_BASELINES_SUPPORTED, OPTION_JOURNALED_OBSERVATION_SUPPORTED, OPTION_LIFECYCLE_SUPPORTED, OPTION_LOCKING_SUPPORTED, OPTION_NODE_AND_PROPERTY_WITH_SAME_NAME_SUPPORTED, OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, OPTION_OBSERVATION_SUPPORTED, OPTION_QUERY_SQL_SUPPORTED, OPTION_RETENTION_SUPPORTED, OPTION_SHAREABLE_NODES_SUPPORTED, OPTION_SIMPLE_VERSIONING_SUPPORTED, OPTION_TRANSACTIONS_SUPPORTED, OPTION_UNFILED_CONTENT_SUPPORTED, OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, OPTION_VERSIONING_SUPPORTED, OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, OPTION_XML_EXPORT_SUPPORTED, OPTION_XML_IMPORT_SUPPORTED, QUERY_FULL_TEXT_SEARCH_SUPPORTED, QUERY_JOINS, QUERY_JOINS_INNER, QUERY_JOINS_INNER_OUTER, QUERY_JOINS_NONE, QUERY_LANGUAGES, QUERY_STORED_QUERIES_SUPPORTED, QUERY_XPATH_DOC_ORDER, QUERY_XPATH_POS_INDEX, REP_NAME_DESC, REP_VENDOR_DESC, REP_VENDOR_URL_DESC, REP_VERSION_DESC, SPEC_NAME_DESC, SPEC_VERSION_DESC, WRITE_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description AmetysRepository(RepositoryConfig config)
Creates a Repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SessionImpl
createSessionInstance(Subject subject, WorkspaceConfig wspConfig)
protected SessionImpl
createSessionInstance(AuthContext loginContext, WorkspaceConfig wspConfig)
protected void
doShutdown()
(package private) LogoutManager
getLogoutManager()
(package private) int
getSessionCount()
void
loggedOut(SessionImpl session)
Session
login(Credentials credentials, String workspaceName)
protected void
onSessionCreated(SessionImpl session)
(package private) void
setLogoutManager(LogoutManager logoutManager)
-
Methods inherited from class org.apache.jackrabbit.core.RepositoryImpl
create, createClusterNode, createDataStoreGarbageCollector, createItemStateManager, createNamespaceRegistry, createNodeTypeRegistry, createSession, createSession, createVersionManager, createWorkspace, createWorkspace, createWorkspaceInfo, externalWorkspaceCreated, getCacheManager, getConfig, getCustomRepositoryDescriptors, getDescriptor, getDescriptorKeys, getDescriptorValue, getDescriptorValues, getSystemSearchManager, getWorkspaceInfo, getWorkspaceNames, initRepositoryDescriptors, initStartupWorkspaces, isSingleValueDescriptor, loggingOut, sanityCheck, setDescriptor, setDescriptor, setDescriptor, setReferentialIntegrityChecking, shutdown
-
Methods inherited from class org.apache.jackrabbit.commons.AbstractRepository
isStandardDescriptor, login, login, login, login
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jackrabbit.api.JackrabbitRepository
login
-
Methods inherited from interface javax.jcr.Repository
isStandardDescriptor, login, login, login
-
-
-
-
Field Detail
-
_logoutManager
private LogoutManager _logoutManager
-
_sessionCount
private AtomicInteger _sessionCount
-
_isShuttingDown
private boolean _isShuttingDown
-
-
Constructor Detail
-
AmetysRepository
public AmetysRepository(RepositoryConfig config) throws RepositoryException
Creates a Repository.- Parameters:
config
- the repository configuration.- Throws:
RepositoryException
- if an error occurs.
-
-
Method Detail
-
createSessionInstance
protected SessionImpl createSessionInstance(AuthContext loginContext, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
- Overrides:
createSessionInstance
in classRepositoryImpl
- Throws:
AccessDeniedException
RepositoryException
-
createSessionInstance
protected SessionImpl createSessionInstance(Subject subject, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
- Overrides:
createSessionInstance
in classRepositoryImpl
- Throws:
AccessDeniedException
RepositoryException
-
setLogoutManager
void setLogoutManager(LogoutManager logoutManager)
-
getLogoutManager
LogoutManager getLogoutManager()
-
getSessionCount
int getSessionCount()
-
onSessionCreated
protected void onSessionCreated(SessionImpl session)
- Overrides:
onSessionCreated
in classRepositoryImpl
-
loggedOut
public void loggedOut(SessionImpl session)
- Specified by:
loggedOut
in interfaceSessionListener
- Overrides:
loggedOut
in classRepositoryImpl
-
doShutdown
protected void doShutdown()
- Overrides:
doShutdown
in classRepositoryImpl
-
login
public Session login(Credentials credentials, String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException
- Specified by:
login
in interfaceRepository
- Overrides:
login
in classRepositoryImpl
- Throws:
LoginException
NoSuchWorkspaceException
RepositoryException
-
-