Package org.alfresco.repo.webdav
Class PropFindMethod
- java.lang.Object
-
- org.alfresco.repo.webdav.WebDAVMethod
-
- org.alfresco.repo.webdav.PropFindMethod
-
- Direct Known Subclasses:
PropPatchMethod
public class PropFindMethod extends WebDAVMethod
Implements the WebDAV PROPFIND method- Author:
- Gavin Cornwell
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.alfresco.repo.webdav.WebDAVMethod
WebDAVMethod.Condition
-
-
Field Summary
Fields Modifier and Type Field Description protected static intFIND_PROPSprotected static intGET_ALL_PROPSprotected static intGET_NAMED_PROPSprotected intm_modeprotected java.util.HashMap<java.lang.String,java.lang.String>m_namespacesprotected java.util.ArrayList<WebDAVProperty>m_properties-
Fields inherited from class org.alfresco.repo.webdav.WebDAVMethod
logger, m_childToParent, m_conditions, m_davHelper, m_depth, m_parentLockInfo, m_request, m_resourceTag, m_response, m_rootNodeRef, m_strPath, m_userAgent
-
-
Constructor Summary
Constructors Constructor Description PropFindMethod()Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected WebDAVPropertycreateProperty(org.w3c.dom.Node node)Creates a WebDAVProperty from the given XML nodeprotected voidexecuteImpl()Execute the main WebDAV request processingprotected voidgenerateAllPropertiesResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir)Generates the XML response for a PROPFIND request that asks for all known propertiesprotected voidgenerateFindPropertiesResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir)Generates the XML response for a PROPFIND request that asks for a list of all known propertiesprotected voidgenerateLockDiscoveryResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir)Generates the XML response snippet showing the lock information for the given pathprotected voidgenerateResponseForNode(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, java.lang.String path)Generates the required response XML for the current nodeintgetMode()Return the find modeprotected org.dom4j.io.OutputFormatgetXMLOutputFormat()Returns the format required for an XML response.protected booleanisReadOnly()Override and return true if the method is a query method only.protected java.util.Map<org.alfresco.service.namespace.QName,java.lang.String>loadDeadProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)Loads all dead properties persisted on the nodeprotected voidparseRequestBody()Parse the request bodyprotected voidparseRequestHeaders()Parse the request headersprotected voidpersistDeadProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map<org.alfresco.service.namespace.QName,java.lang.String> deadProperties)Persists dead properties for specified resourceprotected voidwriteLockTypes(org.dom4j.io.XMLWriter xml)Output the supported lock types XML element-
Methods inherited from class org.alfresco.repo.webdav.WebDAVMethod
checkNode, checkNode, createXMLWriter, execute, flushXML, generateLockDiscoveryXML, generateLockDiscoveryXML, generateNamespaceDeclarations, generateResponseImpl, getActionService, getAuthenticationService, getContentService, getContextPath, getDAVHelper, getDAVLockService, getDepth, getFileFolderService, getMimetypeService, getNamespaceService, getNodeForPath, getNodeLockInfo, getNodeService, getPath, getPermissionService, getRequestBodyAsDocument, getRootNodeRef, getSearchService, getServiceRegistry, getServletPath, getSiteId, getStatusForAccessDeniedException, getTenantDomain, getTransactionService, getURLForPath, getWorkingCopy, parseDepthHeader, parseIfHeader, setDetails, shouldFlushXMLWriter, toString
-
-
-
-
Field Detail
-
GET_ALL_PROPS
protected static final int GET_ALL_PROPS
- See Also:
- Constant Field Values
-
GET_NAMED_PROPS
protected static final int GET_NAMED_PROPS
- See Also:
- Constant Field Values
-
FIND_PROPS
protected static final int FIND_PROPS
- See Also:
- Constant Field Values
-
m_mode
protected int m_mode
-
m_properties
protected java.util.ArrayList<WebDAVProperty> m_properties
-
m_namespaces
protected java.util.HashMap<java.lang.String,java.lang.String> m_namespaces
-
-
Method Detail
-
getMode
public final int getMode()
Return the find mode- Returns:
- int
-
parseRequestHeaders
protected void parseRequestHeaders() throws WebDAVServerExceptionParse the request headers- Specified by:
parseRequestHeadersin classWebDAVMethod- Throws:
WebDAVServerException
-
parseRequestBody
protected void parseRequestBody() throws WebDAVServerExceptionParse the request body- Specified by:
parseRequestBodyin classWebDAVMethod- Throws:
WebDAVServerException
-
isReadOnly
protected boolean isReadOnly()
Description copied from class:WebDAVMethodOverride and return true if the method is a query method only. The default implementation returns false.- Overrides:
isReadOnlyin classWebDAVMethod- Returns:
- Returns true always
-
executeImpl
protected void executeImpl() throws WebDAVServerException, java.lang.ExceptionExecute the main WebDAV request processing- Specified by:
executeImplin classWebDAVMethod- Throws:
WebDAVServerExceptionjava.lang.Exception- any unhandled exception
-
getXMLOutputFormat
protected org.dom4j.io.OutputFormat getXMLOutputFormat()
Description copied from class:WebDAVMethodReturns the format required for an XML response. This may vary per method.- Overrides:
getXMLOutputFormatin classWebDAVMethod
-
createProperty
protected WebDAVProperty createProperty(org.w3c.dom.Node node)
Creates a WebDAVProperty from the given XML node
-
generateResponseForNode
protected void generateResponseForNode(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, java.lang.String path) throws java.lang.ExceptionGenerates the required response XML for the current node- Parameters:
xml- XMLWriternodeInfo- FileInfopath- String- Throws:
java.lang.Exception
-
generateAllPropertiesResponse
protected void generateAllPropertiesResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir) throws java.lang.ExceptionGenerates the XML response for a PROPFIND request that asks for all known properties- Parameters:
xml- XMLWriternodeInfo- FileInfoisDir- boolean- Throws:
java.lang.Exception
-
generateFindPropertiesResponse
protected void generateFindPropertiesResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir)Generates the XML response for a PROPFIND request that asks for a list of all known properties- Parameters:
xml- XMLWriternodeInfo- FileInfoisDir- boolean
-
generateLockDiscoveryResponse
protected void generateLockDiscoveryResponse(org.dom4j.io.XMLWriter xml, org.alfresco.service.cmr.model.FileInfo nodeInfo, boolean isDir) throws java.lang.ExceptionGenerates the XML response snippet showing the lock information for the given path- Parameters:
xml- XMLWriternodeInfo- FileInfoisDir- boolean- Throws:
java.lang.Exception
-
writeLockTypes
protected void writeLockTypes(org.dom4j.io.XMLWriter xml)
Output the supported lock types XML element- Parameters:
xml- XMLWriter
-
loadDeadProperties
protected java.util.Map<org.alfresco.service.namespace.QName,java.lang.String> loadDeadProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Loads all dead properties persisted on the node- Parameters:
nodeRef- NodeRef- Returns:
- the map of all dead properties
-
persistDeadProperties
protected void persistDeadProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.util.Map<org.alfresco.service.namespace.QName,java.lang.String> deadProperties)Persists dead properties for specified resource- Parameters:
nodeRef- specified resourcedeadProperties- the properties to persist
-
-