Class CaldavBWIntf

  • All Implemented Interfaces:
    Serializable, org.bedework.util.logging.Logged

    public class CaldavBWIntf
    extends org.bedework.webdav.servlet.shared.WebdavNsIntf
    This class implements a namespace interface for the webdav abstract servlet. One of these interfaces is associated with each current session.

    As a first pass we'll define webdav urls as starting with
    /user/user-name/calendar-name/

    uri resolution should be made part of the core calendar allowing all such distinctions to be removed from this code.

    The part following the above prefix probably determines exactly what is delivered. We may want the entire calendar (or what we show by default) or a single event from the calendar

    Author:
    Mike Douglass douglm rpi.edu
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.bedework.webdav.servlet.shared.WebdavNsIntf

        org.bedework.webdav.servlet.shared.WebdavNsIntf.AclInfo, org.bedework.webdav.servlet.shared.WebdavNsIntf.Content, org.bedework.webdav.servlet.shared.WebdavNsIntf.PutContentResult, org.bedework.webdav.servlet.shared.WebdavNsIntf.SessCt
    • Field Summary

      • Fields inherited from class org.bedework.webdav.servlet.shared.WebdavNsIntf

        account, anonymous, dumpContent, existanceDoesExist, existanceMay, existanceMust, existanceNot, methods, nodeTypeCollection, nodeTypeEntity, nodeTypePrincipal, nodeTypeUnknown, servlet, session, sessNum, xml
    • Constructor Summary

      Constructors 
      Constructor Description
      CaldavBWIntf()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void acceptMkcolContent​(javax.servlet.http.HttpServletRequest req)  
      void addNamespace​(org.bedework.util.xml.XmlEmit xml)  
      boolean canPut​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      void close()  
      void copyMove​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, org.bedework.webdav.servlet.shared.WebdavNsNode from, org.bedework.webdav.servlet.shared.WebdavNsNode to, boolean copy, boolean overwrite, int depth)  
      void create​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      void createAlias​(org.bedework.webdav.servlet.shared.WebdavNsNode alias)  
      void delete​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      void emitAcl​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      void emitError​(QName errorTag, String extra, org.bedework.util.xml.XmlEmit xml)  
      boolean generatePropValue​(org.bedework.webdav.servlet.shared.WebdavNsNode node, org.bedework.webdav.servlet.shared.WebdavProperty pr, boolean allProp)  
      String getAcceptContentType​(javax.servlet.http.HttpServletRequest req)  
      boolean getAccessControl()  
      org.bedework.webdav.servlet.common.AccessUtil getAccessUtil()  
      Collection<String> getAclPrincipalInfo​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      SynchConnectionsMBean getActiveConnections()  
      String getAddMemberSuffix()  
      org.bedework.webdav.servlet.shared.WebdavNsIntf.Content getBinaryContent​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      boolean getCalWS()  
      void getCalWSProperties​(CaldavBwNode node, List<org.oasis_open.docs.ws_calendar.ns.soap.GetPropertiesBasePropertyType> props)  
      Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> getChildren​(org.bedework.webdav.servlet.shared.WebdavNsNode node, Supplier<Object> filterGetter)  
      org.bedework.webdav.servlet.shared.WebdavNsIntf.Content getContent​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, String contentType, org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      String getDavHeader​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      boolean getDirectoryBrowsingDisallowed()  
      void getFreeBusy​(CaldavCalNode cnode, FreeBusyQuery freeBusy, int depth)
      The node represents a calendar resource for which we must get free-busy information.
      Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> getGroups​(String resourceUri, String principalUrl)  
      static org.bedework.util.jmx.ManagementContext getManagementContext()  
      org.bedework.webdav.servlet.shared.WebdavNsNode getNode​(String uri, int existence, int nodeType, boolean addMember)  
      boolean getNotifyWs()
      Get the notify web service flag
      org.bedework.webdav.servlet.shared.WebdavNsNode getParent​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      Collection<String> getPrincipalCollectionSet​(String resourceUri)  
      Collection<org.bedework.webdav.servlet.shared.WebdavPrincipalNode> getPrincipals​(String resourceUri, org.bedework.webdav.servlet.shared.PrincipalPropertySearch pps)  
      org.bedework.webdav.servlet.shared.serverInfo.ServerInfo getServerInfo()  
      String getSupportedLocks()  
      org.bedework.webdav.servlet.shared.WdSynchReport getSynchReport​(String path, String token, int limit, boolean recurse)  
      boolean getSynchWs()
      Get the synch web service flag
      String getSyncToken​(String path)  
      SysIntf getSysi()  
      org.bedework.webdav.servlet.shared.WdSysIntf getSysIntf()  
      org.oasis_open.docs.ns.xri.xrd_1.XRDType getXRD​(CaldavBwNode node)  
      void init​(org.bedework.webdav.servlet.common.WebdavServlet servlet, javax.servlet.http.HttpServletRequest req, HashMap<String,​org.bedework.webdav.servlet.common.MethodBase.MethodInfo> methods, boolean dumpContent)
      Called before any other method is called to allow initialization to take place at the first or subsequent requests
      boolean knownProperty​(org.bedework.webdav.servlet.shared.WebdavNsNode node, org.bedework.webdav.servlet.shared.WebdavProperty pr)  
      void makeCollection​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, org.bedework.webdav.servlet.shared.WebdavNsNode node)
      Create an empty collection at the given location.
      org.bedework.webdav.servlet.shared.WebdavProperty makeProp​(Element propnode)
      Override this to create namespace specific property objects.
      String makeUserHref​(String id)  
      boolean prefetch​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      org.bedework.webdav.servlet.shared.WebdavNsIntf.PutContentResult putBinaryContent​(javax.servlet.http.HttpServletRequest req, org.bedework.webdav.servlet.shared.WebdavNsNode node, String[] contentTypePars, InputStream contentStream, org.bedework.webdav.servlet.common.Headers.IfHeaders ifHeaders)  
      org.bedework.webdav.servlet.shared.WebdavNsIntf.PutContentResult putContent​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, org.bedework.webdav.servlet.shared.WebdavNsNode node, String[] contentTypePars, Reader contentRdr, org.bedework.webdav.servlet.common.Headers.IfHeaders ifHeaders)  
      boolean putEvent​(javax.servlet.http.HttpServletResponse resp, CaldavComponentNode bwnode, ietf.params.xml.ns.icalendar_2.IcalendarType ical, boolean create, boolean noInvites, String ifStag, String ifEtag)  
      void putNode​(org.bedework.webdav.servlet.shared.WebdavNsNode node)  
      Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> query​(org.bedework.webdav.servlet.shared.WebdavNsNode wdnode, List<String> retrieveList, RetrievalMode retrieveRecur, ietf.params.xml.ns.caldav.FilterType fltr)
      Use the given query to return a collection of nodes.
      void reAuth​(javax.servlet.http.HttpServletRequest req, String account, boolean service, String opaqueData)
      See if we can reauthenticate.
      static void registerMbean​(ObjectName key, Object bean)  
      void rollback()  
      boolean specialUri​(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, String resourceUri)  
      static void unregister​(ObjectName key)  
      void updateAccess​(org.bedework.webdav.servlet.shared.WebdavNsIntf.AclInfo info)  
      void updateAccess​(org.bedework.webdav.servlet.shared.WebdavNsIntf.AclInfo info, CaldavBwNode node)  
      • Methods inherited from class org.bedework.webdav.servlet.shared.WebdavNsIntf

        addStatus, closePropstat, closePropstat, emitSupportedReportSet, fixPath, generateHtml, getAccount, getAnonymous, getChildren, getElementContent, getLocation, getLogger, getMethod, getMethodNames, getOnlyChild, getReader, getRequest, getResourceUri, getReturnMultistatusOk, getServlet, getUri, getXmlEmit, makeName, makeServerInfoUrl, normalizeUri, openPropstat, parseProp, putContent, streamContent, syncTokenMatch, writeContent
      • Methods inherited from interface org.bedework.util.logging.Logged

        audit, debug, debug, enableAuditLogger, enableErrorLogger, enableMetricsLogger, error, error, error, getLogLevel, info, isAuditLoggerEnabled, isErrorLoggerEnabled, isMetricsDebugEnabled, isMetricsLoggerEnabled, metrics, setLoggerClass, setLoggerClass, trace, trace, warn
    • Constructor Detail

      • CaldavBWIntf

        public CaldavBWIntf()
    • Method Detail

      • registerMbean

        public static void registerMbean​(ObjectName key,
                                         Object bean)
      • unregister

        public static void unregister​(ObjectName key)
        Parameters:
        key - bean objectname
      • getManagementContext

        public static org.bedework.util.jmx.ManagementContext getManagementContext()
        Returns:
        the management context.
      • init

        public void init​(org.bedework.webdav.servlet.common.WebdavServlet servlet,
                         javax.servlet.http.HttpServletRequest req,
                         HashMap<String,​org.bedework.webdav.servlet.common.MethodBase.MethodInfo> methods,
                         boolean dumpContent)
                  throws org.bedework.webdav.servlet.shared.WebdavException
        Called before any other method is called to allow initialization to take place at the first or subsequent requests
        Overrides:
        init in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Parameters:
        servlet - calling servlet
        req - http request
        methods - HashMap table of method info
        dumpContent - true if we dump content
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • reAuth

        public void reAuth​(javax.servlet.http.HttpServletRequest req,
                           String account,
                           boolean service,
                           String opaqueData)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        See if we can reauthenticate. Use for real-time service which needs to authenticate as a particular principal.
        Parameters:
        req - http request
        account - to reinit as
        service - - true if this is a service call - e.g. iSchedule - rather than a real user.
        opaqueData - - possibly from headers
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getCalWS

        public boolean getCalWS()
        Returns:
        boolean
      • getSynchWs

        public boolean getSynchWs()
        Get the synch web service flag
        Returns:
        true if it's a synch service
      • getNotifyWs

        public boolean getNotifyWs()
        Get the notify web service flag
        Returns:
        true if it's a notify service
      • getDavHeader

        public String getDavHeader​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Overrides:
        getDavHeader in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getServerInfo

        public org.bedework.webdav.servlet.shared.serverInfo.ServerInfo getServerInfo()
        Overrides:
        getServerInfo in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • emitError

        public void emitError​(QName errorTag,
                              String extra,
                              org.bedework.util.xml.XmlEmit xml)
        Overrides:
        emitError in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • getAccessUtil

        public org.bedework.webdav.servlet.common.AccessUtil getAccessUtil()
        Specified by:
        getAccessUtil in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • canPut

        public boolean canPut​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                       throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        canPut in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getAddMemberSuffix

        public String getAddMemberSuffix()
        Specified by:
        getAddMemberSuffix in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • getDirectoryBrowsingDisallowed

        public boolean getDirectoryBrowsingDisallowed()
                                               throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getDirectoryBrowsingDisallowed in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • rollback

        public void rollback()
        Specified by:
        rollback in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • close

        public void close()
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        close in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getSysIntf

        public org.bedework.webdav.servlet.shared.WdSysIntf getSysIntf()
        Specified by:
        getSysIntf in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • getSysi

        public SysIntf getSysi()
        Returns:
        SysIntf
      • getSupportedLocks

        public String getSupportedLocks()
        Specified by:
        getSupportedLocks in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • getAccessControl

        public boolean getAccessControl()
        Specified by:
        getAccessControl in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • addNamespace

        public void addNamespace​(org.bedework.util.xml.XmlEmit xml)
        Overrides:
        addNamespace in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • getNode

        public org.bedework.webdav.servlet.shared.WebdavNsNode getNode​(String uri,
                                                                       int existence,
                                                                       int nodeType,
                                                                       boolean addMember)
                                                                throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getNode in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • putNode

        public void putNode​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
        Specified by:
        putNode in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • delete

        public void delete​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        delete in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getChildren

        public Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> getChildren​(org.bedework.webdav.servlet.shared.WebdavNsNode node,
                                                                                       Supplier<Object> filterGetter)
                                                                                throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getChildren in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getParent

        public org.bedework.webdav.servlet.shared.WebdavNsNode getParent​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                                                                  throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getParent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • prefetch

        public boolean prefetch​(javax.servlet.http.HttpServletRequest req,
                                javax.servlet.http.HttpServletResponse resp,
                                org.bedework.webdav.servlet.shared.WebdavNsNode node)
                         throws org.bedework.webdav.servlet.shared.WebdavException
        Overrides:
        prefetch in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getContent

        public org.bedework.webdav.servlet.shared.WebdavNsIntf.Content getContent​(javax.servlet.http.HttpServletRequest req,
                                                                                  javax.servlet.http.HttpServletResponse resp,
                                                                                  String contentType,
                                                                                  org.bedework.webdav.servlet.shared.WebdavNsNode node)
                                                                           throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getContent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getBinaryContent

        public org.bedework.webdav.servlet.shared.WebdavNsIntf.Content getBinaryContent​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                                                                                 throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getBinaryContent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getAcceptContentType

        public String getAcceptContentType​(javax.servlet.http.HttpServletRequest req)
        Specified by:
        getAcceptContentType in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • putContent

        public org.bedework.webdav.servlet.shared.WebdavNsIntf.PutContentResult putContent​(javax.servlet.http.HttpServletRequest req,
                                                                                           javax.servlet.http.HttpServletResponse resp,
                                                                                           org.bedework.webdav.servlet.shared.WebdavNsNode node,
                                                                                           String[] contentTypePars,
                                                                                           Reader contentRdr,
                                                                                           org.bedework.webdav.servlet.common.Headers.IfHeaders ifHeaders)
                                                                                    throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        putContent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • putBinaryContent

        public org.bedework.webdav.servlet.shared.WebdavNsIntf.PutContentResult putBinaryContent​(javax.servlet.http.HttpServletRequest req,
                                                                                                 org.bedework.webdav.servlet.shared.WebdavNsNode node,
                                                                                                 String[] contentTypePars,
                                                                                                 InputStream contentStream,
                                                                                                 org.bedework.webdav.servlet.common.Headers.IfHeaders ifHeaders)
                                                                                          throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        putBinaryContent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • putEvent

        public boolean putEvent​(javax.servlet.http.HttpServletResponse resp,
                                CaldavComponentNode bwnode,
                                ietf.params.xml.ns.icalendar_2.IcalendarType ical,
                                boolean create,
                                boolean noInvites,
                                String ifStag,
                                String ifEtag)
                         throws org.bedework.webdav.servlet.shared.WebdavException
        Parameters:
        resp - http response
        bwnode - component node
        ical - ical object
        create - true for create
        noInvites - true for send no invites
        ifStag - schedule tag
        ifEtag - etag
        Returns:
        true for OK
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • create

        public void create​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        create in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • createAlias

        public void createAlias​(org.bedework.webdav.servlet.shared.WebdavNsNode alias)
                         throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        createAlias in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • acceptMkcolContent

        public void acceptMkcolContent​(javax.servlet.http.HttpServletRequest req)
                                throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        acceptMkcolContent in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • makeCollection

        public void makeCollection​(javax.servlet.http.HttpServletRequest req,
                                   javax.servlet.http.HttpServletResponse resp,
                                   org.bedework.webdav.servlet.shared.WebdavNsNode node)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Create an empty collection at the given location.
          201 (Created) - The calendar collection resource was created in its entirety.
          403 (Forbidden) - This indicates at least one of two conditions: 1) the
                  server does not allow the creation of calendar collections at the
                  given location in its namespace, or 2) the parent collection of the
                  Request-URI exists but cannot accept members.
          405 (Method Not Allowed) - MKCALENDAR can only be executed on a null resource.
          409 (Conflict) - A collection cannot be made at the Request-URI until one
                  or more intermediate collections have been created.
          415 (Unsupported Media Type)- The server does not support the request type
                  of the body.
          507 (Insufficient Storage) - The resource does not have sufficient space
                  to record the state of the resource after the execution of this method.
        Specified by:
        makeCollection in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Parameters:
        req - HttpServletRequest
        node - node to create
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException - on fatal error
      • copyMove

        public void copyMove​(javax.servlet.http.HttpServletRequest req,
                             javax.servlet.http.HttpServletResponse resp,
                             org.bedework.webdav.servlet.shared.WebdavNsNode from,
                             org.bedework.webdav.servlet.shared.WebdavNsNode to,
                             boolean copy,
                             boolean overwrite,
                             int depth)
                      throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        copyMove in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getCalWSProperties

        public void getCalWSProperties​(CaldavBwNode node,
                                       List<org.oasis_open.docs.ws_calendar.ns.soap.GetPropertiesBasePropertyType> props)
                                throws org.bedework.webdav.servlet.shared.WebdavException
        Parameters:
        node -
        props -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getXRD

        public org.oasis_open.docs.ns.xri.xrd_1.XRDType getXRD​(CaldavBwNode node)
                                                        throws org.bedework.webdav.servlet.shared.WebdavException
        Parameters:
        node -
        Returns:
        the XRD object for the node
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • specialUri

        public boolean specialUri​(javax.servlet.http.HttpServletRequest req,
                                  javax.servlet.http.HttpServletResponse resp,
                                  String resourceUri)
                           throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        specialUri in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getSynchReport

        public org.bedework.webdav.servlet.shared.WdSynchReport getSynchReport​(String path,
                                                                               String token,
                                                                               int limit,
                                                                               boolean recurse)
                                                                        throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getSynchReport in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getSyncToken

        public String getSyncToken​(String path)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getSyncToken in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getGroups

        public Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> getGroups​(String resourceUri,
                                                                                     String principalUrl)
                                                                              throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getGroups in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getPrincipalCollectionSet

        public Collection<String> getPrincipalCollectionSet​(String resourceUri)
                                                     throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getPrincipalCollectionSet in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getPrincipals

        public Collection<org.bedework.webdav.servlet.shared.WebdavPrincipalNode> getPrincipals​(String resourceUri,
                                                                                                org.bedework.webdav.servlet.shared.PrincipalPropertySearch pps)
                                                                                         throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getPrincipals in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • makeUserHref

        public String makeUserHref​(String id)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        makeUserHref in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • updateAccess

        public void updateAccess​(org.bedework.webdav.servlet.shared.WebdavNsIntf.AclInfo info)
                          throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        updateAccess in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • updateAccess

        public void updateAccess​(org.bedework.webdav.servlet.shared.WebdavNsIntf.AclInfo info,
                                 CaldavBwNode node)
                          throws org.bedework.webdav.servlet.shared.WebdavException
        Parameters:
        info -
        node -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • emitAcl

        public void emitAcl​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        emitAcl in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getAclPrincipalInfo

        public Collection<String> getAclPrincipalInfo​(org.bedework.webdav.servlet.shared.WebdavNsNode node)
                                               throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getAclPrincipalInfo in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • makeProp

        public org.bedework.webdav.servlet.shared.WebdavProperty makeProp​(Element propnode)
                                                                   throws org.bedework.webdav.servlet.shared.WebdavException
        Override this to create namespace specific property objects.
        Overrides:
        makeProp in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Parameters:
        propnode -
        Returns:
        WebdavProperty
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • knownProperty

        public boolean knownProperty​(org.bedework.webdav.servlet.shared.WebdavNsNode node,
                                     org.bedework.webdav.servlet.shared.WebdavProperty pr)
        Overrides:
        knownProperty in class org.bedework.webdav.servlet.shared.WebdavNsIntf
      • generatePropValue

        public boolean generatePropValue​(org.bedework.webdav.servlet.shared.WebdavNsNode node,
                                         org.bedework.webdav.servlet.shared.WebdavProperty pr,
                                         boolean allProp)
                                  throws org.bedework.webdav.servlet.shared.WebdavException
        Overrides:
        generatePropValue in class org.bedework.webdav.servlet.shared.WebdavNsIntf
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • query

        public Collection<org.bedework.webdav.servlet.shared.WebdavNsNode> query​(org.bedework.webdav.servlet.shared.WebdavNsNode wdnode,
                                                                                 List<String> retrieveList,
                                                                                 RetrievalMode retrieveRecur,
                                                                                 ietf.params.xml.ns.caldav.FilterType fltr)
                                                                          throws org.bedework.webdav.servlet.shared.WebdavException
        Use the given query to return a collection of nodes. An exception will be raised if the entire query fails for some reason (access, etc). An empty collection will be returned if no objects match.
        Parameters:
        wdnode - WebdavNsNode defining root of search
        retrieveList - If non-null limit required fields.
        retrieveRecur - How we retrieve recurring events
        fltr - Filter object defining search
        Returns:
        Collection of result nodes (empty for no result)
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getFreeBusy

        public void getFreeBusy​(CaldavCalNode cnode,
                                FreeBusyQuery freeBusy,
                                int depth)
                         throws org.bedework.webdav.servlet.shared.WebdavException
        The node represents a calendar resource for which we must get free-busy information.
        Parameters:
        cnode - CaldavCalNode
        freeBusy -
        depth -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException