Class TcclWrappingJackrabbitRepository
java.lang.Object
org.apache.sling.jcr.oak.server.internal.TcclWrappingJackrabbitRepository
- All Implemented Interfaces:
javax.jcr.Repository,org.apache.jackrabbit.api.JackrabbitRepository
public class TcclWrappingJackrabbitRepository
extends Object
implements org.apache.jackrabbit.api.JackrabbitRepository
Custom
JackrabbitRepository that ensures that the correct Thread Context ClassLoader is set in OSGi environments
Oak still requires that for Repository.login() and
Session.impersonate(Credentials) calls a custom thread context class loader is set. This wrapper
simply ensures that the TCCL is set for all calls.
-
Field Summary
Fields inherited from interface org.apache.jackrabbit.api.JackrabbitRepository
OPTION_PRINCIPAL_MANAGEMENT_SUPPORTED, OPTION_PRIVILEGE_MANAGEMENT_SUPPORTED, OPTION_USER_MANAGEMENT_SUPPORTEDFields 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
ConstructorsConstructorDescriptionTcclWrappingJackrabbitRepository(org.apache.jackrabbit.api.JackrabbitRepository wrapped) -
Method Summary
Modifier and TypeMethodDescriptiongetDescriptor(String key) String[]javax.jcr.ValuegetDescriptorValue(String key) javax.jcr.Value[]booleanbooleanjavax.jcr.Sessionlogin()javax.jcr.Sessionjavax.jcr.Sessionlogin(javax.jcr.Credentials credentials) javax.jcr.Sessionjavax.jcr.Sessionvoidshutdown()
-
Constructor Details
-
TcclWrappingJackrabbitRepository
public TcclWrappingJackrabbitRepository(org.apache.jackrabbit.api.JackrabbitRepository wrapped)
-
-
Method Details
-
login
public javax.jcr.Session login(javax.jcr.Credentials credentials, String workspaceName) throws javax.jcr.LoginException, javax.jcr.NoSuchWorkspaceException, javax.jcr.RepositoryException - Specified by:
loginin interfacejavax.jcr.Repository- Throws:
javax.jcr.LoginExceptionjavax.jcr.NoSuchWorkspaceExceptionjavax.jcr.RepositoryException
-
login
public javax.jcr.Session login(javax.jcr.Credentials credentials) throws javax.jcr.LoginException, javax.jcr.RepositoryException - Specified by:
loginin interfacejavax.jcr.Repository- Throws:
javax.jcr.LoginExceptionjavax.jcr.RepositoryException
-
login
public javax.jcr.Session login(String workspaceName) throws javax.jcr.LoginException, javax.jcr.NoSuchWorkspaceException, javax.jcr.RepositoryException - Specified by:
loginin interfacejavax.jcr.Repository- Throws:
javax.jcr.LoginExceptionjavax.jcr.NoSuchWorkspaceExceptionjavax.jcr.RepositoryException
-
login
public javax.jcr.Session login() throws javax.jcr.LoginException, javax.jcr.RepositoryException- Specified by:
loginin interfacejavax.jcr.Repository- Throws:
javax.jcr.LoginExceptionjavax.jcr.RepositoryException
-
login
public javax.jcr.Session login(javax.jcr.Credentials credentials, String workspaceName, Map<String, Object> attributes) throws javax.jcr.LoginException, javax.jcr.NoSuchWorkspaceException, javax.jcr.RepositoryException- Specified by:
loginin interfaceorg.apache.jackrabbit.api.JackrabbitRepository- Throws:
javax.jcr.LoginExceptionjavax.jcr.NoSuchWorkspaceExceptionjavax.jcr.RepositoryException
-
getDescriptorKeys
- Specified by:
getDescriptorKeysin interfacejavax.jcr.Repository
-
isStandardDescriptor
- Specified by:
isStandardDescriptorin interfacejavax.jcr.Repository
-
isSingleValueDescriptor
- Specified by:
isSingleValueDescriptorin interfacejavax.jcr.Repository
-
getDescriptorValue
- Specified by:
getDescriptorValuein interfacejavax.jcr.Repository
-
getDescriptorValues
- Specified by:
getDescriptorValuesin interfacejavax.jcr.Repository
-
getDescriptor
- Specified by:
getDescriptorin interfacejavax.jcr.Repository
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceorg.apache.jackrabbit.api.JackrabbitRepository
-