|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.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
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 |
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,
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 |
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 |
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 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 |
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 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. |
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,
updateAttributes |
Methods inherited from class org.w3c.tools.resources.AttributeHolder |
definesAttribute,
definesAttribute,
getAttributes,
getBoolean,
getChar,
getClone,
getClone,
getDouble,
getFloat,
getInt,
getLong,
getString,
getValue,
initialize,
lookupAttribute,
pickleValues,
print,
setBoolean,
setChar,
setDouble,
setFloat,
setInt,
setLong,
setString,
setValue,
unsafeGetValue |
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 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 timeoutprotected 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()
ArrayDictionary
protected java.util.Hashtable getDeadPropertiesIndex()
protected void setDeadProperty(org.w3c.dom.Element el) throws org.w3c.dom.DOMException
protected void removeDeadProperty(org.w3c.dom.Element el) throws org.w3c.dom.DOMException
protected void reloadDeadProperties()
protected void saveDeadProperties()
protected HttpTokenList getAllow()
protected DAVBody getBody(DAVRequest request) throws HTTPException
public Reply options(Request request) throws ProtocolException, ResourceException
request
- The request to handle.public ReplyInterface perform(RequestInterface req) throws ProtocolException, ResourceException
req
- The request to handle.public Reply extended(Request request) throws ProtocolException, ResourceException
request
- The request to handle.public Reply davextended(DAVRequest request) throws ProtocolException, ResourceException
protected java.lang.String decodeURL(DAVRequest request, java.lang.String encoded) throws HTTPException
protected boolean isLockable(DAVRequest request)
protected boolean checkLockOwner(DAVRequest request)
protected int checkIf(DAVRequest request) throws HTTPException
If
condition of that request.request
- The request to check.COND_FAILED if condition
was checked, but failed, COND_OK
if condition was checked
and succeeded, or 0 if the condition was not checked
at all (eg because the resource or the request didn't support it).
protected boolean matchETag(HttpEntityTag retag)
protected boolean matchLockToken(DAVRequest request, java.lang.String locktoken)
public Reply delete(Request request) throws ProtocolException, ResourceException
request
- The request to handle.public Reply get(Request request) throws ProtocolException, ResourceException
If there is no search string, or if we are not allowed to convert
GETs to POSTs, than we just invoke our super
method,
which will perform the appropriate job.
request
- The request to handle.public Reply put(Request request) throws ProtocolException, ResourceException
request
- The request to handle.public Reply post(Request request) throws ProtocolException, ResourceException
request
- The request to handle.protected boolean hasProperty(int idx)
protected boolean hasStringProperty(int idx)
protected boolean hasLongProperty(int idx)
protected boolean hasIntProperty(int idx)
protected void addCreationDate(DAVProperties props)
protected void addDisplayName(DAVProperties props)
protected void addContentLanguage(DAVProperties props)
protected void addContentType(DAVProperties props)
protected void addContentLength(DAVProperties props)
protected void addETag(DAVProperties props)
protected void addLastModified(DAVProperties props)
protected void addResourceType(DAVProperties props)
protected DAVProperties getProperties(DAVRequest request, org.w3c.dom.Document doc, DAVProperties dp)
doc
- the response XML Documentdp
- the DAVProperties node in found the request bodyprotected DAVProperties getProperties(DAVRequest request, org.w3c.dom.Document doc)
doc
- the response XML Documentprotected DAVProperties getPropertiesForCopy(org.w3c.dom.Document doc)
protected DAVProperties getPropNames(DAVRequest request, org.w3c.dom.Document doc)
doc
- the response XML Documentprotected DAVResponse getResponse(DAVRequest request, DAVPropFind dpf, org.w3c.dom.Document document)
request
- the DAV Requestdpf
- the DAVPropFind XML Node (can be null)document
- the XML documentprotected DAVResponse[] getChildResponses(DAVRequest request, DAVPropFind dpf, org.w3c.dom.Document document, boolean deep)
request
- the DAV Requestdpf
- the DAVPropFind XML Node (can be null)document
- the XML documentdeep
- do it recursivly if trueprotected Reply createDAVReply(DAVRequest request, int status, org.w3c.dom.Document document)
request
- the DAVRequeststatus
- the status of the replydocument
- the XML content of the replyprotected java.lang.String getStatusLine(int status)
public Reply propfind(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestprotected DAVPropStat setDAVProperties(DAVProperties props, org.w3c.dom.Document document) throws DAVPropertyException
protected void setDeadProperty(DAVNode node, DAVProperties okdp, org.w3c.dom.Document document) throws DAVPropertyException
protected void setLiveProperty(DAVNode node, DAVProperties okdp, org.w3c.dom.Document document) throws DAVPropertyException
protected DAVPropStat removeDAVProperties(DAVProperties props, org.w3c.dom.Document document) throws DAVPropertyException
protected void removeLiveProperty(DAVNode node, DAVProperties okdp, org.w3c.dom.Document document) throws DAVPropertyException
protected void removeDeadProperty(DAVNode node, DAVProperties okdp, org.w3c.dom.Document document) throws DAVPropertyException
public Reply proppatch(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestpublic Reply mkcol(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestprotected DAVRequest createRequest(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 void skipBody(DAVReply reply)
reply
- the reply to purge.public Reply copy(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestprotected Reply dupReply(DAVRequest request, DAVReply rep, boolean created)
protected Reply copyCollection(java.net.URL destination, DAVRequest request, boolean overwrite) throws ProtocolException, ResourceException
dst
- the destination URLrequest
- the WEBDAV requestprotected Reply copyCollection(java.net.URL destination, DAVRequest request, boolean overwrite, DAVBody body, org.w3c.dom.Document document) throws ProtocolException, ResourceException, MultiStatusException
protected java.net.URL computeDestURL(java.net.URL parent, DAVFrame df) throws java.net.MalformedURLException
protected Reply copyResource(java.net.URL dst, DAVRequest request, boolean overwrite) throws ProtocolException, ResourceException
dst
- the destination URLrequest
- the WEBDAV requestprotected DAVReply copyDAVResource(DAVRequest req, java.net.URL source, java.net.URL destination, DAVBody body) throws MultiStatusException
protected void copyProperties(DAVRequest req, java.net.URL destination, DAVBody body) throws MultiStatusException
public Reply move(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestprotected java.lang.String getNewLockToken()
public Reply lock(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestpublic Reply unlock(DAVRequest request) throws ProtocolException, ResourceException
request
- the WEBDAV requestprotected boolean lookupResource(LookupState ls, LookupResult lr) throws ProtocolException
ls
- The current lookup statelr
- The resultlookupDirectory(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)
,
HTTPFrame.lookupFile(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)
,
HTTPFrame.lookupOther(org.w3c.tools.resources.LookupState, org.w3c.tools.resources.LookupResult)
protected boolean lookupDirectory(LookupState ls, LookupResult lr) throws ProtocolException
ls
- The current lookup statelr
- The resultpublic void registerResource(FramedResource resource)
resource
- The resource associated with this frame.public void initialize(java.lang.Object[] values)
values
- Default attribute values.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |