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_isShuttingDownprivate LogoutManager_logoutManagerprivate 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 SessionImplcreateSessionInstance(Subject subject, WorkspaceConfig wspConfig)protected SessionImplcreateSessionInstance(AuthContext loginContext, WorkspaceConfig wspConfig)protected voiddoShutdown()(package private) LogoutManagergetLogoutManager()(package private) intgetSessionCount()voidloggedOut(SessionImpl session)Sessionlogin(Credentials credentials, String workspaceName)protected voidonSessionCreated(SessionImpl session)(package private) voidsetLogoutManager(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:
createSessionInstancein classRepositoryImpl- Throws:
AccessDeniedExceptionRepositoryException
-
createSessionInstance
protected SessionImpl createSessionInstance(Subject subject, WorkspaceConfig wspConfig) throws AccessDeniedException, RepositoryException
- Overrides:
createSessionInstancein classRepositoryImpl- Throws:
AccessDeniedExceptionRepositoryException
-
setLogoutManager
void setLogoutManager(LogoutManager logoutManager)
-
getLogoutManager
LogoutManager getLogoutManager()
-
getSessionCount
int getSessionCount()
-
onSessionCreated
protected void onSessionCreated(SessionImpl session)
- Overrides:
onSessionCreatedin classRepositoryImpl
-
loggedOut
public void loggedOut(SessionImpl session)
- Specified by:
loggedOutin interfaceSessionListener- Overrides:
loggedOutin classRepositoryImpl
-
doShutdown
protected void doShutdown()
- Overrides:
doShutdownin classRepositoryImpl
-
login
public Session login(Credentials credentials, String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException
- Specified by:
loginin interfaceRepository- Overrides:
loginin classRepositoryImpl- Throws:
LoginExceptionNoSuchWorkspaceExceptionRepositoryException
-
-