Class 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 Detail

      • TcclWrappingJackrabbitRepository

        public TcclWrappingJackrabbitRepository​(org.apache.jackrabbit.api.JackrabbitRepository wrapped)
    • Method Detail

      • 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 interface javax.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 interface javax.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 interface javax.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 interface javax.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 interface org.apache.jackrabbit.api.JackrabbitRepository
        Throws:
        javax.jcr.LoginException
        javax.jcr.NoSuchWorkspaceException
        javax.jcr.RepositoryException
      • getDescriptorKeys

        public String[] getDescriptorKeys()
        Specified by:
        getDescriptorKeys in interface javax.jcr.Repository
      • isStandardDescriptor

        public boolean isStandardDescriptor​(String key)
        Specified by:
        isStandardDescriptor in interface javax.jcr.Repository
      • isSingleValueDescriptor

        public boolean isSingleValueDescriptor​(String key)
        Specified by:
        isSingleValueDescriptor in interface javax.jcr.Repository
      • getDescriptorValue

        public javax.jcr.Value getDescriptorValue​(String key)
        Specified by:
        getDescriptorValue in interface javax.jcr.Repository
      • getDescriptorValues

        public javax.jcr.Value[] getDescriptorValues​(String key)
        Specified by:
        getDescriptorValues in interface javax.jcr.Repository
      • getDescriptor

        public String getDescriptor​(String key)
        Specified by:
        getDescriptor in interface javax.jcr.Repository
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface org.apache.jackrabbit.api.JackrabbitRepository