Class WorkspaceResourceImpl

  • All Implemented Interfaces:
    org.apache.jackrabbit.webdav.DavResource, org.apache.jackrabbit.webdav.search.SearchResource, org.apache.jackrabbit.webdav.transaction.TransactionResource, org.apache.jackrabbit.webdav.version.DeltaVResource, org.apache.jackrabbit.webdav.version.VersionableResource, org.apache.jackrabbit.webdav.version.VersionControlledResource, org.apache.jackrabbit.webdav.version.WorkspaceResource

    public class WorkspaceResourceImpl
    extends Object
    implements org.apache.jackrabbit.webdav.version.WorkspaceResource, org.apache.jackrabbit.webdav.version.VersionControlledResource
    WorkspaceResourceImpl...
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean initedProps  
      protected org.apache.jackrabbit.webdav.property.DavPropertyNameSet names  
      protected org.apache.jackrabbit.webdav.property.DavPropertySet properties  
      protected org.apache.jackrabbit.webdav.lock.SupportedLock supportedLock  
      protected org.apache.jackrabbit.webdav.version.report.SupportedReportSetProperty supportedReports  
      • Fields inherited from interface org.apache.jackrabbit.webdav.DavResource

        METHODS
      • Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource

        METHODS, METHODS_INCL_MKWORKSPACE
      • Fields inherited from interface org.apache.jackrabbit.webdav.search.SearchResource

        METHODS
      • Fields inherited from interface org.apache.jackrabbit.webdav.transaction.TransactionResource

        METHODS
      • Fields inherited from interface org.apache.jackrabbit.webdav.version.VersionableResource

        METHODS
      • Fields inherited from interface org.apache.jackrabbit.webdav.version.VersionControlledResource

        ACTIVITY_SET, AUTO_MERGE_SET, AUTO_VERSION, BASELINE_CONTROLLED_COLLECTION, CHECKED_IN, CHECKED_OUT, CHECKIN_FORK, CHECKOUT_FORK, ECLIPSED_SET, MERGE_SET, methods_checkedIn, methods_checkedOut, PREDECESSOR_SET, SUBBASELINE_SET, UNRESERVED, VERSION_HISTORY
      • Fields inherited from interface org.apache.jackrabbit.webdav.version.WorkspaceResource

        BASELINE_CONTROLLED_COLLECTION_SET, CURRENT_ACTIVITY_SET, CUURENT_ACTIVITY_SET, WORKSPACE_CHECKOUT_SET
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLockManager​(org.apache.jackrabbit.webdav.lock.LockManager lockMgr)  
      void addMember​(org.apache.jackrabbit.webdav.DavResource resource, org.apache.jackrabbit.webdav.io.InputContext inputContext)
      Throws 403 exception (Forbidden)
      void addVersionControl()  
      void addWorkspace​(org.apache.jackrabbit.webdav.DavResource workspace)
      The JCR api does not provide methods to create new workspaces.
      org.apache.jackrabbit.webdav.MultiStatusResponse alterProperties​(List<? extends org.apache.jackrabbit.webdav.property.PropEntry> changeList)
      Handles an attempt to set ItemResourceConstants.JCR_NAMESPACES and forwards any other set or remove requests to the super class.
      String checkin()  
      void checkout()  
      void copy​(org.apache.jackrabbit.webdav.DavResource destination, boolean shallow)
      Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
      protected org.apache.jackrabbit.webdav.DavResource createResourceFromLocator​(org.apache.jackrabbit.webdav.DavResourceLocator loc)
      Create a new DavResource from the given locator.
      boolean exists()  
      org.apache.jackrabbit.webdav.DavResource getCollection()
      Retrieve the collection that has all workspace collections as internal members.
      String getComplianceClass()
      Returns a string listing the compliance classes for this resource as it is required for the DAV response header.
      protected String getCreationDate()
      Returns the creation date which is used for the DavPropertyName.CREATIONDATE property.
      protected String getCreatorDisplayName()
      Returns the display name of the creator which is used for the protected DeltaVConstants.CREATOR_DISPLAYNAME property.
      String getDisplayName()
      Returns the name of the workspace.
      org.apache.jackrabbit.webdav.DavResourceFactory getFactory()  
      String getHref()  
      org.apache.jackrabbit.webdav.DavResourceLocator getLocator()  
      protected org.apache.jackrabbit.webdav.DavResourceLocator getLocatorFromItem​(Item repositoryItem)
      Build a new DavResourceLocator from the given repository item.
      protected org.apache.jackrabbit.webdav.DavResourceLocator getLocatorFromItemPath​(String itemPath)
      Build a DavResourceLocator from the given itemPath path.
      org.apache.jackrabbit.webdav.lock.ActiveLock getLock​(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)  
      org.apache.jackrabbit.webdav.lock.ActiveLock[] getLocks()  
      org.apache.jackrabbit.webdav.DavResourceIterator getMembers()
      Returns the resource representing the JCR root node.
      long getModificationTime()
      Always returns 'now'
      org.apache.jackrabbit.webdav.version.OptionsResponse getOptionResponse​(org.apache.jackrabbit.webdav.version.OptionsInfo optionsInfo)  
      org.apache.jackrabbit.webdav.property.DavPropertySet getProperties()  
      org.apache.jackrabbit.webdav.property.DavProperty<?> getProperty​(org.apache.jackrabbit.webdav.property.DavPropertyName name)  
      org.apache.jackrabbit.webdav.property.DavPropertyName[] getPropertyNames()  
      org.apache.jackrabbit.webdav.search.QueryGrammerSet getQueryGrammerSet()  
      org.apache.jackrabbit.webdav.DavResource[] getReferenceResources​(org.apache.jackrabbit.webdav.property.DavPropertyName hrefPropertyName)
      Return an array of DavResource objects that are referenced by the property with the specified name.
      org.apache.jackrabbit.webdav.version.report.Report getReport​(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo)  
      protected Session getRepositorySession()
      Shortcut for getSession().getRepositorySession()
      String getResourcePath()
      Returns the path of the underlying repository item or the item to be created (PUT/MKCOL).
      org.apache.jackrabbit.webdav.DavSession getSession()  
      String getSupportedMethods()  
      String getTransactionId()  
      org.apache.jackrabbit.webdav.version.VersionHistoryResource getVersionHistory()  
      protected String getWorkspaceHref()
      Retrieve the href of the workspace the current session belongs to.
      boolean hasLock​(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
      Returns true if this resource has a lock applied with the given type and scope.
      void init​(org.apache.jackrabbit.webdav.transaction.TxLockManager txMgr, String transactionId)  
      protected void initLockSupport()
      Define the set of locks supported by this resource.
      protected void initProperties()
      Fill the set of default properties
      protected void initPropertyNames()
      Property names common to all resources.
      protected void initSupportedReports()
      Define the set of reports supported by this resource.
      boolean isCollection()  
      boolean isLockable​(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
      Returns true, if the SupportedLock property contains an entry with the given type and scope.
      void label​(org.apache.jackrabbit.webdav.version.LabelInfo labelInfo)  
      org.apache.jackrabbit.webdav.lock.ActiveLock lock​(org.apache.jackrabbit.webdav.lock.LockInfo reqLockInfo)  
      org.apache.jackrabbit.webdav.MultiStatus merge​(org.apache.jackrabbit.webdav.version.MergeInfo mergeInfo)  
      void move​(org.apache.jackrabbit.webdav.DavResource destination)
      Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
      protected String normalizeResourceHref​(String href)
      Normalize the resource href.
      org.apache.jackrabbit.webdav.lock.ActiveLock refreshLock​(org.apache.jackrabbit.webdav.lock.LockInfo info, String lockToken)
      Only transaction lock may be available on this resource.
      void removeMember​(org.apache.jackrabbit.webdav.DavResource member)
      Throws 403 exception (Forbidden)
      void removeProperty​(org.apache.jackrabbit.webdav.property.DavPropertyName propertyName)
      Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
      org.apache.jackrabbit.webdav.MultiStatus search​(org.apache.jackrabbit.webdav.search.SearchInfo sInfo)  
      void setProperty​(org.apache.jackrabbit.webdav.property.DavProperty<?> property)
      Allows to alter the registered namespaces (ItemResourceConstants.JCR_NAMESPACES) or register node types ItemResourceConstants.JCR_NODETYPES_CND where the passed value is a cnd string containing the definition and forwards any other property to the super class.
      void spool​(org.apache.jackrabbit.webdav.io.OutputContext outputContext)  
      void uncheckout()  
      void unlock​(String lockToken)
      Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED since only transaction locks may be present on this resource, that need to be released by calling TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo).
      void unlock​(String lockToken, org.apache.jackrabbit.webdav.transaction.TransactionInfo tInfo)  
      org.apache.jackrabbit.webdav.MultiStatus update​(org.apache.jackrabbit.webdav.version.UpdateInfo updateInfo)
      While RFC 3253 does not define any version-related operations for the workspace resource, this implementation uses VersionControlledResource.update(UpdateInfo) to map Workspace.restore(javax.jcr.version.Version[], boolean) to a WebDAV call.
      • Methods inherited from interface org.apache.jackrabbit.webdav.DavResource

        addLockManager, copy, getComplianceClass, getFactory, getHref, getLocator, getLock, getLocks, getProperties, getPropertyNames, getResourcePath, getSession, hasLock, isLockable, lock, move, refreshLock, removeProperty, unlock
      • Methods inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource

        addWorkspace, getOptionResponse, getReferenceResources, getReport
    • Field Detail

      • initedProps

        protected boolean initedProps
      • properties

        protected org.apache.jackrabbit.webdav.property.DavPropertySet properties
      • names

        protected org.apache.jackrabbit.webdav.property.DavPropertyNameSet names
      • supportedLock

        protected org.apache.jackrabbit.webdav.lock.SupportedLock supportedLock
      • supportedReports

        protected org.apache.jackrabbit.webdav.version.report.SupportedReportSetProperty supportedReports
    • Method Detail

      • getProperty

        public org.apache.jackrabbit.webdav.property.DavProperty<?> getProperty​(org.apache.jackrabbit.webdav.property.DavPropertyName name)
        Specified by:
        getProperty in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
      • getSupportedMethods

        public String getSupportedMethods()
        Specified by:
        getSupportedMethods in interface org.apache.jackrabbit.webdav.DavResource
      • exists

        public boolean exists()
        Specified by:
        exists in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
        true if the workspace name (see getDisplayName() is present in the list of available workspace names such as exposed by the editing JCR session.
      • isCollection

        public boolean isCollection()
        Specified by:
        isCollection in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
        true
      • getDisplayName

        public String getDisplayName()
        Returns the name of the workspace.
        Specified by:
        getDisplayName in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
        The workspace name
        See Also:
        DavResource.getDisplayName(), Workspace.getName()
      • getModificationTime

        public long getModificationTime()
        Always returns 'now'
        Specified by:
        getModificationTime in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
      • spool

        public void spool​(org.apache.jackrabbit.webdav.io.OutputContext outputContext)
                   throws IOException
        Specified by:
        spool in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        outputContext -
        Throws:
        IOException
      • getCollection

        public org.apache.jackrabbit.webdav.DavResource getCollection()
        Retrieve the collection that has all workspace collections as internal members.
        Specified by:
        getCollection in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getCollection()
      • addMember

        public void addMember​(org.apache.jackrabbit.webdav.DavResource resource,
                              org.apache.jackrabbit.webdav.io.InputContext inputContext)
                       throws org.apache.jackrabbit.webdav.DavException
        Throws 403 exception (Forbidden)
        Specified by:
        addMember in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        resource -
        inputContext -
        Throws:
        org.apache.jackrabbit.webdav.DavException
      • getMembers

        public org.apache.jackrabbit.webdav.DavResourceIterator getMembers()
        Returns the resource representing the JCR root node.
        Specified by:
        getMembers in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
      • removeMember

        public void removeMember​(org.apache.jackrabbit.webdav.DavResource member)
                          throws org.apache.jackrabbit.webdav.DavException
        Throws 403 exception (Forbidden)
        Specified by:
        removeMember in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        member -
        Throws:
        org.apache.jackrabbit.webdav.DavException
      • setProperty

        public void setProperty​(org.apache.jackrabbit.webdav.property.DavProperty<?> property)
                         throws org.apache.jackrabbit.webdav.DavException
        Allows to alter the registered namespaces (ItemResourceConstants.JCR_NAMESPACES) or register node types ItemResourceConstants.JCR_NODETYPES_CND where the passed value is a cnd string containing the definition and forwards any other property to the super class.

        Note that again no property status is set. Any failure while setting a property results in an exception (violating RFC 2518).

        Specified by:
        setProperty in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        property -
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        DavResource.setProperty(org.apache.jackrabbit.webdav.property.DavProperty)
      • alterProperties

        public org.apache.jackrabbit.webdav.MultiStatusResponse alterProperties​(List<? extends org.apache.jackrabbit.webdav.property.PropEntry> changeList)
                                                                         throws org.apache.jackrabbit.webdav.DavException
        Handles an attempt to set ItemResourceConstants.JCR_NAMESPACES and forwards any other set or remove requests to the super class.
        Specified by:
        alterProperties in interface org.apache.jackrabbit.webdav.DavResource
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        setProperty(DavProperty), DefaultItemCollection.alterProperties(List)
      • addVersionControl

        public void addVersionControl()
                               throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        addVersionControl in interface org.apache.jackrabbit.webdav.version.VersionableResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • checkin

        public String checkin()
                       throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        checkin in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • checkout

        public void checkout()
                      throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        checkout in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • uncheckout

        public void uncheckout()
                        throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        uncheckout in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • update

        public org.apache.jackrabbit.webdav.MultiStatus update​(org.apache.jackrabbit.webdav.version.UpdateInfo updateInfo)
                                                        throws org.apache.jackrabbit.webdav.DavException
        While RFC 3253 does not define any version-related operations for the workspace resource, this implementation uses VersionControlledResource.update(UpdateInfo) to map Workspace.restore(javax.jcr.version.Version[], boolean) to a WebDAV call.

        Limitation: note that the MultiStatus returned by this method will not list any nodes that have been removed due to an Uuid conflict.

        Specified by:
        update in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Parameters:
        updateInfo -
        Returns:
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        VersionControlledResource.update(org.apache.jackrabbit.webdav.version.UpdateInfo)
      • merge

        public org.apache.jackrabbit.webdav.MultiStatus merge​(org.apache.jackrabbit.webdav.version.MergeInfo mergeInfo)
                                                       throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        merge in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • label

        public void label​(org.apache.jackrabbit.webdav.version.LabelInfo labelInfo)
                   throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        label in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • getVersionHistory

        public org.apache.jackrabbit.webdav.version.VersionHistoryResource getVersionHistory()
                                                                                      throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        getVersionHistory in interface org.apache.jackrabbit.webdav.version.VersionControlledResource
        Throws:
        org.apache.jackrabbit.webdav.DavException - (403) since workspace is not versionable. implementing VersionControlledResource only for 'update'.
      • initLockSupport

        protected void initLockSupport()
        Define the set of locks supported by this resource.
        See Also:
        SupportedLock
      • initSupportedReports

        protected void initSupportedReports()
        Define the set of reports supported by this resource.
        See Also:
        SupportedReportSetProperty, AbstractResource.initSupportedReports()
      • getWorkspaceHref

        protected String getWorkspaceHref()
        Retrieve the href of the workspace the current session belongs to.
        Returns:
        href of the workspace
      • initPropertyNames

        protected void initPropertyNames()
        Property names common to all resources.
      • initProperties

        protected void initProperties()
        Fill the set of default properties
      • getComplianceClass

        public String getComplianceClass()
        Returns a string listing the compliance classes for this resource as it is required for the DAV response header. This includes DAV 1, 2 which is supported by all derived classes as well as a subset of the classes defined by DeltaV: version-control, version-history, checkout-in-place, label, merge, update and workspace.
        Those compliance classes are added as required by RFC3253 since all all resources in the jcr-server support at least the reporting and some basic versioning functionality.
        Specified by:
        getComplianceClass in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
        string listing the compliance classes.
        See Also:
        DavResource.getComplianceClass()
      • getLocator

        public org.apache.jackrabbit.webdav.DavResourceLocator getLocator()
        Specified by:
        getLocator in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getLocator()
      • getResourcePath

        public String getResourcePath()
        Returns the path of the underlying repository item or the item to be created (PUT/MKCOL). If the resource exists but does not represent a repository item null is returned.
        Specified by:
        getResourcePath in interface org.apache.jackrabbit.webdav.DavResource
        Returns:
        path of the underlying repository item.
        See Also:
        DavResource.getResourcePath(), DavResourceLocator.getResourcePath()
      • getHref

        public String getHref()
        Specified by:
        getHref in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getHref(), DavResourceLocator.getHref(boolean)
      • getPropertyNames

        public org.apache.jackrabbit.webdav.property.DavPropertyName[] getPropertyNames()
        Specified by:
        getPropertyNames in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getPropertyNames()
      • getProperties

        public org.apache.jackrabbit.webdav.property.DavPropertySet getProperties()
        Specified by:
        getProperties in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getProperties()
      • removeProperty

        public void removeProperty​(org.apache.jackrabbit.webdav.property.DavPropertyName propertyName)
                            throws org.apache.jackrabbit.webdav.DavException
        Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        Specified by:
        removeProperty in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        propertyName -
        Throws:
        org.apache.jackrabbit.webdav.DavException - Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        See Also:
        DavResource.removeProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
      • move

        public void move​(org.apache.jackrabbit.webdav.DavResource destination)
                  throws org.apache.jackrabbit.webdav.DavException
        Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        Specified by:
        move in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        destination -
        Throws:
        org.apache.jackrabbit.webdav.DavException - Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        See Also:
        DavResource.move(org.apache.jackrabbit.webdav.DavResource)
      • copy

        public void copy​(org.apache.jackrabbit.webdav.DavResource destination,
                         boolean shallow)
                  throws org.apache.jackrabbit.webdav.DavException
        Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        Specified by:
        copy in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        destination -
        shallow -
        Throws:
        org.apache.jackrabbit.webdav.DavException - Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
        See Also:
        DavResource.copy(org.apache.jackrabbit.webdav.DavResource, boolean)
      • isLockable

        public boolean isLockable​(org.apache.jackrabbit.webdav.lock.Type type,
                                  org.apache.jackrabbit.webdav.lock.Scope scope)
        Returns true, if the SupportedLock property contains an entry with the given type and scope. By default resources allow for transaction lock only.
        Specified by:
        isLockable in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        type -
        scope -
        Returns:
        true if this resource may be locked by the given type and scope.
        See Also:
        DavResource.isLockable(org.apache.jackrabbit.webdav.lock.Type, org.apache.jackrabbit.webdav.lock.Scope)
      • hasLock

        public boolean hasLock​(org.apache.jackrabbit.webdav.lock.Type type,
                               org.apache.jackrabbit.webdav.lock.Scope scope)
        Returns true if this resource has a lock applied with the given type and scope.
        Specified by:
        hasLock in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        type -
        scope -
        Returns:
        true if this resource has a lock applied with the given type and scope.
        See Also:
        DavResource.hasLock(Type, Scope)
      • getLock

        public org.apache.jackrabbit.webdav.lock.ActiveLock getLock​(org.apache.jackrabbit.webdav.lock.Type type,
                                                                    org.apache.jackrabbit.webdav.lock.Scope scope)
        Specified by:
        getLock in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getLock(Type, Scope)
      • getLocks

        public org.apache.jackrabbit.webdav.lock.ActiveLock[] getLocks()
        Specified by:
        getLocks in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        todo improve....
      • lock

        public org.apache.jackrabbit.webdav.lock.ActiveLock lock​(org.apache.jackrabbit.webdav.lock.LockInfo reqLockInfo)
                                                          throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        lock in interface org.apache.jackrabbit.webdav.DavResource
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        DavResource.lock(org.apache.jackrabbit.webdav.lock.LockInfo)
      • refreshLock

        public org.apache.jackrabbit.webdav.lock.ActiveLock refreshLock​(org.apache.jackrabbit.webdav.lock.LockInfo info,
                                                                        String lockToken)
                                                                 throws org.apache.jackrabbit.webdav.DavException
        Only transaction lock may be available on this resource.
        Specified by:
        refreshLock in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        info -
        lockToken -
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        DavResource.refreshLock(org.apache.jackrabbit.webdav.lock.LockInfo, String)
      • unlock

        public void unlock​(String lockToken)
                    throws org.apache.jackrabbit.webdav.DavException
        Throws HttpServletResponse.SC_METHOD_NOT_ALLOWED since only transaction locks may be present on this resource, that need to be released by calling TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo).
        Specified by:
        unlock in interface org.apache.jackrabbit.webdav.DavResource
        Parameters:
        lockToken -
        Throws:
        org.apache.jackrabbit.webdav.DavException - Always throws HttpServletResponse.SC_METHOD_NOT_ALLOWED
      • addLockManager

        public void addLockManager​(org.apache.jackrabbit.webdav.lock.LockManager lockMgr)
        Specified by:
        addLockManager in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.addLockManager(org.apache.jackrabbit.webdav.lock.LockManager)
      • getFactory

        public org.apache.jackrabbit.webdav.DavResourceFactory getFactory()
        Specified by:
        getFactory in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getFactory()
      • getSession

        public org.apache.jackrabbit.webdav.DavSession getSession()
        Specified by:
        getSession in interface org.apache.jackrabbit.webdav.DavResource
        See Also:
        DavResource.getSession(), DavResource.getSession()
      • init

        public void init​(org.apache.jackrabbit.webdav.transaction.TxLockManager txMgr,
                         String transactionId)
        Specified by:
        init in interface org.apache.jackrabbit.webdav.transaction.TransactionResource
        See Also:
        TransactionResource.init(TxLockManager, String)
      • unlock

        public void unlock​(String lockToken,
                           org.apache.jackrabbit.webdav.transaction.TransactionInfo tInfo)
                    throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        unlock in interface org.apache.jackrabbit.webdav.transaction.TransactionResource
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
      • getTransactionId

        public String getTransactionId()
        Specified by:
        getTransactionId in interface org.apache.jackrabbit.webdav.transaction.TransactionResource
        See Also:
        TransactionResource.getTransactionId()
      • getOptionResponse

        public org.apache.jackrabbit.webdav.version.OptionsResponse getOptionResponse​(org.apache.jackrabbit.webdav.version.OptionsInfo optionsInfo)
        Specified by:
        getOptionResponse in interface org.apache.jackrabbit.webdav.version.DeltaVResource
        Parameters:
        optionsInfo -
        Returns:
        object to be used in the OPTIONS response body or null
        See Also:
        DeltaVResource.getOptionResponse(org.apache.jackrabbit.webdav.version.OptionsInfo)
      • getReport

        public org.apache.jackrabbit.webdav.version.report.Report getReport​(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo)
                                                                     throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        getReport in interface org.apache.jackrabbit.webdav.version.DeltaVResource
        Parameters:
        reportInfo -
        Returns:
        the requested report
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        DeltaVResource.getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo)
      • addWorkspace

        public void addWorkspace​(org.apache.jackrabbit.webdav.DavResource workspace)
                          throws org.apache.jackrabbit.webdav.DavException
        The JCR api does not provide methods to create new workspaces. Calling addWorkspace on this resource will always fail.
        Specified by:
        addWorkspace in interface org.apache.jackrabbit.webdav.version.DeltaVResource
        Parameters:
        workspace -
        Throws:
        org.apache.jackrabbit.webdav.DavException - Always throws.
        See Also:
        DeltaVResource.addWorkspace(org.apache.jackrabbit.webdav.DavResource)
      • getReferenceResources

        public org.apache.jackrabbit.webdav.DavResource[] getReferenceResources​(org.apache.jackrabbit.webdav.property.DavPropertyName hrefPropertyName)
                                                                         throws org.apache.jackrabbit.webdav.DavException
        Return an array of DavResource objects that are referenced by the property with the specified name.
        Specified by:
        getReferenceResources in interface org.apache.jackrabbit.webdav.version.DeltaVResource
        Parameters:
        hrefPropertyName -
        Returns:
        array of DavResources
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        DeltaVResource.getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName)
      • getQueryGrammerSet

        public org.apache.jackrabbit.webdav.search.QueryGrammerSet getQueryGrammerSet()
        Specified by:
        getQueryGrammerSet in interface org.apache.jackrabbit.webdav.search.SearchResource
        Returns:
        See Also:
        SearchResource.getQueryGrammerSet()
      • search

        public org.apache.jackrabbit.webdav.MultiStatus search​(org.apache.jackrabbit.webdav.search.SearchInfo sInfo)
                                                        throws org.apache.jackrabbit.webdav.DavException
        Specified by:
        search in interface org.apache.jackrabbit.webdav.search.SearchResource
        Parameters:
        sInfo -
        Returns:
        Throws:
        org.apache.jackrabbit.webdav.DavException
        See Also:
        SearchResource.search(org.apache.jackrabbit.webdav.search.SearchInfo)
      • createResourceFromLocator

        protected org.apache.jackrabbit.webdav.DavResource createResourceFromLocator​(org.apache.jackrabbit.webdav.DavResourceLocator loc)
                                                                              throws org.apache.jackrabbit.webdav.DavException
        Create a new DavResource from the given locator.
        Parameters:
        loc -
        Returns:
        new DavResource
        Throws:
        org.apache.jackrabbit.webdav.DavException
      • getLocatorFromItemPath

        protected org.apache.jackrabbit.webdav.DavResourceLocator getLocatorFromItemPath​(String itemPath)
        Build a DavResourceLocator from the given itemPath path.
        Parameters:
        itemPath -
        Returns:
        a new DavResourceLocator
        See Also:
        DavLocatorFactory.createResourceLocator(String, String, String)
      • getLocatorFromItem

        protected org.apache.jackrabbit.webdav.DavResourceLocator getLocatorFromItem​(Item repositoryItem)
        Build a new DavResourceLocator from the given repository item.
        Parameters:
        repositoryItem -
        Returns:
        a new locator for the specified item.
        See Also:
        getLocatorFromItemPath(String)
      • getRepositorySession

        protected Session getRepositorySession()
        Shortcut for getSession().getRepositorySession()
        Returns:
        repository session present in the AbstractResource.session.
      • getCreatorDisplayName

        protected String getCreatorDisplayName()
        Returns the display name of the creator which is used for the protected DeltaVConstants.CREATOR_DISPLAYNAME property.
        Returns:
        always null; subclasses may provide a regular value.
      • getCreationDate

        protected String getCreationDate()
        Returns the creation date which is used for the DavPropertyName.CREATIONDATE property.
        Returns:
        a dummy date; subclasses may provide a reasonable value.
      • normalizeResourceHref

        protected String normalizeResourceHref​(String href)
        Normalize the resource href. For example, remove contextPath prefix if found.
        Parameters:
        href - resource href
        Returns:
        normalized resource href