Package org.apache.jackrabbit.webdav.jcr
Class WorkspaceResourceImpl
- java.lang.Object
-
- org.apache.jackrabbit.webdav.jcr.WorkspaceResourceImpl
-
- All Implemented Interfaces:
org.apache.jackrabbit.webdav.DavResource
,org.apache.jackrabbit.webdav.search.SearchResource
,org.apache.jackrabbit.webdav.transaction.TransactionResource
,org.apache.jackrabbit.webdav.version.DeltaVResource
,org.apache.jackrabbit.webdav.version.VersionableResource
,org.apache.jackrabbit.webdav.version.VersionControlledResource
,org.apache.jackrabbit.webdav.version.WorkspaceResource
public class WorkspaceResourceImpl extends Object implements org.apache.jackrabbit.webdav.version.WorkspaceResource, org.apache.jackrabbit.webdav.version.VersionControlledResource
WorkspaceResourceImpl
...
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
initedProps
protected org.apache.jackrabbit.webdav.property.DavPropertyNameSet
names
protected org.apache.jackrabbit.webdav.property.DavPropertySet
properties
protected org.apache.jackrabbit.webdav.lock.SupportedLock
supportedLock
protected org.apache.jackrabbit.webdav.version.report.SupportedReportSetProperty
supportedReports
-
Fields inherited from interface org.apache.jackrabbit.webdav.version.DeltaVResource
METHODS, METHODS_INCL_MKWORKSPACE
-
Fields inherited from interface org.apache.jackrabbit.webdav.transaction.TransactionResource
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLockManager(org.apache.jackrabbit.webdav.lock.LockManager lockMgr)
void
addMember(org.apache.jackrabbit.webdav.DavResource resource, org.apache.jackrabbit.webdav.io.InputContext inputContext)
Throws 403 exception (Forbidden)void
addVersionControl()
void
addWorkspace(org.apache.jackrabbit.webdav.DavResource workspace)
The JCR api does not provide methods to create new workspaces.org.apache.jackrabbit.webdav.MultiStatusResponse
alterProperties(List<? extends org.apache.jackrabbit.webdav.property.PropEntry> changeList)
Handles an attempt to setItemResourceConstants.JCR_NAMESPACES
and forwards any other set or remove requests to the super class.String
checkin()
void
checkout()
void
copy(org.apache.jackrabbit.webdav.DavResource destination, boolean shallow)
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
protected org.apache.jackrabbit.webdav.DavResource
createResourceFromLocator(org.apache.jackrabbit.webdav.DavResourceLocator loc)
Create a newDavResource
from the given locator.boolean
exists()
org.apache.jackrabbit.webdav.DavResource
getCollection()
Retrieve the collection that has all workspace collections as internal members.String
getComplianceClass()
Returns a string listing the compliance classes for this resource as it is required for the DAV response header.protected String
getCreationDate()
Returns the creation date which is used for theDavPropertyName.CREATIONDATE
property.protected String
getCreatorDisplayName()
Returns the display name of the creator which is used for the protectedDeltaVConstants.CREATOR_DISPLAYNAME
property.String
getDisplayName()
Returns the name of the workspace.org.apache.jackrabbit.webdav.DavResourceFactory
getFactory()
String
getHref()
org.apache.jackrabbit.webdav.DavResourceLocator
getLocator()
protected org.apache.jackrabbit.webdav.DavResourceLocator
getLocatorFromItem(Item repositoryItem)
Build a newDavResourceLocator
from the given repository item.protected org.apache.jackrabbit.webdav.DavResourceLocator
getLocatorFromItemPath(String itemPath)
Build aDavResourceLocator
from the given itemPath path.org.apache.jackrabbit.webdav.lock.ActiveLock
getLock(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
org.apache.jackrabbit.webdav.lock.ActiveLock[]
getLocks()
org.apache.jackrabbit.webdav.DavResourceIterator
getMembers()
Returns the resource representing the JCR root node.long
getModificationTime()
Always returns 'now'org.apache.jackrabbit.webdav.version.OptionsResponse
getOptionResponse(org.apache.jackrabbit.webdav.version.OptionsInfo optionsInfo)
org.apache.jackrabbit.webdav.property.DavPropertySet
getProperties()
org.apache.jackrabbit.webdav.property.DavProperty<?>
getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName name)
org.apache.jackrabbit.webdav.property.DavPropertyName[]
getPropertyNames()
org.apache.jackrabbit.webdav.search.QueryGrammerSet
getQueryGrammerSet()
org.apache.jackrabbit.webdav.DavResource[]
getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName hrefPropertyName)
Return an array ofDavResource
objects that are referenced by the property with the specified name.org.apache.jackrabbit.webdav.version.report.Report
getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo)
protected Session
getRepositorySession()
Shortcut forgetSession().getRepositorySession()
String
getResourcePath()
Returns the path of the underlying repository item or the item to be created (PUT/MKCOL).org.apache.jackrabbit.webdav.DavSession
getSession()
String
getSupportedMethods()
String
getTransactionId()
org.apache.jackrabbit.webdav.version.VersionHistoryResource
getVersionHistory()
protected String
getWorkspaceHref()
Retrieve the href of the workspace the current session belongs to.boolean
hasLock(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
Returns true if this resource has a lock applied with the given type and scope.void
init(org.apache.jackrabbit.webdav.transaction.TxLockManager txMgr, String transactionId)
protected void
initLockSupport()
Define the set of locks supported by this resource.protected void
initProperties()
Fill the set of default propertiesprotected void
initPropertyNames()
Property names common to all resources.protected void
initSupportedReports()
Define the set of reports supported by this resource.boolean
isCollection()
boolean
isLockable(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
Returns true, if theSupportedLock
property contains an entry with the given type and scope.void
label(org.apache.jackrabbit.webdav.version.LabelInfo labelInfo)
org.apache.jackrabbit.webdav.lock.ActiveLock
lock(org.apache.jackrabbit.webdav.lock.LockInfo reqLockInfo)
org.apache.jackrabbit.webdav.MultiStatus
merge(org.apache.jackrabbit.webdav.version.MergeInfo mergeInfo)
void
move(org.apache.jackrabbit.webdav.DavResource destination)
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
protected String
normalizeResourceHref(String href)
Normalize the resourcehref
.org.apache.jackrabbit.webdav.lock.ActiveLock
refreshLock(org.apache.jackrabbit.webdav.lock.LockInfo info, String lockToken)
Only transaction lock may be available on this resource.void
removeMember(org.apache.jackrabbit.webdav.DavResource member)
Throws 403 exception (Forbidden)void
removeProperty(org.apache.jackrabbit.webdav.property.DavPropertyName propertyName)
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
org.apache.jackrabbit.webdav.MultiStatus
search(org.apache.jackrabbit.webdav.search.SearchInfo sInfo)
void
setProperty(org.apache.jackrabbit.webdav.property.DavProperty<?> property)
Allows to alter the registered namespaces (ItemResourceConstants.JCR_NAMESPACES
) or register node typesItemResourceConstants.JCR_NODETYPES_CND
where the passed value is a cnd string containing the definition and forwards any other property to the super class.void
spool(org.apache.jackrabbit.webdav.io.OutputContext outputContext)
void
uncheckout()
void
unlock(String lockToken)
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
since only transaction locks may be present on this resource, that need to be released by callingTransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
.void
unlock(String lockToken, org.apache.jackrabbit.webdav.transaction.TransactionInfo tInfo)
org.apache.jackrabbit.webdav.MultiStatus
update(org.apache.jackrabbit.webdav.version.UpdateInfo updateInfo)
While RFC 3253 does not define any version-related operations for the workspace resource, this implementation usesVersionControlledResource.update(UpdateInfo)
to mapWorkspace.restore(javax.jcr.version.Version[], boolean)
to a WebDAV call.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
initedProps
protected boolean initedProps
-
properties
protected org.apache.jackrabbit.webdav.property.DavPropertySet properties
-
names
protected org.apache.jackrabbit.webdav.property.DavPropertyNameSet names
-
supportedLock
protected org.apache.jackrabbit.webdav.lock.SupportedLock supportedLock
-
supportedReports
protected org.apache.jackrabbit.webdav.version.report.SupportedReportSetProperty supportedReports
-
-
Method Detail
-
getProperty
public org.apache.jackrabbit.webdav.property.DavProperty<?> getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName name)
- Specified by:
getProperty
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
-
getSupportedMethods
public String getSupportedMethods()
- Specified by:
getSupportedMethods
in interfaceorg.apache.jackrabbit.webdav.DavResource
-
exists
public boolean exists()
- Specified by:
exists
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
- true if the workspace name (see
getDisplayName()
is present in the list of available workspace names such as exposed by the editing JCR session.
-
isCollection
public boolean isCollection()
- Specified by:
isCollection
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
- true
-
getDisplayName
public String getDisplayName()
Returns the name of the workspace.- Specified by:
getDisplayName
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
- The workspace name
- See Also:
DavResource.getDisplayName()
,Workspace.getName()
-
getModificationTime
public long getModificationTime()
Always returns 'now'- Specified by:
getModificationTime
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
-
spool
public void spool(org.apache.jackrabbit.webdav.io.OutputContext outputContext) throws IOException
- Specified by:
spool
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
outputContext
-- Throws:
IOException
-
getCollection
public org.apache.jackrabbit.webdav.DavResource getCollection()
Retrieve the collection that has all workspace collections as internal members.- Specified by:
getCollection
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getCollection()
-
addMember
public void addMember(org.apache.jackrabbit.webdav.DavResource resource, org.apache.jackrabbit.webdav.io.InputContext inputContext) throws org.apache.jackrabbit.webdav.DavException
Throws 403 exception (Forbidden)- Specified by:
addMember
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
resource
-inputContext
-- Throws:
org.apache.jackrabbit.webdav.DavException
-
getMembers
public org.apache.jackrabbit.webdav.DavResourceIterator getMembers()
Returns the resource representing the JCR root node.- Specified by:
getMembers
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
-
removeMember
public void removeMember(org.apache.jackrabbit.webdav.DavResource member) throws org.apache.jackrabbit.webdav.DavException
Throws 403 exception (Forbidden)- Specified by:
removeMember
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
member
-- Throws:
org.apache.jackrabbit.webdav.DavException
-
setProperty
public void setProperty(org.apache.jackrabbit.webdav.property.DavProperty<?> property) throws org.apache.jackrabbit.webdav.DavException
Allows to alter the registered namespaces (ItemResourceConstants.JCR_NAMESPACES
) or register node typesItemResourceConstants.JCR_NODETYPES_CND
where the passed value is a cnd string containing the definition and forwards any other property to the super class.Note that again no property status is set. Any failure while setting a property results in an exception (violating RFC 2518).
- Specified by:
setProperty
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
property
-- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
DavResource.setProperty(org.apache.jackrabbit.webdav.property.DavProperty)
-
alterProperties
public org.apache.jackrabbit.webdav.MultiStatusResponse alterProperties(List<? extends org.apache.jackrabbit.webdav.property.PropEntry> changeList) throws org.apache.jackrabbit.webdav.DavException
Handles an attempt to setItemResourceConstants.JCR_NAMESPACES
and forwards any other set or remove requests to the super class.- Specified by:
alterProperties
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
setProperty(DavProperty)
,DefaultItemCollection.alterProperties(List)
-
addVersionControl
public void addVersionControl() throws org.apache.jackrabbit.webdav.DavException
- Specified by:
addVersionControl
in interfaceorg.apache.jackrabbit.webdav.version.VersionableResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
checkin
public String checkin() throws org.apache.jackrabbit.webdav.DavException
- Specified by:
checkin
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
checkout
public void checkout() throws org.apache.jackrabbit.webdav.DavException
- Specified by:
checkout
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
uncheckout
public void uncheckout() throws org.apache.jackrabbit.webdav.DavException
- Specified by:
uncheckout
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
update
public org.apache.jackrabbit.webdav.MultiStatus update(org.apache.jackrabbit.webdav.version.UpdateInfo updateInfo) throws org.apache.jackrabbit.webdav.DavException
While RFC 3253 does not define any version-related operations for the workspace resource, this implementation usesVersionControlledResource.update(UpdateInfo)
to mapWorkspace.restore(javax.jcr.version.Version[], boolean)
to a WebDAV call.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 interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Parameters:
updateInfo
-- Returns:
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
VersionControlledResource.update(org.apache.jackrabbit.webdav.version.UpdateInfo)
-
merge
public org.apache.jackrabbit.webdav.MultiStatus merge(org.apache.jackrabbit.webdav.version.MergeInfo mergeInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
merge
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
label
public void label(org.apache.jackrabbit.webdav.version.LabelInfo labelInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
label
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
getVersionHistory
public org.apache.jackrabbit.webdav.version.VersionHistoryResource getVersionHistory() throws org.apache.jackrabbit.webdav.DavException
- Specified by:
getVersionHistory
in interfaceorg.apache.jackrabbit.webdav.version.VersionControlledResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- (403) since workspace is not versionable. implementingVersionControlledResource
only for 'update'.
-
initLockSupport
protected void initLockSupport()
Define the set of locks supported by this resource.- See Also:
SupportedLock
-
initSupportedReports
protected void initSupportedReports()
Define the set of reports supported by this resource.- See Also:
SupportedReportSetProperty
,AbstractResource.initSupportedReports()
-
getWorkspaceHref
protected String getWorkspaceHref()
Retrieve the href of the workspace the current session belongs to.- Returns:
- href of the workspace
-
initPropertyNames
protected void initPropertyNames()
Property names common to all resources.
-
initProperties
protected void initProperties()
Fill the set of default properties
-
getComplianceClass
public String getComplianceClass()
Returns a string listing the compliance classes for this resource as it is required for the DAV response header. This includes DAV 1, 2 which is supported by all derived classes as well as a subset of the classes defined by DeltaV: version-control, version-history, checkout-in-place, label, merge, update and workspace.
Those compliance classes are added as required by RFC3253 since all all resources in the jcr-server support at least the reporting and some basic versioning functionality.- Specified by:
getComplianceClass
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
- string listing the compliance classes.
- See Also:
DavResource.getComplianceClass()
-
getLocator
public org.apache.jackrabbit.webdav.DavResourceLocator getLocator()
- Specified by:
getLocator
in interfaceorg.apache.jackrabbit.webdav.DavResource
- 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 interfaceorg.apache.jackrabbit.webdav.DavResource
- Returns:
- path of the underlying repository item.
- See Also:
DavResource.getResourcePath()
,DavResourceLocator.getResourcePath()
-
getHref
public String getHref()
- Specified by:
getHref
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getHref()
,DavResourceLocator.getHref(boolean)
-
getPropertyNames
public org.apache.jackrabbit.webdav.property.DavPropertyName[] getPropertyNames()
- Specified by:
getPropertyNames
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getPropertyNames()
-
getProperties
public org.apache.jackrabbit.webdav.property.DavPropertySet getProperties()
- Specified by:
getProperties
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getProperties()
-
removeProperty
public void removeProperty(org.apache.jackrabbit.webdav.property.DavPropertyName propertyName) throws org.apache.jackrabbit.webdav.DavException
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- Specified by:
removeProperty
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
propertyName
-- Throws:
org.apache.jackrabbit.webdav.DavException
- Always throwsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- See Also:
DavResource.removeProperty(org.apache.jackrabbit.webdav.property.DavPropertyName)
-
move
public void move(org.apache.jackrabbit.webdav.DavResource destination) throws org.apache.jackrabbit.webdav.DavException
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- Specified by:
move
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
destination
-- Throws:
org.apache.jackrabbit.webdav.DavException
- Always throwsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- See Also:
DavResource.move(org.apache.jackrabbit.webdav.DavResource)
-
copy
public void copy(org.apache.jackrabbit.webdav.DavResource destination, boolean shallow) throws org.apache.jackrabbit.webdav.DavException
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- Specified by:
copy
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
destination
-shallow
-- Throws:
org.apache.jackrabbit.webdav.DavException
- Always throwsHttpServletResponse.SC_METHOD_NOT_ALLOWED
- See Also:
DavResource.copy(org.apache.jackrabbit.webdav.DavResource, boolean)
-
isLockable
public boolean isLockable(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.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 interfaceorg.apache.jackrabbit.webdav.DavResource
- 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)
-
hasLock
public boolean hasLock(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
Returns true if this resource has a lock applied with the given type and scope.- Specified by:
hasLock
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
type
-scope
-- Returns:
- true if this resource has a lock applied with the given type and scope.
- See Also:
DavResource.hasLock(Type, Scope)
-
getLock
public org.apache.jackrabbit.webdav.lock.ActiveLock getLock(org.apache.jackrabbit.webdav.lock.Type type, org.apache.jackrabbit.webdav.lock.Scope scope)
- Specified by:
getLock
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getLock(Type, Scope)
-
getLocks
public org.apache.jackrabbit.webdav.lock.ActiveLock[] getLocks()
- Specified by:
getLocks
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
todo improve....
-
lock
public org.apache.jackrabbit.webdav.lock.ActiveLock lock(org.apache.jackrabbit.webdav.lock.LockInfo reqLockInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
lock
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
DavResource.lock(org.apache.jackrabbit.webdav.lock.LockInfo)
-
refreshLock
public org.apache.jackrabbit.webdav.lock.ActiveLock refreshLock(org.apache.jackrabbit.webdav.lock.LockInfo info, String lockToken) throws org.apache.jackrabbit.webdav.DavException
Only transaction lock may be available on this resource.- Specified by:
refreshLock
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
info
-lockToken
-- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
DavResource.refreshLock(org.apache.jackrabbit.webdav.lock.LockInfo, String)
-
unlock
public void unlock(String lockToken) throws org.apache.jackrabbit.webdav.DavException
ThrowsHttpServletResponse.SC_METHOD_NOT_ALLOWED
since only transaction locks may be present on this resource, that need to be released by callingTransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
.- Specified by:
unlock
in interfaceorg.apache.jackrabbit.webdav.DavResource
- Parameters:
lockToken
-- Throws:
org.apache.jackrabbit.webdav.DavException
- Always throwsHttpServletResponse.SC_METHOD_NOT_ALLOWED
-
addLockManager
public void addLockManager(org.apache.jackrabbit.webdav.lock.LockManager lockMgr)
- Specified by:
addLockManager
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.addLockManager(org.apache.jackrabbit.webdav.lock.LockManager)
-
getFactory
public org.apache.jackrabbit.webdav.DavResourceFactory getFactory()
- Specified by:
getFactory
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getFactory()
-
getSession
public org.apache.jackrabbit.webdav.DavSession getSession()
- Specified by:
getSession
in interfaceorg.apache.jackrabbit.webdav.DavResource
- See Also:
DavResource.getSession()
,DavResource.getSession()
-
init
public void init(org.apache.jackrabbit.webdav.transaction.TxLockManager txMgr, String transactionId)
- Specified by:
init
in interfaceorg.apache.jackrabbit.webdav.transaction.TransactionResource
- See Also:
TransactionResource.init(TxLockManager, String)
-
unlock
public void unlock(String lockToken, org.apache.jackrabbit.webdav.transaction.TransactionInfo tInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
unlock
in interfaceorg.apache.jackrabbit.webdav.transaction.TransactionResource
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
TransactionResource.unlock(String, org.apache.jackrabbit.webdav.transaction.TransactionInfo)
-
getTransactionId
public String getTransactionId()
- Specified by:
getTransactionId
in interfaceorg.apache.jackrabbit.webdav.transaction.TransactionResource
- See Also:
TransactionResource.getTransactionId()
-
getOptionResponse
public org.apache.jackrabbit.webdav.version.OptionsResponse getOptionResponse(org.apache.jackrabbit.webdav.version.OptionsInfo optionsInfo)
- Specified by:
getOptionResponse
in interfaceorg.apache.jackrabbit.webdav.version.DeltaVResource
- 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 org.apache.jackrabbit.webdav.version.report.Report getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
getReport
in interfaceorg.apache.jackrabbit.webdav.version.DeltaVResource
- Parameters:
reportInfo
-- Returns:
- the requested report
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
DeltaVResource.getReport(org.apache.jackrabbit.webdav.version.report.ReportInfo)
-
addWorkspace
public void addWorkspace(org.apache.jackrabbit.webdav.DavResource workspace) throws org.apache.jackrabbit.webdav.DavException
The JCR api does not provide methods to create new workspaces. CallingaddWorkspace
on this resource will always fail.- Specified by:
addWorkspace
in interfaceorg.apache.jackrabbit.webdav.version.DeltaVResource
- Parameters:
workspace
-- Throws:
org.apache.jackrabbit.webdav.DavException
- Always throws.- See Also:
DeltaVResource.addWorkspace(org.apache.jackrabbit.webdav.DavResource)
-
getReferenceResources
public org.apache.jackrabbit.webdav.DavResource[] getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName hrefPropertyName) throws org.apache.jackrabbit.webdav.DavException
Return an array ofDavResource
objects that are referenced by the property with the specified name.- Specified by:
getReferenceResources
in interfaceorg.apache.jackrabbit.webdav.version.DeltaVResource
- Parameters:
hrefPropertyName
-- Returns:
- array of
DavResource
s - Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
DeltaVResource.getReferenceResources(org.apache.jackrabbit.webdav.property.DavPropertyName)
-
getQueryGrammerSet
public org.apache.jackrabbit.webdav.search.QueryGrammerSet getQueryGrammerSet()
- Specified by:
getQueryGrammerSet
in interfaceorg.apache.jackrabbit.webdav.search.SearchResource
- Returns:
- See Also:
SearchResource.getQueryGrammerSet()
-
search
public org.apache.jackrabbit.webdav.MultiStatus search(org.apache.jackrabbit.webdav.search.SearchInfo sInfo) throws org.apache.jackrabbit.webdav.DavException
- Specified by:
search
in interfaceorg.apache.jackrabbit.webdav.search.SearchResource
- Parameters:
sInfo
-- Returns:
- Throws:
org.apache.jackrabbit.webdav.DavException
- See Also:
SearchResource.search(org.apache.jackrabbit.webdav.search.SearchInfo)
-
createResourceFromLocator
protected org.apache.jackrabbit.webdav.DavResource createResourceFromLocator(org.apache.jackrabbit.webdav.DavResourceLocator loc) throws org.apache.jackrabbit.webdav.DavException
Create a newDavResource
from the given locator.- Parameters:
loc
-- Returns:
- new
DavResource
- Throws:
org.apache.jackrabbit.webdav.DavException
-
getLocatorFromItemPath
protected org.apache.jackrabbit.webdav.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 org.apache.jackrabbit.webdav.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
.
-
getCreatorDisplayName
protected String getCreatorDisplayName()
Returns the display name of the creator which is used for the protectedDeltaVConstants.CREATOR_DISPLAYNAME
property.- Returns:
- always
null
; subclasses may provide a regular value.
-
getCreationDate
protected String getCreationDate()
Returns the creation date which is used for theDavPropertyName.CREATIONDATE
property.- Returns:
- a dummy date; subclasses may provide a reasonable value.
-
-