org.w3c.jigedit.webdav.frames
Class CvsDAVFileFrame

java.lang.Object
  extended by org.w3c.tools.resources.AttributeHolder
      extended by org.w3c.tools.resources.Resource
          extended by org.w3c.tools.resources.FramedResource
              extended by org.w3c.tools.resources.ResourceFrame
                  extended by org.w3c.tools.resources.ProtocolFrame
                      extended by org.w3c.jigsaw.frames.HTTPFrame
                          extended by org.w3c.jigsaw.frames.PostableFrame
                              extended by org.w3c.jigsaw.webdav.DAVFrame
                                  extended by 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

Else perform PUT.


Field Summary
static boolean debug
           
protected  java.io.File resDirectory
           
 
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.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
CvsDAVFileFrame()
           
 
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.PostableFrame
getConvertGetFlag, getOverrideFlag, handle
 
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
 

Field Detail

debug

public static final boolean debug
See Also:
Constant Field Values

resDirectory

protected java.io.File resDirectory
Constructor Detail

CvsDAVFileFrame

public CvsDAVFileFrame()
Method Detail

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.