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_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
ConstructorsConstructorDescriptionTcclWrappingJackrabbitRepository
(org.apache.jackrabbit.api.JackrabbitRepository wrapped) -
Method Summary
Modifier and TypeMethodDescriptiongetDescriptor
(String key) String[]
javax.jcr.Value
getDescriptorValue
(String key) javax.jcr.Value[]
boolean
boolean
javax.jcr.Session
login()
javax.jcr.Session
javax.jcr.Session
login
(javax.jcr.Credentials credentials) javax.jcr.Session
javax.jcr.Session
void
shutdown()
-
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:
login
in interfacejavax.jcr.Repository
- Throws:
javax.jcr.LoginException
javax.jcr.NoSuchWorkspaceException
javax.jcr.RepositoryException
-
login
public javax.jcr.Session login(javax.jcr.Credentials credentials) throws javax.jcr.LoginException, javax.jcr.RepositoryException - Specified by:
login
in interfacejavax.jcr.Repository
- Throws:
javax.jcr.LoginException
javax.jcr.RepositoryException
-
login
public javax.jcr.Session login(String workspaceName) throws javax.jcr.LoginException, javax.jcr.NoSuchWorkspaceException, javax.jcr.RepositoryException - Specified by:
login
in interfacejavax.jcr.Repository
- Throws:
javax.jcr.LoginException
javax.jcr.NoSuchWorkspaceException
javax.jcr.RepositoryException
-
login
public javax.jcr.Session login() throws javax.jcr.LoginException, javax.jcr.RepositoryException- Specified by:
login
in interfacejavax.jcr.Repository
- Throws:
javax.jcr.LoginException
javax.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:
login
in interfaceorg.apache.jackrabbit.api.JackrabbitRepository
- Throws:
javax.jcr.LoginException
javax.jcr.NoSuchWorkspaceException
javax.jcr.RepositoryException
-
getDescriptorKeys
- Specified by:
getDescriptorKeys
in interfacejavax.jcr.Repository
-
isStandardDescriptor
- Specified by:
isStandardDescriptor
in interfacejavax.jcr.Repository
-
isSingleValueDescriptor
- Specified by:
isSingleValueDescriptor
in interfacejavax.jcr.Repository
-
getDescriptorValue
- Specified by:
getDescriptorValue
in interfacejavax.jcr.Repository
-
getDescriptorValues
- Specified by:
getDescriptorValues
in interfacejavax.jcr.Repository
-
getDescriptor
- Specified by:
getDescriptor
in interfacejavax.jcr.Repository
-
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceorg.apache.jackrabbit.api.JackrabbitRepository
-