[prev in list] [next in list] [prev in thread] [next in thread]
List: slide-dev
Subject: cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method DeleteMethod.java MoveMet
From: pnever () apache ! org
Date: 2002-10-24 8:30:07
[Download RAW message or body]
pnever 2002/10/24 01:30:06
Modified: src/webdav/server/org/apache/slide/webdav/method
DeleteMethod.java MoveMethod.java
Log:
Minor changes in the handling of a VR's DAV:checkout-set property
Revision Changes Path
1.28 +40 -40 \
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java
Index: DeleteMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/DeleteMethod.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- DeleteMethod.java 17 Oct 2002 16:05:05 -0000 1.27
+++ DeleteMethod.java 24 Oct 2002 08:30:06 -0000 1.28
@@ -63,38 +63,31 @@
package org.apache.slide.webdav.method;
-import java.security.Principal;
-import java.io.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.util.WebdavStatus;
-import org.apache.slide.common.*;
-import org.apache.slide.webdav.*;
-import org.apache.slide.macro.*;
-import org.apache.slide.lock.*;
-import org.apache.slide.content.*;
-import org.apache.slide.security.AccessDeniedException;
-import org.apache.slide.security.NodePermission;
-import org.apache.slide.structure.*;
+import java.io.IOException;
+import org.apache.slide.common.NamespaceAccessToken;
+import org.apache.slide.common.SlideException;
+import org.apache.slide.content.NodeRevisionDescriptor;
+import org.apache.slide.content.NodeRevisionDescriptors;
+import org.apache.slide.content.RevisionDescriptorNotFoundException;
+import org.apache.slide.macro.DeleteListener;
+import org.apache.slide.macro.DeleteMacroException;
+import org.apache.slide.structure.ObjectNotFoundException;
+import org.apache.slide.util.Configuration;
+import org.apache.slide.webdav.WebdavException;
+import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.ViolatedPrecondition;
+import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.DeltavConstants;
-import org.apache.slide.webdav.util.XMLValue;
import org.apache.slide.webdav.util.VersioningHelper;
-import org.apache.slide.webdav.util.PropertyHelper;
+import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
-import org.apache.slide.webdav.util.resourcekind.ResourceKind;
import org.apache.slide.webdav.util.resourcekind.CheckedOutVersionControlled;
+import org.apache.slide.webdav.util.resourcekind.ResourceKind;
import org.apache.slide.webdav.util.resourcekind.Working;
-import org.apache.slide.util.Configuration;
-
-import org.jdom.Element;
+import org.apache.util.WebdavStatus;
import org.jdom.JDOMException;
-import org.jdom.output.XMLOutputter;
-
/**
* DELETE method.
*
@@ -138,7 +131,7 @@
/**
* Constructor.
- *
+ *
* @param token the token for accessing the namespace
* @param config configuration of the WebDAV servlet
*/
@@ -246,31 +239,38 @@
public void beforeDelete(String targetUri) throws SlideException {
if(Configuration.useVersionControl()) {
-
+
uriHandler = UriHandler.getUriHandler(targetUri);
if (uriHandler.isVersionUri() && !isCollection) {
// delete of version is only allowed if the history collection is \
deleted
- throw new PreconditionViolationException(new \
ViolatedPrecondition(C_NO_VERSION_DELETE,
- \
WebdavStatus.SC_FORBIDDEN),
- targetUri);
+ throw new PreconditionViolationException(new \
ViolatedPrecondition(C_NO_VERSION_DELETE, + \
WebdavStatus.SC_FORBIDDEN), + \
targetUri); }
-
- // if resource being removed is a checked-out VCR or a WR,
+
+ // if resource being removed is a checked-out VCR or a WR,
// remove its URI in the DAV:checkout-set property of the VR
NodeRevisionDescriptors nrds = content.retrieve(slideToken, \
targetUri);
NodeRevisionDescriptor nrd = content.retrieve(slideToken, nrds);
ResourceKind rk = AbstractResourceKind.determineResourceKind(token, \
nrds, nrd);
if(rk instanceof CheckedOutVersionControlled || rk instanceof Working) \
{
- String vrUri =
+ String vrUri =
VersioningHelper.getUriOfAssociatedVR(token, slideToken, \
content, targetUri);
- NodeRevisionDescriptors vrNrds = content.retrieve(slideToken, \
vrUri);
- NodeRevisionDescriptor vrNrd = content.retrieve(slideToken, \
vrNrds); try {
+ NodeRevisionDescriptors vrNrds = content.retrieve(slideToken, \
vrUri); + NodeRevisionDescriptor vrNrd = \
content.retrieve(slideToken, vrNrds);
PropertyHelper.removeHrefFromProperty(vrNrd, P_CHECKOUT_SET, \
targetUri);
- content.store(slideToken, vrUri, vrNrd, null);
+ content.store(slideToken, vrNrds.getUri(), vrNrd, null);
+ }
+ catch( ObjectNotFoundException e ) {
+ // Nothing to do if the VR is gone, e.g. because the VHR was \
deleted. + }
+ catch( RevisionDescriptorNotFoundException e ) {
+ // Nothing to do if the VR is gone, e.g. because the VHR was \
deleted. }
catch (JDOMException e) {
- e.printStackTrace();
+ throw new SlideException(
+ "Unable to update DAV:checkout-set of "+vrUri+": \
"+e.getMessage() ); }
}
}
@@ -291,6 +291,6 @@
}
-
+
}
1.55 +59 -63 \
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java
Index: MoveMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MoveMethod.java,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- MoveMethod.java 17 Oct 2002 16:05:05 -0000 1.54
+++ MoveMethod.java 24 Oct 2002 08:30:06 -0000 1.55
@@ -63,53 +63,48 @@
package org.apache.slide.webdav.method;
-import java.security.Principal;
-import java.io.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.util.WebdavStatus;
-import org.apache.slide.common.SlideTokenWrapper;
+import java.io.IOException;
+import java.util.Iterator;
import org.apache.slide.common.NamespaceAccessToken;
-import org.apache.slide.common.SlideException;
import org.apache.slide.common.ServiceAccessException;
-import org.apache.slide.webdav.*;
-import org.apache.slide.macro.*;
-import org.apache.slide.lock.*;
-import org.apache.slide.content.*;
+import org.apache.slide.common.SlideException;
+import org.apache.slide.common.SlideTokenWrapper;
+import org.apache.slide.content.NodeProperty;
import org.apache.slide.content.NodeProperty.NamespaceCache;
+import org.apache.slide.content.NodeRevisionDescriptor;
+import org.apache.slide.content.NodeRevisionDescriptors;
+import org.apache.slide.content.NodeRevisionNumber;
+import org.apache.slide.content.RevisionDescriptorNotFoundException;
+import org.apache.slide.content.RevisionNotFoundException;
+import org.apache.slide.macro.CopyListener;
+import org.apache.slide.macro.DeleteListener;
+import org.apache.slide.macro.Macro;
+import org.apache.slide.macro.MacroException;
+import org.apache.slide.macro.MacroParameters;
+import org.apache.slide.search.RequestedResource;
+import org.apache.slide.search.Search;
import org.apache.slide.search.SearchQuery;
import org.apache.slide.search.SearchQueryResult;
-import org.apache.slide.search.Search;
-import org.apache.slide.search.RequestedResource;
-import org.apache.slide.search.BadQueryException;
-import org.apache.slide.security.AccessDeniedException;
-import org.apache.slide.structure.*;
-
+import org.apache.slide.structure.ObjectNotFoundException;
+import org.apache.slide.util.Configuration;
+import org.apache.slide.webdav.WebdavException;
+import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.webdav.util.DaslConstants;
+import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.PreconditionViolationException;
-import org.apache.slide.webdav.util.ViolatedPrecondition;
+import org.apache.slide.webdav.util.PropertyHelper;
import org.apache.slide.webdav.util.UriHandler;
-import org.apache.slide.webdav.util.DeltavConstants;
-import org.apache.slide.webdav.util.XMLValue;
import org.apache.slide.webdav.util.VersioningHelper;
-import org.apache.slide.webdav.util.PropertyHelper;
-import org.apache.slide.webdav.util.DaslConstants;
-import org.apache.slide.webdav.util.AbstractWebdavHelper;
-
+import org.apache.slide.webdav.util.ViolatedPrecondition;
import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
-import org.apache.slide.webdav.util.resourcekind.ResourceKind;
import org.apache.slide.webdav.util.resourcekind.CheckedOutVersionControlled;
import org.apache.slide.webdav.util.resourcekind.DeltavCompliantUnmappedUrl;
-import org.apache.slide.webdav.util.resourcekind.Working;
-import org.apache.slide.webdav.util.resourcekind.Workspace;
+import org.apache.slide.webdav.util.resourcekind.ResourceKind;
import org.apache.slide.webdav.util.resourcekind.VersionControlled;
-
-import org.apache.slide.util.Configuration;
-
-import org.jdom.JDOMException;
+import org.apache.slide.webdav.util.resourcekind.Working;
+import org.apache.util.WebdavStatus;
import org.jdom.Element;
-
-import org.jdom.output.XMLOutputter;
+import org.jdom.JDOMException;
/**
* MOVE Method.
@@ -158,7 +153,7 @@
/**
* Constructor.
- *
+ *
* @param token the token for accessing the namespace
* @param config configuration of the WebDAV servlet
*/
@@ -373,24 +368,25 @@
\
sourceRevisionDescriptors,
\
sourceRevisionDescriptor);
isCopySourceVCR = (resourceKind instanceof VersionControlled);
-
- // if resource being moved is a checked-out VCR or a WR,
+
+ // if resource being moved is a checked-out VCR or a WR,
// update its URI in the DAV:checkout-set property of the VR
if(resourceKind instanceof CheckedOutVersionControlled || resourceKind \
instanceof Working) {
- String vrUri =
+ String vrUri =
VersioningHelper.getUriOfAssociatedVR(token, slideToken, \
content, sourceUri);
NodeRevisionDescriptors vrNrds = content.retrieve(slideToken, \
vrUri);
NodeRevisionDescriptor vrNrd = content.retrieve(slideToken, \
vrNrds); try {
PropertyHelper.removeHrefFromProperty(vrNrd, P_CHECKOUT_SET, \
sourceUri);
PropertyHelper.addHrefToProperty(vrNrd, P_CHECKOUT_SET, \
destinationUri);
- content.store(slideToken, vrUri, vrNrd, null);
+ content.store(slideToken, vrNrds.getUri(), vrNrd, null);
}
catch (JDOMException e) {
- e.printStackTrace();
+ throw new SlideException(
+ "Unable to update DAV:checkout-set of "+vrUri+": \
"+e.getMessage() ); }
}
- }
+ }
}
/**
@@ -414,13 +410,13 @@
content.retrieve( slideToken, destinationUri);
NodeRevisionDescriptor destinationNrd =
content.retrieve( slideToken, destinationNrds );
-
- // copy DeltaV-specific "0.0" revision if exists
- try {
+
+ // copy DeltaV-specific "0.0" revision if exists
+ try {
NodeRevisionDescriptor sourceNrd00 =
content.retrieve( slideToken, sourceNrds, \
NodeRevisionNumber.HIDDEN_0_0 );
NodeRevisionDescriptor destinationNrd00 = \
sourceNrd00.cloneObject();
-
+
try {
content.retrieve( slideToken, destinationNrds, \
NodeRevisionNumber.HIDDEN_0_0 );
content.store( slideToken, destinationUri, destinationNrd00, \
null ); // revisionContent=null @@ -428,17 +424,17 @@
catch( RevisionDescriptorNotFoundException x ) {
content.create( slideToken, destinationUri, null, \
destinationNrd00, null ); // branch=null, revisionContent=null }
- }
- catch (ServiceAccessException e) {
- throw e;
- }
- catch (SlideException e) {}
-
+ }
+ catch (ServiceAccessException e) {
+ throw e;
+ }
+ catch (SlideException e) {}
+
handleWorkspacePostconditions(destinationNrd, destinationUri);
handleWorkingResourcePostconditions(sourceUri, destinationUri);
}
}
-
+
/**
* Handles the working resource postconditions.
* <ul>
@@ -563,20 +559,20 @@
* @throws SlideException
*/
protected void handleWorkspacePostconditions(NodeRevisionDescriptor \
revisionDescriptor, String resourceUri) throws SlideException {
-
+
if( Configuration.useVersionControl() ) {
if (isRequestSourceWorkspace) {
- // DAV:workspace-moved
+ // DAV:workspace-moved
revisionDescriptor.setProperty(
new NodeProperty( P_WORKSPACE, \
propertyHelper.createHrefValue(this.destinationUri)) );
- }
- else {
- // DAV:workspace-member-moved
+ }
+ else {
+ // DAV:workspace-member-moved
versioningHelper.setWorkspaceProperty(resourceUri, \
revisionDescriptor); + }
+ content.store(slideToken, resourceUri, revisionDescriptor, null);
}
- content.store(slideToken, resourceUri, revisionDescriptor, null);
- }
}
@@ -608,5 +604,5 @@
*/
public void afterDelete(String targetUri) throws SlideException {
}
- }
+}
--
To unsubscribe, e-mail: <mailto:slide-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:slide-dev-help@jakarta.apache.org>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic