Package org.apache.jackrabbit.webdav.jcr
Class VersionControlledItemCollection
- java.lang.Object
-
- org.apache.jackrabbit.webdav.jcr.DefaultItemCollection
-
- org.apache.jackrabbit.webdav.jcr.VersionControlledItemCollection
-
- All Implemented Interfaces:
JcrRemotingConstants
,DavResource
,ItemResourceConstants
,ObservationResource
,OrderingResource
,SearchResource
,TransactionResource
,DeltaVResource
,VersionableResource
,VersionControlledResource
public class VersionControlledItemCollection extends DefaultItemCollection implements VersionControlledResource
VersionControlledItemCollection
represents a JCR node item and covers all functionality related to versioning ofNode
s.- See Also:
Node
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
initedProps
protected Item
item
protected DavPropertyNameSet
names
protected DavPropertySet
properties
protected SupportedLock
supportedLock
protected SupportedReportSetProperty
supportedReports
-
Fields inherited from interface org.apache.jackrabbit.webdav.DavResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource
METHODS, METHODS_INCL_MKWORKSPACE
-
Fields inherited from interface org.apache.jackrabbit.webdav.jcr.ItemResourceConstants
EXCLUSIVE_SESSION, JCR_DEFINITION, JCR_DEPTH, JCR_GET_STRING, JCR_INDEX, JCR_ISMODIFIED, JCR_ISNEW, JCR_LENGTH, JCR_LENGTHS, JCR_MIXINNODETYPES, JCR_NAME, JCR_NAMESPACES, JCR_NODETYPES_CND, JCR_PARENT, JCR_PATH, JCR_PRIMARYITEM, JCR_PRIMARYNODETYPE, JCR_REFERENCES, JCR_SELECTOR_NAME, JCR_TYPE, JCR_UUID, JCR_VALUE, JCR_VALUES, JCR_VERSIONABLEUUID, JCR_WEAK_REFERENCES, JCR_WORKSPACE_NAME, METHODS, NAMESPACE, PRIVILEGE_JCR_ADD_NODE, PRIVILEGE_JCR_READ, PRIVILEGE_JCR_REMOVE, PRIVILEGE_JCR_SET_PROPERTY
-
Fields inherited from interface org.apache.jackrabbit.commons.webdav.JcrRemotingConstants
ATTR_VALUE_TYPE, IMPORT_UUID_BEHAVIOR, JCR_DEFINITION_LN, JCR_DEPTH_LN, JCR_GET_STRING_LN, JCR_INDEX_LN, JCR_ISMODIFIED_LN, JCR_ISNEW_LN, JCR_LENGTH_LN, JCR_LENGTHS_LN, JCR_MIXINNODETYPES_LN, JCR_NAME_LN, JCR_NAMESPACES_LN, JCR_NODETYPES_CND_LN, JCR_PARENT_LN, JCR_PATH_LN, JCR_PRIMARYITEM_LN, JCR_PRIMARYNODETYPE_LN, JCR_QUERY_RESULT_LN, JCR_REFERENCES_LN, JCR_SELECTOR_NAME_LN, JCR_TYPE_LN, JCR_UUID_LN, JCR_VALUE_LN, JCR_VALUES_LN, JCR_VERSIONABLEUUID_LN, JCR_WEAK_REFERENCES_LN, JCR_WORKSPACE_NAME_LN, NS_PREFIX, NS_URI, RELATION_REMOTE_SESSION_ID, RELATION_USER_DATA, REPORT_EXPORT_VIEW, REPORT_LOCATE_BY_UUID, REPORT_LOCATE_CORRESPONDING_NODE, REPORT_NODETYPES, REPORT_PRIVILEGES, REPORT_REGISTERED_NAMESPACES, REPORT_REPOSITORY_DESCRIPTORS, ROOT_ITEM_PATH, ROOT_ITEM_RESOURCEPATH, VERSIONSTORAGE_PATH, XML_ALLOWUPDATE, XML_CND, XML_DESCRIPTOR, XML_DESCRIPTORKEY, XML_DESCRIPTORVALUE, XML_EXCLUSIVE_SESSION_SCOPED, XML_LENGTH, XML_NAMESPACE, XML_NODETYPENAME, XML_PREFIX, XML_PRIMARYNODETYPE, XML_QUERY_RESULT_COLUMN, XML_RELPATH, XML_REMOVEEXISTING, XML_URI, XML_VALUE
-
Fields inherited from interface org.apache.jackrabbit.webdav.observation.ObservationResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.ordering.OrderingResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.search.SearchResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.transaction.TransactionResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.version.VersionableResource
METHODS
-
Fields inherited from interface org.apache.jackrabbit.webdav.version.VersionControlledResource
ACTIVITY_SET, AUTO_MERGE_SET, AUTO_VERSION, BASELINE_CONTROLLED_COLLECTION, CHECKED_IN, CHECKED_OUT, CHECKIN_FORK, CHECKOUT_FORK, ECLIPSED_SET, MERGE_SET, methods_checkedIn, methods_checkedOut, PREDECESSOR_SET, SUBBASELINE_SET, UNRESERVED, VERSION_HISTORY
-
-
Constructor Summary
Constructors Constructor Description VersionControlledItemCollection(DavResourceLocator locator, JcrDavSession session, DavResourceFactory factory, Item item)
Create a newVersionControlledItemCollection
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLockManager(LockManager lockMgr)
Add an externalLockManager
to this resource.void
addVersionControl()
Adds version control to this resource.void
addWorkspace(DavResource workspace)
The JCR api does not provide methods to create new workspaces.MultiStatusResponse
alterProperties(List<? extends PropEntry> changeList)
Loops over the givenList
s and alters the properties accordingly.String
checkin()
CallsNode.checkin()
on the underlying repository node.void
checkout()
CallsNode.checkout()
on the underlying repository node.void
copy(DavResource destination, boolean shallow)
Copies the underlying repository item to the indicated destination.protected DavResource
createResourceFromLocator(DavResourceLocator loc)
Create a newDavResource
from the given locator.boolean
exists()
Returns true if there exists arepository item
with the given resource path, false otherwise.DavResource
getCollection()
Returns the resource representing the parent item of the repository item represented by this resource.String
getDisplayName()
Retrieves the last segment of the item path (or the resource path if this resource does not exist).DavResourceFactory
getFactory()
Return theDavResourceFactory
that created this resource.String
getHref()
Returns the absolute href of this resource as returned in the multistatus response body.protected static String
getItemName(String itemPath)
Retrieves the last segment of the given path and removes the index if present.DavResourceLocator
getLocator()
Returns thelocator
object for this webdav resource, which encapsulates the information for building the complete 'href'.protected DavResourceLocator
getLocatorFromItem(Item repositoryItem)
Build a newDavResourceLocator
from the given repository item.protected DavResourceLocator
getLocatorFromItemPath(String itemPath)
Build aDavResourceLocator
from the given itemPath path.ActiveLock[]
getLocks()
Returns an array of all locks applied to the given resource.OptionsResponse
getOptionResponse(OptionsInfo optionsInfo)
Retrieves the information requested in the OPTIONS request body and returns the corresponding values.DavPropertySet
getProperties()
Returns all webdav properties present on this resource that will be return upon aDavConstants.PROPFIND_ALL_PROP
request.DavProperty<?>
getProperty(DavPropertyName name)
Return the webdav property with the specified name.DavPropertyName[]
getPropertyNames()
Returns an array of allproperty names
available on this resource.QueryGrammerSet
getQueryGrammerSet()
Returns the protected DAV:supported-method-set property which is defined mandatory by RTF 3253.DavResource[]
getReferenceResources(DavPropertyName hrefPropertyName)
Return an array ofDavResource
objects that are referenced by the property with the specified name.Report
getReport(ReportInfo reportInfo)
Runs the report specified by the givenReportInfo
.protected Session
getRepositorySession()
Shortcut forgetSession().getRepositorySession()
String
getResourcePath()
Returns the path of the underlying repository item or the item to be created (PUT/MKCOL).DavSession
getSession()
Retrieve theDavSession
associated with this resource.String
getSupportedMethods()
Return a comma separated string listing the supported method names.String
getTransactionId()
The TransactionId ornull
according to the value of the corresponding requestheader
field.VersionHistoryResource
getVersionHistory()
Returns theVersionHistory
associated with the repository node.protected String
getWorkspaceHref()
Retrieve the href of the workspace the current session belongs to.void
init(SubscriptionManager subsMgr)
Initializes this resource.void
init(TxLockManager txMgr, String transactionId)
Initializes theTransactionResource
.protected void
initProperties()
Fill the property set for this resource.protected void
initPropertyNames()
Property names common to all resources.protected void
initSupportedReports()
Define the set of reports supported by this resource.boolean
isLockable(Type type, Scope scope)
Returns true, if theSupportedLock
property contains an entry with the given type and scope.void
label(LabelInfo labelInfo)
Modify the labels present with the versions of this resource.MultiStatus
merge(MergeInfo mergeInfo)
Merge the repository node represented by this resource according to the information present in the givenMergeInfo
object.void
move(DavResource destination)
Moves the underlying repository item to the indicated destination.protected String
normalizeResourceHref(String href)
Normalize the resourcehref
.EventDiscovery
poll(String subscriptionId, long timeout)
Retrieve the list of events that where recorded for the event listener with the given SubscriptionId.MultiStatus
search(SearchInfo sInfo)
Runs a search with the language and query defined in theSearchInfo
object specified and returns aMultiStatus
object listing the results.Subscription
subscribe(SubscriptionInfo info, String subscriptionId)
Subscribe this resource for event listening defined by the specified subscription info.void
uncheckout()
Not implemented.void
unlock(String lockToken, TransactionInfo tInfo)
Overloads theunlock
method of theDavResource
interface.void
unsubscribe(String subscriptionId)
Unsubscribe the event listener with the given SubscriptionId.MultiStatus
update(UpdateInfo updateInfo)
Perform an update on this resource.-
Methods inherited from class org.apache.jackrabbit.webdav.jcr.DefaultItemCollection
addHrefProperty, addHrefProperty, addHrefProperty, addMember, getComplianceClass, getCreationDate, getCreatorDisplayName, getHrefProperty, getHrefProperty, getHrefProperty, getLock, getMembers, getModificationTime, hasLock, initLockSupport, isCollection, isOrderable, lock, orderMembers, refreshLock, removeMember, removeProperty, setProperty, spool, unlock
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jackrabbit.webdav.DavResource
addLockManager, addMember, copy, exists, getCollection, getComplianceClass, getDisplayName, getFactory, getHref, getLocator, getLock, getLocks, getMembers, getModificationTime, getProperties, getPropertyNames, getResourcePath, getSession, hasLock, isCollection, isLockable, lock, move, refreshLock, removeMember, removeProperty, setProperty, spool, unlock
-
Methods inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource
addWorkspace, getOptionResponse, getReferenceResources, getReport
-
-
-
-
Field Detail
-
item
protected final Item item
-
initedProps
protected boolean initedProps
-
properties
protected DavPropertySet properties
-
names
protected DavPropertyNameSet names
-
supportedLock
protected SupportedLock supportedLock
-
supportedReports
protected SupportedReportSetProperty supportedReports
-
-
Constructor Detail
-
VersionControlledItemCollection
public VersionControlledItemCollection(DavResourceLocator locator, JcrDavSession session, DavResourceFactory factory, Item item)
Create a newVersionControlledItemCollection
.- Parameters:
locator
-session
-factory
-item
-
-
-
Method Detail
-
getSupportedMethods
public String getSupportedMethods()
Return a comma separated string listing the supported method names.- Specified by:
getSupportedMethods
in interfaceDavResource
- Overrides:
getSupportedMethods
in classDefaultItemCollection
- Returns:
- the supported method names.
- See Also:
DavResource.getSupportedMethods()
-
getProperty
public DavProperty<?> getProperty(DavPropertyName name)
Description copied from interface:DavResource
Return the webdav property with the specified name.- Specified by:
getProperty
in interfaceDavResource
- Overrides:
getProperty
in classDefaultItemCollection
- Parameters:
name
- name of the webdav property- Returns:
- the
DavProperty
with the given name ornull
if the property does not exist. - See Also:
DavResource.getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
-
alterProperties
public MultiStatusResponse alterProperties(List<? extends PropEntry> changeList) throws DavException
Description copied from class:DefaultItemCollection
Loops over the givenList
s and alters the properties accordingly. Changes are persisted at the end according to the rules defined with theAbstractItemResource.complete()
method.Please note: since there is only a single property (
ItemResourceConstants.JCR_MIXINNODETYPES
that can be set or removed with PROPPATCH, this method either succeeds or throws an exception, even if this violates RFC 2518. Thus no property specific multistatus will be created in case of an error.- Specified by:
alterProperties
in interfaceDavResource
- Overrides:
alterProperties
in classDefaultItemCollection
- Parameters:
changeList
-- Returns:
- multistatus response listing the status resulting from setting and/or removing the specified properties, in order to allow a detailed multistatus response.
- Throws:
DavException
- See Also:
for additional description of non-compliant behaviour.
-
addVersionControl
public void addVersionControl() throws DavException
Adds version control to this resource. If the resource is already under version control, this method has no effect.- Specified by:
addVersionControl
in interfaceVersionableResource
- Throws:
DavException
- if this resource does not exist yet or if an error occurs while making the underlying node versionable.- See Also:
VersionableResource.addVersionControl()
-
checkin
public String checkin() throws DavException
CallsNode.checkin()
on the underlying repository node.- Specified by:
checkin
in interfaceVersionControlledResource
- Returns:
- String representing the location of the version created by the checkin.
- Throws:
DavException
- See Also:
VersionControlledResource.checkin()
-
checkout
public void checkout() throws DavException
CallsNode.checkout()
on the underlying repository node.- Specified by:
checkout
in interfaceVersionControlledResource
- Throws:
DavException
- See Also:
VersionControlledResource.checkout()
-
uncheckout
public void uncheckout() throws DavException
Not implemented. Always throws aDavException
with error codeHttpServletResponse.SC_NOT_IMPLEMENTED
.- Specified by:
uncheckout
in interfaceVersionControlledResource
- Throws:
DavException
- See Also:
VersionControlledResource.uncheckout()
-
update
public MultiStatus update(UpdateInfo updateInfo) throws DavException
Perform an update on this resource. Depending on the format of theupdateInfo
this is translated to one of the following methods defined by the JCR API:Node.restore(javax.jcr.version.Version, boolean)
Node.restore(javax.jcr.version.Version, String, boolean)
Node.restoreByLabel(String, boolean)
Node.update(String)
Limitation: note that the
MultiStatus
returned by this method will not list any nodes that have been removed due to an Uuid conflict.- Specified by:
update
in interfaceVersionControlledResource
- Parameters:
updateInfo
-- Returns:
- Throws:
DavException
- See Also:
VersionControlledResource.update(org.apache.jackrabbit.webdav.version.UpdateInfo)
-
merge
public MultiStatus merge(MergeInfo mergeInfo) throws DavException
Merge the repository node represented by this resource according to the information present in the givenMergeInfo
object.- Specified by:
merge
in interfaceVersionControlledResource
- Parameters:
mergeInfo
-- Returns:
MultiStatus
recording all repository items modified by this merge call as well as the resources that a client must modify to complete the merge (see RFC 3253)- Throws:
DavException
- See Also:
VersionControlledResource.merge(org.apache.jackrabbit.webdav.version.MergeInfo)
,Node.merge(String, boolean)
-
label
public void label(LabelInfo labelInfo) throws DavException
Modify the labels present with the versions of this resource.- Specified by:
label
in interfaceVersionControlledResource
- Parameters:
labelInfo
-- Throws:
DavException
- See Also:
VersionHistory.addVersionLabel(String, String, boolean)
,VersionHistory.removeVersionLabel(String)
-
getVersionHistory
public VersionHistoryResource getVersionHistory() throws DavException
Returns theVersionHistory
associated with the repository node. If the node is not versionable an exception is thrown.- Specified by:
getVersionHistory
in interfaceVersionControlledResource
- Returns:
- the
VersionHistoryResource
associated with this resource. - Throws:
DavException
- See Also:
VersionControlledResource.getVersionHistory()
,Node.getVersionHistory()
-
initSupportedReports
protected void initSupportedReports()
Define the set of reports supported by this resource.- Overrides:
initSupportedReports
in classDefaultItemCollection
- See Also:
SupportedReportSetProperty
-
initPropertyNames
protected void initPropertyNames()
Property names common to all resources.- Overrides:
initPropertyNames
in classDefaultItemCollection
-
initProperties
protected void initProperties()
Fill the property set for this resource.- Overrides:
initProperties
in classDefaultItemCollection
-
exists
public boolean exists()
Returns true if there exists arepository item
with the given resource path, false otherwise.- Specified by:
exists
in interfaceDavResource
- Returns:
- true, if the resource represents an existing repository item.
- See Also:
DavResource.exists()
-
getDisplayName
public String getDisplayName()
Retrieves the last segment of the item path (or the resource path if this resource does not exist). An item path is in addition first translated to the corresponding resource path.
NOTE: the display name is not equivalent toitem name
which is exposed with the{http://www.day.com/jcr/webdav/1.0}name
property.- Specified by:
getDisplayName
in interfaceDavResource
- Returns:
- display name.
- See Also:
DavResource.getDisplayName()
-
getCollection
public DavResource getCollection()
Returns the resource representing the parent item of the repository item represented by this resource. If this resoure represents the root item aRootCollection
is returned.- Specified by:
getCollection
in interfaceDavResource
- Returns:
- the collection this resource is internal member of. Except for the repository root, the returned collection always represent the parent repository node.
- See Also:
DavResource.getCollection()
-
move
public void move(DavResource destination) throws DavException
Moves the underlying repository item to the indicated destination.- Specified by:
move
in interfaceDavResource
- Parameters:
destination
-- Throws:
DavException
- See Also:
DavResource.move(DavResource)
,Session.move(String, String)
-
copy
public void copy(DavResource destination, boolean shallow) throws DavException
Copies the underlying repository item to the indicated destination. If the locator of the specified destination resource indicates a different workspace,Workspace.copy(String, String, String)
is used to perform the copy operation,Workspace.copy(String, String)
otherwise.Note, that this implementation does not support shallow copy.
- Specified by:
copy
in interfaceDavResource
- Parameters:
destination
-shallow
-- Throws:
DavException
- See Also:
DavResource.copy(DavResource, boolean)
,Workspace.copy(String, String)
,Workspace.copy(String, String, String)
-
init
public void init(SubscriptionManager subsMgr)
Description copied from interface:ObservationResource
Initializes this resource.- Specified by:
init
in interfaceObservationResource
- Parameters:
subsMgr
- subscription manager object- See Also:
ObservationResource.init(SubscriptionManager)
-
subscribe
public Subscription subscribe(SubscriptionInfo info, String subscriptionId) throws DavException
Description copied from interface:ObservationResource
Subscribe this resource for event listening defined by the specified subscription info. A subscriptionId may be specified in case an existing subscription should be modified.- Specified by:
subscribe
in interfaceObservationResource
- Parameters:
info
-SubscriptionInfo
object as defined by the request body and headers.subscriptionId
- ornull
if theSubscriptionId
header is missing.- Returns:
Subscription
object in case the subscription was successful.- Throws:
DavException
- See Also:
ObservationResource.subscribe(org.apache.jackrabbit.webdav.observation.SubscriptionInfo, String)
,SubscriptionManager.subscribe(org.apache.jackrabbit.webdav.observation.SubscriptionInfo, String, org.apache.jackrabbit.webdav.observation.ObservationResource)
-
unsubscribe
public void unsubscribe(String subscriptionId) throws DavException
Description copied from interface:ObservationResource
Unsubscribe the event listener with the given SubscriptionId.- Specified by:
unsubscribe
in interfaceObservationResource
- Parameters:
subscriptionId
- as present in theSubscriptionId
header.- Throws:
DavException
- See Also:
ObservationResource.unsubscribe(String)
,SubscriptionManager.unsubscribe(String, org.apache.jackrabbit.webdav.observation.ObservationResource)
-
poll
public EventDiscovery poll(String subscriptionId, long timeout) throws DavException
Description copied from interface:ObservationResource
Retrieve the list of events that where recorded for the event listener with the given SubscriptionId.- Specified by:
poll
in interfaceObservationResource
- Parameters:
subscriptionId
- as present in theSubscriptionId
header.timeout
- as present in theObservationConstants.HEADER_POLL_TIMEOUT
header or 0 (zero) if none is present.- Returns:
EventDiscovery
object- Throws:
DavException
- See Also:
ObservationResource.poll(String, long)
,SubscriptionManager.poll(String, long, org.apache.jackrabbit.webdav.observation.ObservationResource)
-
getWorkspaceHref
protected String getWorkspaceHref()
Retrieve the href of the workspace the current session belongs to.- Returns:
- href of the workspace or
null
if this resource does not represent a repository item. - See Also:
AbstractResource.getWorkspaceHref()
-
getItemName
protected static String getItemName(String itemPath)
Retrieves the last segment of the given path and removes the index if present.- Parameters:
itemPath
-- Returns:
- valid jcr item name
-
getLocator
public DavResourceLocator getLocator()
Description copied from interface:DavResource
Returns thelocator
object for this webdav resource, which encapsulates the information for building the complete 'href'.- Specified by:
getLocator
in interfaceDavResource
- Returns:
- the locator for this resource.
- See Also:
DavResource.getLocator()
-
getResourcePath
public String getResourcePath()
Returns the path of the underlying repository item or the item to be created (PUT/MKCOL). If the resource exists but does not represent a repository itemnull
is returned.- Specified by:
getResourcePath
in interfaceDavResource
- Returns:
- path of the underlying repository item.
- See Also:
DavResource.getResourcePath()
,DavResourceLocator.getResourcePath()
-
getHref
public String getHref()
Description copied from interface:DavResource
Returns the absolute href of this resource as returned in the multistatus response body.- Specified by:
getHref
in interfaceDavResource
- Returns:
- href
- See Also:
DavResource.getHref()
,DavResourceLocator.getHref(boolean)
-
getPropertyNames
public DavPropertyName[] getPropertyNames()
Description copied from interface:DavResource
Returns an array of allproperty names
available on this resource.- Specified by:
getPropertyNames
in interfaceDavResource
- Returns:
- an array of property names.
- See Also:
DavResource.getPropertyNames()
-
getProperties
public DavPropertySet getProperties()
Description copied from interface:DavResource
Returns all webdav properties present on this resource that will be return upon aDavConstants.PROPFIND_ALL_PROP
request. The implementation may in addition expose other (protected or calculated) properties which should be marked accordingly (see alsoDavProperty.isInvisibleInAllprop()
.- Specified by:
getProperties
in interfaceDavResource
- Returns:
- a
DavPropertySet
containing at least all properties of this resource that are exposed in 'allprop' PROPFIND request. - See Also:
DavResource.getProperties()
-
isLockable
public boolean isLockable(Type type, Scope scope)
Returns true, if theSupportedLock
property contains an entry with the given type and scope. By default resources allow fortransaction
lock only.- Specified by:
isLockable
in interfaceDavResource
- Parameters:
type
-scope
-- Returns:
- true if this resource may be locked by the given type and scope.
- See Also:
DavResource.isLockable(org.apache.jackrabbit.webdav.lock.Type, org.apache.jackrabbit.webdav.lock.Scope)
-
getLocks
public ActiveLock[] getLocks()
Description copied from interface:DavResource
Returns an array of all locks applied to the given resource.- Specified by:
getLocks
in interfaceDavResource
- Returns:
- array of locks. The array is empty if there are no locks applied to this resource.
- See Also:
todo improve....
-
addLockManager
public void addLockManager(LockManager lockMgr)
Description copied from interface:DavResource
Add an externalLockManager
to this resource. This method may throwUnsupportedOperationException
if the resource does handle locking itself.- Specified by:
addLockManager
in interfaceDavResource
- See Also:
DavResource.addLockManager(org.apache.jackrabbit.webdav.lock.LockManager)
-
getFactory
public DavResourceFactory getFactory()
Description copied from interface:DavResource
Return theDavResourceFactory
that created this resource.- Specified by:
getFactory
in interfaceDavResource
- Returns:
- the factory that created this resource.
- See Also:
DavResource.getFactory()
-
getSession
public DavSession getSession()
Description copied from interface:DavResource
Retrieve theDavSession
associated with this resource.- Specified by:
getSession
in interfaceDavResource
- Returns:
- session object associated with this resource.
- See Also:
DavResource.getSession()
,DavResource.getSession()
-
init
public void init(TxLockManager txMgr, String transactionId)
Description copied from interface:TransactionResource
Initializes theTransactionResource
.- Specified by:
init
in interfaceTransactionResource
- See Also:
TransactionResource.init(TxLockManager, String)
-
unlock
public void unlock(String lockToken, TransactionInfo tInfo) throws DavException
Description copied from interface:TransactionResource
Overloads theunlock
method of theDavResource
interface.- Specified by:
unlock
in interfaceTransactionResource
- Parameters:
lockToken
- lock token as present in the request header.tInfo
- transaction info object as present in the UNLOCK request body.- Throws:
DavException
- if an error occurs- See Also:
TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
-
getTransactionId
public String getTransactionId()
Description copied from interface:TransactionResource
The TransactionId ornull
according to the value of the corresponding requestheader
field.- Specified by:
getTransactionId
in interfaceTransactionResource
- Returns:
- TransactionId header or
null
- See Also:
TransactionResource.getTransactionId()
-
getOptionResponse
public OptionsResponse getOptionResponse(OptionsInfo optionsInfo)
Description copied from interface:DeltaVResource
Retrieves the information requested in the OPTIONS request body and returns the corresponding values.- Specified by:
getOptionResponse
in interfaceDeltaVResource
- Parameters:
optionsInfo
-- Returns:
- object to be used in the OPTIONS response body or
null
- See Also:
DeltaVResource.getOptionResponse(org.apache.jackrabbit.webdav.version.OptionsInfo)
-
getReport
public Report getReport(ReportInfo reportInfo) throws DavException
Description copied from interface:DeltaVResource
Runs the report specified by the givenReportInfo
.- Specified by:
getReport
in interfaceDeltaVResource
- Parameters:
reportInfo
-- Returns:
- the requested report
- Throws:
DavException
- See Also:
DeltaVResource.getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo)
-
addWorkspace
public void addWorkspace(DavResource workspace) throws DavException
The JCR api does not provide methods to create new workspaces. CallingaddWorkspace
on this resource will always fail.- Specified by:
addWorkspace
in interfaceDeltaVResource
- Parameters:
workspace
-- Throws:
DavException
- Always throws.- See Also:
DeltaVResource.addWorkspace(org.apache.jackrabbit.webdav.DavResource)
-
getReferenceResources
public DavResource[] getReferenceResources(DavPropertyName hrefPropertyName) throws DavException
Return an array ofDavResource
objects that are referenced by the property with the specified name.- Specified by:
getReferenceResources
in interfaceDeltaVResource
- Parameters:
hrefPropertyName
-- Returns:
- array of
DavResource
s - Throws:
DavException
- See Also:
DeltaVResource.getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName)
-
getQueryGrammerSet
public QueryGrammerSet getQueryGrammerSet()
Description copied from interface:SearchResource
Returns the protected DAV:supported-method-set property which is defined mandatory by RTF 3253. This method call is a shortcut forDavResource.getProperty(SearchConstants.QUERY_GRAMMER_SET)
.- Specified by:
getQueryGrammerSet
in interfaceSearchResource
- Returns:
- See Also:
SearchResource.getQueryGrammerSet()
-
search
public MultiStatus search(SearchInfo sInfo) throws DavException
Description copied from interface:SearchResource
Runs a search with the language and query defined in theSearchInfo
object specified and returns aMultiStatus
object listing the results.- Specified by:
search
in interfaceSearchResource
- Parameters:
sInfo
-- Returns:
- Throws:
DavException
- See Also:
SearchResource.search(org.apache.jackrabbit.webdav.search.SearchInfo)
-
createResourceFromLocator
protected DavResource createResourceFromLocator(DavResourceLocator loc) throws DavException
Create a newDavResource
from the given locator.- Parameters:
loc
-- Returns:
- new
DavResource
- Throws:
DavException
-
getLocatorFromItemPath
protected DavResourceLocator getLocatorFromItemPath(String itemPath)
Build aDavResourceLocator
from the given itemPath path.- Parameters:
itemPath
-- Returns:
- a new
DavResourceLocator
- See Also:
DavLocatorFactory.createResourceLocator(String, String, String)
-
getLocatorFromItem
protected DavResourceLocator getLocatorFromItem(Item repositoryItem)
Build a newDavResourceLocator
from the given repository item.- Parameters:
repositoryItem
-- Returns:
- a new locator for the specified item.
- See Also:
getLocatorFromItemPath(String)
-
getRepositorySession
protected Session getRepositorySession()
Shortcut forgetSession().getRepositorySession()
- Returns:
- repository session present in the
AbstractResource.session
.
-
-