|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.w3c.tools.resources.AttributeHolder
org.w3c.tools.resources.Resource
org.w3c.tools.resources.FramedResource
org.w3c.tools.resources.ResourceFrame
org.w3c.tools.resources.ProtocolFrame
org.w3c.jigsaw.frames.HTTPFrame
org.w3c.jigsaw.frames.PostableFrame
org.w3c.jigsaw.webdav.DAVFrame
public class DAVFrame
| Field Summary | |
|---|---|
protected static int |
ATTR_CREATION_DATE
Attribute index - The index for the creation date attribute. |
protected static int |
ATTR_DEAD_PROPERTIES
Attribute index - The index for the dead properties |
protected static int |
ATTR_LOCK_DATE
Attribute index - The index for the lock date |
protected static int |
ATTR_LOCK_DEPTH
Attribute index - The index for the lock depth |
protected static int |
ATTR_LOCK_OWNER
Attribute index - The index for the lock owner |
protected static int |
ATTR_LOCK_TIMEOUT
Attribute index - The index for the lock token |
protected static int |
ATTR_LOCK_TOKEN
Attribute index - The index for the lock token |
protected static int |
ATTR_LOCK_USERNAME
Attribute index - The index for the lock username |
protected static HttpMimeType |
collectioncontenttype
|
static int |
COND_OK_LOCK
Condition check return code - Condition existed and succeeded. |
protected java.util.Hashtable |
deadindex
|
protected boolean |
deadpropmodified
|
static boolean |
debug
|
static boolean |
debugxml
|
static java.lang.Long |
DEFAULT_LOCK_TIMEOUT
|
static java.lang.String |
LOCK_EXPIRE
|
static java.lang.String |
LOCK_OWNER
|
static java.lang.String |
LOCK_TIMEOUT
|
static java.lang.String |
LOCK_TOKEN
|
static java.lang.String |
LOCK_USERNAME
|
static java.lang.String |
LOCKED_REREFENCE
|
protected DAVManager |
manager
The DAVManager we use. |
static java.lang.Long |
MAX_LOCK_TIMEOUT
|
protected org.w3c.dom.Node |
ownerNode
|
static java.lang.String |
REMAINING_PATH
Name ot the state to hold the remaining path (used with MKCOL) |
protected static HttpMimeType |
xmlcontenttype
Cached mime type |
| Fields inherited from class org.w3c.jigsaw.frames.PostableFrame |
|---|
ATTR_CONVERT_GET, ATTR_OVERIDE |
| Fields inherited from class org.w3c.jigsaw.frames.HTTPFrame |
|---|
acceptRanges, allowed, ATTR_ALLOW_DEL, ATTR_BROWSABLE, ATTR_CHARSET, ATTR_CONTENT_ENCODING, ATTR_CONTENT_LANGUAGE, ATTR_CONTENT_LENGTH, ATTR_CONTENT_TYPE, ATTR_ICON, ATTR_ICONDIR, ATTR_INDEX, ATTR_INDEXES, ATTR_MAXAGE, ATTR_MD5, ATTR_PUTABLE, ATTR_QUALITY, ATTR_RELOCATE, ATTR_STYLE_LINK, ATTR_TITLE, browsetype, COND_FAILED, COND_OK, COND_WEAK, dresource, fresource, listing, listing_stamp, STATE_CONTENT_LOCATION |
| Fields inherited from class org.w3c.tools.resources.ResourceFrame |
|---|
filterClass, frameListener, resource |
| Fields inherited from class org.w3c.tools.resources.FramedResource |
|---|
ATTR_OID, attrListener, debugEvent, event_disabled, framesRef, structListener |
| Fields inherited from class org.w3c.tools.resources.Resource |
|---|
ATTR_CONTEXT, ATTR_HELP_URL, ATTR_IDENTIFIER, ATTR_LAST_MODIFIED, ATTR_PARENT, ATTR_RESOURCE_FRAMES, ATTR_STORE_ENTRY, ATTR_URL, co, id |
| Fields inherited from class org.w3c.tools.resources.AttributeHolder |
|---|
attributes, values |
| Constructor Summary | |
|---|---|
DAVFrame()
|
|
| Method Summary | |
|---|---|
protected static boolean |
acceptRedirect(DAVRequest request)
|
protected void |
addContentLanguage(DAVProperties props)
|
protected void |
addContentLength(DAVProperties props)
|
protected void |
addContentType(DAVProperties props)
|
protected void |
addCreationDate(DAVProperties props)
|
protected void |
addDisplayName(DAVProperties props)
|
protected void |
addETag(DAVProperties props)
|
protected void |
addIsCollection(DAVProperties props)
|
protected void |
addLastModified(DAVProperties props)
|
protected void |
addLockDiscovery(DAVRequest request,
DAVProperties prop)
|
protected void |
addLockDiscovery(DAVRequest request,
org.w3c.dom.Node parent)
|
protected void |
addResourceType(DAVProperties props)
|
protected void |
addSupportedLock(DAVProperties prop)
|
protected int |
checkIf(DAVRequest request)
Check the If condition of that request. |
protected boolean |
checkLockOwner(DAVRequest request)
|
protected void |
closeInternalReply(DAVReply reply)
|
protected java.net.URL |
computeDestURL(java.net.URL parent,
DAVFrame df)
|
Reply |
copy(DAVRequest request)
Handle the COPY request. |
protected Reply |
copyCollection(java.net.URL destination,
DAVRequest request,
boolean overwrite)
Handle the COPY request for a collection |
protected Reply |
copyCollection(java.net.URL destination,
DAVRequest request,
boolean overwrite,
DAVBody body,
org.w3c.dom.Document document)
|
protected DAVReply |
copyDAVResource(DAVRequest req,
java.net.URL source,
java.net.URL destination,
DAVBody body)
|
protected void |
copyProperties(DAVRequest req,
java.net.URL destination,
DAVBody body)
|
protected Reply |
copyResource(java.net.URL dst,
DAVRequest request,
boolean overwrite)
Handle the COPY request for a simple resource (not a collection) |
protected Reply |
createDAVReply(DAVRequest request,
int status,
org.w3c.dom.Document document)
Create a DAV reply for a specific DAV request. |
protected DAVRequest |
createInternalRequest(DAVRequest req,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers)
|
protected DAVRequest |
createInternalRequest(DAVRequest request,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers,
org.w3c.dom.Document document)
|
protected DAVRequest |
createInternalRequest(DAVRequest req,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers,
java.io.InputStream in)
|
protected DAVRequest |
createRequest(DAVRequest request,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers)
|
protected DAVRequest |
createRequest(DAVRequest request,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers,
org.w3c.dom.Document document)
|
protected DAVRequest |
createRequest(DAVRequest req,
java.lang.String mtd,
java.net.URL url,
java.util.Hashtable headers,
java.io.InputStream in)
|
Reply |
davextended(DAVRequest request)
|
protected java.lang.String |
decodeURL(DAVRequest request,
java.lang.String encoded)
|
Reply |
delete(Request request)
The WEBDAV DELETE method, actually the resource (file, directory) is moved into the trash directory which is not accessible via HTTP. |
protected Reply |
dupReply(DAVRequest request,
DAVReply rep,
boolean created)
Kind of proxying the reply but only for headers. |
Reply |
extended(Request request)
The handler for unknown method replies with a not implemented. |
Reply |
get(Request request)
Get this resource body. |
protected HttpTokenList |
getAllow()
get the Allowed methods for this resource |
protected DAVBody |
getBody(DAVRequest request)
|
protected DAVResponse[] |
getChildResponses(DAVRequest request,
DAVPropFind dpf,
org.w3c.dom.Document document,
boolean deep)
Get an appropriate DAV Response to the given PROPFIND request from our children |
long |
getCreationDate()
Get this resource creation date |
protected int |
getCurrentLockDepth()
Get the lock depth |
protected org.w3c.dom.Node |
getCurrentLockOwner(DAVRequest request)
Get the lock owner |
protected long |
getCurrentLockTimeout(DAVRequest request)
|
protected java.lang.String |
getCurrentLockToken(DAVRequest request)
Get the lock token |
protected java.lang.String |
getCurrentLockUsername(DAVRequest request)
Get the username of the client that lock the resource |
ArrayDictionary |
getDeadProperties()
Get the dead properties |
protected java.util.Hashtable |
getDeadPropertiesIndex()
|
protected java.lang.String |
getNewLockToken()
|
protected DAVProperties |
getProperties(DAVRequest request,
org.w3c.dom.Document doc)
Get all the properties of our associated resource. |
protected DAVProperties |
getProperties(DAVRequest request,
org.w3c.dom.Document doc,
DAVProperties dp)
Get the properties of our associated resource require in the given DAVProperties Object. |
protected DAVProperties |
getPropertiesForCopy(org.w3c.dom.Document doc)
|
protected DAVProperties |
getPropNames(DAVRequest request,
org.w3c.dom.Document doc)
Get all the property names of our associated resource. |
protected DAVPropStat[] |
getPropStat(DAVRequest request,
org.w3c.dom.Document doc,
DAVProperties dp)
|
protected DAVResponse |
getResponse(DAVRequest request,
DAVPropFind dpf,
org.w3c.dom.Document document)
Get an appropriate DAV Response to the given PROPFIND request |
protected java.lang.String |
getStatusLine(int status)
|
protected long |
getTokenExpirationDate(DAVRequest request)
Get the lock token expiration date |
protected boolean |
hasIntProperty(int idx)
|
protected boolean |
hasLongProperty(int idx)
|
protected boolean |
hasProperty(int idx)
|
protected boolean |
hasStringProperty(int idx)
|
void |
initialize(java.lang.Object[] values)
Initialize the frames of that framed resource. |
protected Reply |
internalCopyCollection(java.net.URL destination,
DAVRequest request,
boolean overwrite,
DAVBody body,
org.w3c.dom.Document document)
|
protected DAVReply |
internalCopyDAVResource(DAVRequest req,
java.net.URL source,
java.net.URL destination,
DAVBody body)
|
protected void |
internalCopyProperties(DAVRequest req,
java.net.URL destination,
DAVBody body)
|
protected Reply |
internalCopyResource(java.net.URL dst,
DAVRequest request,
boolean overwrite)
Handle the COPY request for a simple resource (not a collection) |
boolean |
isCollection()
|
protected boolean |
isLockable(DAVRequest request)
|
protected boolean |
isLocked(DAVRequest request)
Check if this resource or one of their parent (with depth equals to infinity) has been locked |
protected static boolean |
isReadOnly(java.lang.String propname)
|
Reply |
lock(DAVRequest request)
Handle the LOCK request. |
protected void |
lock(java.lang.String token,
int depth,
java.lang.String[] timeouts,
java.lang.String username,
org.w3c.dom.Node owner)
lock this resource |
protected boolean |
lookupDirectory(LookupState ls,
LookupResult lr)
Lookup the target resource when associated with a DirectoryResource. |
protected boolean |
lookupResource(LookupState ls,
LookupResult lr)
Lookup the target resource (dispath to more specific lookup methods). |
protected boolean |
matchETag(HttpEntityTag retag)
|
protected boolean |
matchLockToken(DAVRequest request,
java.lang.String locktoken)
|
Reply |
mkcol(DAVRequest request)
Handle the MKCOL request. |
Reply |
move(DAVRequest request)
Handle the MOVE request. |
Reply |
options(Request request)
The WEBDAV OPTIONS method replies with the DAV Header |
ReplyInterface |
perform(RequestInterface req)
Perform the request |
Reply |
post(Request request)
Perform the post method. |
Reply |
propfind(DAVRequest request)
Handle the PROPFIND request. |
Reply |
proppatch(DAVRequest request)
Handle the PROPPATCH request. |
Reply |
put(Request request)
The WEBDAV PUT method. |
protected void |
refreshLock(java.lang.String[] timeouts)
|
void |
registerResource(FramedResource resource)
companion to initialize, called after the register |
protected void |
reloadDeadProperties()
|
protected DAVPropStat |
removeDAVProperties(DAVProperties props,
org.w3c.dom.Document document)
|
protected void |
removeDeadProperty(DAVNode node,
DAVProperties okdp,
org.w3c.dom.Document document)
|
protected void |
removeDeadProperty(org.w3c.dom.Element el)
|
protected void |
removeLiveProperty(DAVNode node,
DAVProperties okdp,
org.w3c.dom.Document document)
|
protected void |
saveDeadProperties()
|
protected DAVPropStat |
setDAVProperties(DAVProperties props,
org.w3c.dom.Document document)
|
protected void |
setDeadProperty(DAVNode node,
DAVProperties okdp,
org.w3c.dom.Document document)
|
protected void |
setDeadProperty(org.w3c.dom.Element el)
|
protected void |
setLiveProperty(DAVNode node,
DAVProperties okdp,
org.w3c.dom.Document document)
|
protected void |
setLockOwner(org.w3c.dom.Node owner)
Set the lock Owner |
protected void |
setTimeout(java.lang.String[] timeouts)
|
protected void |
skipBody(DAVReply reply)
Should be called to purge the reply, otherwise the connection won't be marked idle and won't be reused. |
protected void |
unlock()
|
Reply |
unlock(DAVRequest request)
Handle the UNLOCK request. |
protected void |
updateLockDate(DAVRequest request)
|
| Methods inherited from class org.w3c.jigsaw.frames.PostableFrame |
|---|
getConvertGetFlag, getOverrideFlag, handle |
| Methods inherited from class org.w3c.tools.resources.ResourceFrame |
|---|
addFrameEventListener, eventDisabled, fireFrameEvent, frameModified, getFilters, getFilters, getFrameReference, getResource, getResourceReference, getSpaceEntry, getURLPath, lookupFilters, lookupFrames, postFrameEvent, processEvent, removeFrameEventListener, unregisterResource, updateDefaultChildAttributes |
| Methods inherited from class org.w3c.tools.resources.Resource |
|---|
acceptUnload, checkMultipleLock, collectFrames, getContext, getFrame, getFrames, getIdentifier, getLastModified, getParent, getServer, getSpace, getStoreEntry, getValue, getValue, isInitialized, isUnloaded, setContext, setContext, setValue, unsafeGetContext, unsafeGetFrame, unsafeGetFrames, unsafeGetIdentifier, unsafeGetResourceReference, unsafeGetURLPath, unsafeGetValue, updateAttributes |
| Methods inherited from class org.w3c.tools.resources.AttributeHolder |
|---|
definesAttribute, definesAttribute, getAttributes, getBoolean, getChar, getClone, getClone, getDouble, getFloat, getInt, getLong, getString, getValue, lookupAttribute, print, setBoolean, setChar, setDouble, setFloat, setInt, setLong, setString, setValue, unsafeDefinesAttribute, unsafeGetDouble, unsafeGetString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final boolean debug
public static final boolean debugxml
public static final int COND_OK_LOCK
protected static HttpMimeType xmlcontenttype
protected static HttpMimeType collectioncontenttype
protected DAVManager manager
public static final java.lang.String REMAINING_PATH
public static final java.lang.String LOCK_USERNAME
public static final java.lang.String LOCK_TOKEN
public static final java.lang.String LOCK_OWNER
public static final java.lang.String LOCK_EXPIRE
public static final java.lang.String LOCK_TIMEOUT
public static final java.lang.String LOCKED_REREFENCE
public static final java.lang.Long DEFAULT_LOCK_TIMEOUT
public static final java.lang.Long MAX_LOCK_TIMEOUT
protected static int ATTR_CREATION_DATE
protected static int ATTR_DEAD_PROPERTIES
protected static int ATTR_LOCK_TOKEN
protected static int ATTR_LOCK_TIMEOUT
protected static int ATTR_LOCK_DATE
protected static int ATTR_LOCK_DEPTH
protected static int ATTR_LOCK_OWNER
protected static int ATTR_LOCK_USERNAME
protected org.w3c.dom.Node ownerNode
protected java.util.Hashtable deadindex
protected boolean deadpropmodified
| Constructor Detail |
|---|
public DAVFrame()
| Method Detail |
|---|
protected static boolean isReadOnly(java.lang.String propname)
protected static boolean acceptRedirect(DAVRequest request)
public boolean isCollection()
public long getCreationDate()
protected void updateLockDate(DAVRequest request)
protected long getTokenExpirationDate(DAVRequest request)
protected java.lang.String getCurrentLockToken(DAVRequest request)
protected long getCurrentLockTimeout(DAVRequest request)
protected org.w3c.dom.Node getCurrentLockOwner(DAVRequest request)
protected void setLockOwner(org.w3c.dom.Node owner)
protected int getCurrentLockDepth()
protected java.lang.String getCurrentLockUsername(DAVRequest request)
protected boolean isLocked(DAVRequest request)
request - the incomming request (it null isLocked will returns
true if and only if the resource has been personally locked, not one
of its parents)
protected void setTimeout(java.lang.String[] timeouts)
protected void refreshLock(java.lang.String[] timeouts)
protected void lock(java.lang.String token,
int depth,
java.lang.String[] timeouts,
java.lang.String username,
org.w3c.dom.Node owner)
throws HTTPException
token - the lock tokendepth - the lock depth (0 or -1)timeout - the lock timeout
HTTPExceptionprotected void unlock()
protected void addSupportedLock(DAVProperties prop)
protected void addLockDiscovery(DAVRequest request,
DAVProperties prop)
protected void addLockDiscovery(DAVRequest request,
org.w3c.dom.Node parent)
public ArrayDictionary getDeadProperties()
ArrayDictionaryprotected java.util.Hashtable getDeadPropertiesIndex()
protected void setDeadProperty(org.w3c.dom.Element el)
throws org.w3c.dom.DOMException
org.w3c.dom.DOMException
protected void removeDeadProperty(org.w3c.dom.Element el)
throws org.w3c.dom.DOMException
org.w3c.dom.DOMExceptionprotected void reloadDeadProperties()
protected void saveDeadProperties()
protected HttpTokenList getAllow()
getAllow in class PostableFrame
protected DAVBody getBody(DAVRequest request)
throws HTTPException
HTTPException
public Reply options(Request request)
throws ProtocolException,
ResourceException
options in class HTTPFramerequest - The request to handle.
ProtocolException - In case of errors.
ResourceException - If the resource got a fatal error.
public ReplyInterface perform(RequestInterface req)
throws ProtocolException,
ResourceException
perform in class HTTPFramereq - The request to handle.
ProtocolException - If processsing the request failed.