You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@locus.apache.org on 2000/12/12 00:45:51 UTC
cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method PutMethod.java
remm 00/12/11 15:45:51
Modified: src/webdav/server/org/apache/slide/webdav/method
PutMethod.java
Log:
- Prevent doing a PUT on an existing collection. I'm not 100% sure
we want to do this in Slide, though, so perhaps I'll change that behavior in
the future.
Bug reported by Jiantao Pan.
Revision Changes Path
1.3 +17 -3 jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java
Index: PutMethod.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PutMethod.java 2000/11/25 01:36:12 1.2
+++ PutMethod.java 2000/12/11 23:45:50 1.3
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v 1.2 2000/11/25 01:36:12 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2000/11/25 01:36:12 $
+ * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v 1.3 2000/12/11 23:45:50 remm Exp $
+ * $Revision: 1.3 $
+ * $Date: 2000/12/11 23:45:50 $
*
* ====================================================================
*
@@ -150,8 +150,22 @@
NodeRevisionDescriptors revisionDescriptors =
content.retrieve(slideToken, resourcePath);
+
NodeRevisionNumber revisionNumber =
revisionDescriptors.getLatestRevision();
+ NodeRevisionDescriptor oldRevisionDescriptor = null;
+ if (revisionNumber != null) {
+ try {
+ oldRevisionDescriptor = content.retrieve
+ (slideToken, revisionDescriptors);
+ } catch (RevisionDescriptorNotFoundException e) {
+ }
+ }
+ if (isCollection(oldRevisionDescriptor)) {
+ resp.setStatus(WebdavStatus.SC_CONFLICT);
+ return;
+ }
+
NodeRevisionDescriptor revisionDescriptor =
new NodeRevisionDescriptor(req.getContentLength());
NodeRevisionContent revisionContent =