org.exist.atom.modules
Class AtomProtocol

java.lang.Object
  extended by org.exist.atom.modules.AtomModuleBase
      extended by org.exist.atom.modules.AtomFeeds
          extended by org.exist.atom.modules.AtomProtocol
All Implemented Interfaces:
Atom, AtomModule

public class AtomProtocol
extends AtomFeeds
implements Atom


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.exist.atom.AtomModule
AtomModule.Context
 
Field Summary
static java.lang.String ENTRY_COLLECTION_NAME
           
static XmldbURI ENTRY_COLLECTION_URI
           
static java.lang.String FEED_DOCUMENT_NAME
           
static XmldbURI FEED_DOCUMENT_URI
           
protected static org.apache.log4j.Logger LOG
           
 
Fields inherited from class org.exist.atom.modules.AtomModuleBase
context
 
Fields inherited from interface org.exist.atom.Atom
ENTRY, FEED, MIME_TYPE, NAMESPACE, NAMESPACE_STRING, PUBLISHED, SUMMARY, TITLE, UPDATED
 
Constructor Summary
AtomProtocol()
          Creates a new instance of AtomProtocol
 
Method Summary
 void doDelete(DBBroker broker, IncomingMessage request, OutgoingMessage response)
           
 void doPost(DBBroker broker, IncomingMessage request, OutgoingMessage response)
           
 void doPut(DBBroker broker, IncomingMessage request, OutgoingMessage response)
           
protected  XmldbURI entryURI(java.lang.String uuid)
           
protected  org.w3c.dom.Element findLink(org.w3c.dom.Element parent, java.lang.String rel)
           
static org.w3c.dom.Element generateMediaEntry(java.lang.String id, java.lang.String created, java.lang.String title, java.lang.String filename, java.lang.String mimeType)
           
 void mergeEntry(Txn transaction, ElementImpl target, org.w3c.dom.Element source, java.lang.String updated)
           
 void mergeFeed(DBBroker broker, Txn transaction, ElementImpl target, org.w3c.dom.Element source, java.lang.String updated)
           
protected  void setPermissions(DBBroker broker, org.w3c.dom.Element parent, Collection collection)
          Apply permissions to a collection.
protected  void setPermissions(DBBroker broker, org.w3c.dom.Element parent, DocumentImpl resource)
           
 
Methods inherited from class org.exist.atom.modules.AtomFeeds
doGet, doHead, getEntryById, getFeed, handleGet
 
Methods inherited from class org.exist.atom.modules.AtomModuleBase
getContext, init, process, storeInTemporaryFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

protected static final org.apache.log4j.Logger LOG

FEED_DOCUMENT_NAME

public static final java.lang.String FEED_DOCUMENT_NAME
See Also:
Constant Field Values

ENTRY_COLLECTION_NAME

public static final java.lang.String ENTRY_COLLECTION_NAME
See Also:
Constant Field Values

FEED_DOCUMENT_URI

public static final XmldbURI FEED_DOCUMENT_URI

ENTRY_COLLECTION_URI

public static final XmldbURI ENTRY_COLLECTION_URI
Constructor Detail

AtomProtocol

public AtomProtocol()
Creates a new instance of AtomProtocol

Method Detail

doPost

public void doPost(DBBroker broker,
                   IncomingMessage request,
                   OutgoingMessage response)
            throws BadRequestException,
                   PermissionDeniedException,
                   NotFoundException,
                   EXistException
Overrides:
doPost in class AtomModuleBase
Throws:
BadRequestException
PermissionDeniedException
NotFoundException
EXistException

doPut

public void doPut(DBBroker broker,
                  IncomingMessage request,
                  OutgoingMessage response)
           throws BadRequestException,
                  PermissionDeniedException,
                  NotFoundException,
                  EXistException
Overrides:
doPut in class AtomModuleBase
Throws:
BadRequestException
PermissionDeniedException
NotFoundException
EXistException

doDelete

public void doDelete(DBBroker broker,
                     IncomingMessage request,
                     OutgoingMessage response)
              throws BadRequestException,
                     PermissionDeniedException,
                     NotFoundException,
                     EXistException,
                     java.io.IOException,
                     TriggerException
Overrides:
doDelete in class AtomModuleBase
Throws:
BadRequestException
PermissionDeniedException
NotFoundException
EXistException
java.io.IOException
TriggerException

mergeEntry

public void mergeEntry(Txn transaction,
                       ElementImpl target,
                       org.w3c.dom.Element source,
                       java.lang.String updated)

mergeFeed

public void mergeFeed(DBBroker broker,
                      Txn transaction,
                      ElementImpl target,
                      org.w3c.dom.Element source,
                      java.lang.String updated)

findLink

protected org.w3c.dom.Element findLink(org.w3c.dom.Element parent,
                                       java.lang.String rel)

setPermissions

protected void setPermissions(DBBroker broker,
                              org.w3c.dom.Element parent,
                              Collection collection)
                       throws LockException,
                              PermissionDeniedException,
                              EXistException
Apply permissions to a collection. Owner, owner group and access permissions can be set when creating a new feed by passing an element <exist:permissions> in the document, e.g.:
<exist:permissions mode="0775" owner="editor" group="users"/>

Throws:
LockException
PermissionDeniedException
EXistException

setPermissions

protected void setPermissions(DBBroker broker,
                              org.w3c.dom.Element parent,
                              DocumentImpl resource)
                       throws LockException,
                              PermissionDeniedException,
                              EXistException
Throws:
LockException
PermissionDeniedException
EXistException

entryURI

protected XmldbURI entryURI(java.lang.String uuid)

generateMediaEntry

public static org.w3c.dom.Element generateMediaEntry(java.lang.String id,
                                                     java.lang.String created,
                                                     java.lang.String title,
                                                     java.lang.String filename,
                                                     java.lang.String mimeType)
                                              throws javax.xml.parsers.ParserConfigurationException
Throws:
javax.xml.parsers.ParserConfigurationException