org.w3c.jigedit.webdav.frames
Class CvsDAVFileFrame
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
org.w3c.jigedit.webdav.frames.CvsDAVFileFrame
- All Implemented Interfaces:
- java.lang.Cloneable, java.util.EventListener, AttributeChangedListener, FrameEventListener
public class CvsDAVFileFrame
- extends DAVFrame
This subclass of HTTPFrame check cvs before performing a PUT request.
If a CVS directory exists
If the resource file exists
If resource file not up to date Fail.
Else perform PUT and commit it into cvs.
Else perform PUT, add and commit it into cvs.
Else perform PUT.
Fields inherited from class org.w3c.jigsaw.webdav.DAVFrame |
ATTR_CREATION_DATE, ATTR_DEAD_PROPERTIES, ATTR_LOCK_DATE, ATTR_LOCK_DEPTH, ATTR_LOCK_OWNER, ATTR_LOCK_TIMEOUT, ATTR_LOCK_TOKEN, ATTR_LOCK_USERNAME, collectioncontenttype, COND_OK_LOCK, deadindex, deadpropmodified, debugxml, DEFAULT_LOCK_TIMEOUT, LOCK_EXPIRE, LOCK_OWNER, LOCK_TIMEOUT, LOCK_TOKEN, LOCK_USERNAME, LOCKED_REREFENCE, manager, MAX_LOCK_TIMEOUT, ownerNode, REMAINING_PATH, xmlcontenttype |
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 |
Method Summary |
protected void |
add(Request request)
|
protected boolean |
checkCvsManager()
|
protected void |
commit(Request request)
|
protected void |
commit(Request request,
java.lang.String msg)
|
java.lang.String |
computeETag()
Get this resource Etag string, it will be computed using
FileETag MTime Size directive like in Apache, this will fit some
needs for our own server farm, it won't hurt anyway/ |
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 |
deleteFileResource(Request request)
The DELETE method delete the file and perform a cvs remove. |
protected static Reply |
error(Request request,
int status,
java.lang.String title,
java.lang.String msg)
|
protected java.io.File |
getBackupFile()
|
protected CvsDirectory |
getCvsManager()
|
protected java.io.File |
getResourceDirectory()
|
boolean |
isAutoUpdatable()
tell if we must always do an update. |
ReplyInterface |
perform(RequestInterface req)
Perform a cvs update before perform a GET,HEAD,POST request. |
Reply |
put(Request request)
The WEBDAV PUT method. |
protected Reply |
putFileResource(Request request)
Change the content of the associated FileResource. |
protected int |
status()
|
protected java.lang.String |
statusToString(int status)
|
protected void |
update()
|
Methods inherited from class org.w3c.jigsaw.webdav.DAVFrame |
acceptRedirect, addContentLanguage, addContentLength, addContentType, addCreationDate, addDisplayName, addETag, addIsCollection, addLastModified, addLockDiscovery, addLockDiscovery, addResourceType, addSupportedLock, checkIf, checkLockOwner, closeInternalReply, computeDestURL, copy, copyCollection, copyCollection, copyDAVResource, copyProperties, copyResource, createDAVReply, createInternalRequest, createInternalRequest, createInternalRequest, createRequest, createRequest, createRequest, davextended, decodeURL, dupReply, extended, get, getAllow, getBody, getChildResponses, getCreationDate, getCurrentLockDepth, getCurrentLockOwner, getCurrentLockTimeout, getCurrentLockToken, getCurrentLockUsername, getDeadProperties, getDeadPropertiesIndex, getNewLockToken, getProperties, getProperties, getPropertiesForCopy, getPropNames, getPropStat, getResponse, getStatusLine, getTokenExpirationDate, hasIntProperty, hasLongProperty, hasProperty, hasStringProperty, initialize, internalCopyCollection, internalCopyDAVResource, internalCopyProperties, internalCopyResource, isCollection, isLockable, isLocked, isReadOnly, lock, lock, lookupDirectory, lookupResource, matchETag, matchLockToken, mkcol, move, options, post, propfind, proppatch, refreshLock, registerResource, reloadDeadProperties, removeDAVProperties, removeDeadProperty, removeDeadProperty, removeLiveProperty, saveDeadProperties, setDAVProperties, setDeadProperty, setDeadProperty, setLiveProperty, setLockOwner, setTimeout, skipBody, unlock, unlock, updateLockDate |
Methods inherited from class org.w3c.jigsaw.frames.HTTPFrame |
addStyleSheet, attributeChanged, browse, checkExpect, checkIfMatch, checkIfModifiedSince, checkIfNoneMatch, checkIfUnmodifiedSince, checkRequest, checkValidators, computeContainerListing, computeTrashDir, computeTrashFile, createDefaultReply, createFileReply, deleteDirectoryResource, deleteMe, deleteOtherResource, getAllowDeleteFlag, getBrowsableFlag, getBrowseType, getCharset, getContentEncoding, getContentLanguage, getContentLength, getContentType, getDirectoryListing, getDirectoryResource, getDirectoryResource, getETag, getFileResource, getFileResource, getHelpURL, getHelpURL, getIcon, getIconDirectory, getIndex, getIndexes, getMaxAge, getMD5Flag, getOtherResource, getPutableFlag, getQuality, getRelocateFlag, getStyleSheetURL, getTitle, getURL, handleRangeRequest, head, headDirectoryResource, headFileResource, headOtherResource, initialize, link, lookup, lookupFile, lookupOther, performFrames, pickleValues, putOtherResource, registerOtherResource, setValue, trace, unlink, unsafeGetQuality, updateCachedHeaders |
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.FramedResource |
addAttributeChangedListener, addStructureChangedListener, collectFramesReference, delete, disableEvent, displayEvent, enableEvent, fireAttributeChangeEvent, fireStructureChangedEvent, fireStructureChangedEvent, frameAdded, frameRemoved, getClone, getFrame, getFrame, getFrameReference, getFrameReference, getFramesReference, getOid, markModified, notifyUnload, postAttributeChangeEvent, postEvent, postStructureChangedEvent, postStructureChangedEvent, registerFrame, registerFrameIfNone, removeAttributeChangedListener, removeStructureChangedListener, setSilentValue, setSilentValue, unregisterFrame |
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 |
debug
public static final boolean debug
- See Also:
- Constant Field Values
resDirectory
protected java.io.File resDirectory
CvsDAVFileFrame
public CvsDAVFileFrame()
error
protected static Reply error(Request request,
int status,
java.lang.String title,
java.lang.String msg)
isAutoUpdatable
public boolean isAutoUpdatable()
- tell if we must always do an update.
getResourceDirectory
protected java.io.File getResourceDirectory()
getCvsManager
protected CvsDirectory getCvsManager()
throws CvsException
- Throws:
CvsException
checkCvsManager
protected boolean checkCvsManager()
computeETag
public java.lang.String computeETag()
- Get this resource Etag string, it will be computed using
FileETag MTime Size directive like in Apache, this will fit some
needs for our own server farm, it won't hurt anyway/
- Overrides:
computeETag
in class HTTPFrame
- Returns:
- a string or null if not applicable
add
protected void add(Request request)
throws CvsException
- Throws:
CvsException
- if the CVS process failed
commit
protected void commit(Request request)
throws CvsException
- Throws:
CvsException
- if the CVS process failed
commit
protected void commit(Request request,
java.lang.String msg)
throws CvsException
- Throws:
CvsException
- if the CVS process failed
update
protected void update()
throws CvsException
- Throws:
CvsException
- if the CVS process failed
status
protected int status()
throws CvsException
- Throws:
CvsException
- if the CVS process failed
statusToString
protected java.lang.String statusToString(int status)
getBackupFile
protected java.io.File getBackupFile()
putFileResource
protected Reply putFileResource(Request request)
throws ProtocolException,
ResourceException
- Change the content of the associated FileResource.
+cvs action (commit, update)
- Overrides:
putFileResource
in class HTTPFrame
- Parameters:
request
- The incomming request.
- Throws:
ProtocolException
- if a protocol error occurs
ResourceException
- if a server error occurs
deleteFileResource
protected Reply deleteFileResource(Request request)
throws ProtocolException,
ResourceException
- The DELETE method delete the file and perform a cvs remove.
- Overrides:
deleteFileResource
in class HTTPFrame
- Parameters:
request
- The request to handle.
- Returns:
- A Reply instance.
- Throws:
ProtocolException
- if a protocol error occurs
ResourceException
- If the resource got a fatal error.
delete
public Reply delete(Request request)
throws ProtocolException,
ResourceException
- The WEBDAV DELETE method, actually the resource (file, directory)
is moved into the trash directory which is not accessible via HTTP.
- Overrides:
delete
in class DAVFrame
- Parameters:
request
- The request to handle.
- Throws:
ProtocolException
- If processsing the request failed.
ResourceException
- If the resource got a fatal error.
put
public Reply put(Request request)
throws ProtocolException,
ResourceException
- The WEBDAV PUT method.
- Overrides:
put
in class DAVFrame
- Parameters:
request
- The request to handle.
- Throws:
ProtocolException
- If processsing the request failed.
ResourceException
- If the resource got a fatal error.
perform
public ReplyInterface perform(RequestInterface req)
throws ProtocolException,
ResourceException
- Perform a cvs update before perform a GET,HEAD,POST request.
- Overrides:
perform
in class DAVFrame
- Parameters:
req
- The request to handle.
- Returns:
- a ReplyInterface instance
- Throws:
ProtocolException
- If processsing the request failed.
ResourceException
- If the resource got a fatal error.