Class CaldavBWIntf

java.lang.Object
org.bedework.webdav.servlet.shared.WebdavNsIntf
org.bedework.caldav.server.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:
  • 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
     
  • Method Summary

    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
     
    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)
     
    getAcceptContentType(javax.servlet.http.HttpServletRequest req)
     
    boolean
     
    org.bedework.webdav.servlet.common.AccessUtil
     
    getAclPrincipalInfo(org.bedework.webdav.servlet.shared.WebdavNsNode node)
     
     
     
    org.bedework.webdav.servlet.shared.WebdavNsIntf.Content
    getBinaryContent(org.bedework.webdav.servlet.shared.WebdavNsNode node)
     
    boolean
     
    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)
     
    getDavHeader(org.bedework.webdav.servlet.shared.WebdavNsNode node)
     
    boolean
     
    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
     
    org.bedework.webdav.servlet.shared.WebdavNsNode
    getNode(String uri, int existence, int nodeType, boolean addMember)
     
    boolean
    Get the notify web service flag
    org.bedework.webdav.servlet.shared.WebdavNsNode
    getParent(org.bedework.webdav.servlet.shared.WebdavNsNode node)
     
     
    Collection<org.bedework.webdav.servlet.shared.WebdavPrincipalNode>
    getPrincipals(String resourceUri, org.bedework.webdav.servlet.shared.PrincipalPropertySearch pps)
     
    org.bedework.webdav.servlet.shared.serverInfo.ServerInfo
     
     
    org.bedework.webdav.servlet.shared.WdSynchReport
    getSynchReport(String path, String token, int limit, boolean recurse)
     
    boolean
    Get the synch web service flag
     
     
    org.bedework.webdav.servlet.shared.WdSysIntf
     
    org.oasis_open.docs.ns.xri.xrd_1.XRDType
     
    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.
     
    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, 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, 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
     
    void
     
    boolean
    specialUri(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, String resourceUri)
     
    static void
     
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.bedework.util.logging.Logged

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

    • CaldavBWIntf

      public CaldavBWIntf()
  • Method Details

    • 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
    • getActiveConnections

      public SynchConnectionsMBean getActiveConnections() throws Throwable
      Throws:
      Throwable
    • 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, 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, 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