pnever 2002/10/24 01:31:05
Modified: src/webdav/server/org/apache/slide/webdav/util
VersioningHelper.java
Log:
Minor changes in the handling of a VR's DAV:checkout-set property and
added handling for CHECKIN.
Revision Changes Path
1.80 +51 -53
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java
Index: VersioningHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/VersioningHelper.java,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- VersioningHelper.java 17 Oct 2002 16:05:05 -0000 1.79
+++ VersioningHelper.java 24 Oct 2002 08:31:05 -0000 1.80
@@ -63,28 +63,21 @@
package org.apache.slide.webdav.util;
-import java.io.*;
-import java.util.*;
-
-import org.jdom.Element;
-import org.jdom.Document;
-import org.jdom.Namespace;
-import org.jdom.JDOMException;
-
-import org.jdom.input.SAXBuilder;
-
-import org.jdom.output.XMLOutputter;
-
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Vector;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-import org.apache.slide.common.SlideToken;
-import org.apache.slide.common.SlideTokenWrapper;
-import org.apache.slide.common.Uri;
import org.apache.slide.common.Domain;
import org.apache.slide.common.NamespaceAccessToken;
import org.apache.slide.common.ServiceAccessException;
-
+import org.apache.slide.common.SlideException;
+import org.apache.slide.common.SlideToken;
+import org.apache.slide.common.SlideTokenWrapper;
import org.apache.slide.content.Content;
import org.apache.slide.content.NodeProperty;
import org.apache.slide.content.NodeProperty.NamespaceCache;
@@ -93,45 +86,49 @@
import org.apache.slide.content.NodeRevisionDescriptors;
import org.apache.slide.content.NodeRevisionNumber;
import org.apache.slide.content.RevisionDescriptorNotFoundException;
-
-import org.apache.slide.lock.ObjectLockedException;
+import org.apache.slide.lock.Lock;
import org.apache.slide.lock.LockTokenNotFoundException;
import org.apache.slide.lock.NodeLock;
-import org.apache.slide.lock.Lock;
-
+import org.apache.slide.lock.ObjectLockedException;
import org.apache.slide.macro.Macro;
-import org.apache.slide.macro.DeleteMacroException;
-
+import org.apache.slide.search.BadQueryException;
import org.apache.slide.search.Search;
import org.apache.slide.search.SearchQuery;
import org.apache.slide.search.SearchQueryResult;
-import org.apache.slide.search.BadQueryException;
import org.apache.slide.search.SlideUri;
-
import org.apache.slide.search.basic.Literals;
-
import org.apache.slide.security.AccessDeniedException;
-
-import org.apache.slide.structure.Structure;
-import org.apache.slide.structure.ObjectNode;
-import org.apache.slide.structure.SubjectNode;
import org.apache.slide.structure.ActionNode;
-import org.apache.slide.structure.ObjectNotFoundException;
import org.apache.slide.structure.LinkedObjectNotFoundException;
-
-import org.apache.slide.webdav.WebdavServletConfig;
+import org.apache.slide.structure.ObjectNotFoundException;
+import org.apache.slide.structure.Structure;
+import org.apache.slide.structure.SubjectNode;
import org.apache.slide.webdav.WebdavException;
-
+import org.apache.slide.webdav.WebdavServletConfig;
import org.apache.slide.webdav.method.MethodNotAllowedException;
-
+import org.apache.slide.webdav.util.DeltavConstants;
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.resourcekind.*;
-
+import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
+import org.apache.slide.webdav.util.resourcekind.CheckedInVersionControlled;
+import org.apache.slide.webdav.util.resourcekind.CheckedInVersionControlledImpl;
+import org.apache.slide.webdav.util.resourcekind.CheckedOut;
+import org.apache.slide.webdav.util.resourcekind.CheckedOutVersionControlled;
+import org.apache.slide.webdav.util.resourcekind.DeltavCompliantUnmappedUrl;
+import org.apache.slide.webdav.util.resourcekind.ResourceKind;
+import org.apache.slide.webdav.util.resourcekind.Version;
+import org.apache.slide.webdav.util.resourcekind.VersionControlled;
+import org.apache.slide.webdav.util.resourcekind.VersionControlledImpl;
+import org.apache.slide.webdav.util.resourcekind.VersionHistoryImpl;
+import org.apache.slide.webdav.util.resourcekind.VersionImpl;
+import org.apache.slide.webdav.util.resourcekind.Working;
+import org.apache.slide.webdav.util.resourcekind.WorkingImpl;
+import org.apache.slide.webdav.util.resourcekind.WorkspaceImpl;
import org.apache.util.WebdavStatus;
-
-import org.apache.slide.common.SlideException;
+import org.jdom.Document;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
/**
@@ -810,7 +807,7 @@
// update checked-in VR's DAV:checkout-set property
PropertyHelper.addHrefToProperty(cinNrd, P_CHECKOUT_SET, rUri);
-
+
// Store changes
content.store( sToken, rNrds.getUri(), rNrd, null );
//revisionContent=null
content.store( sToken, cinNrds.getUri(), cinNrd, null );
@@ -867,10 +864,6 @@
}
NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, vhUri);
-
- // update version's DAV:checkout-set property
- PropertyHelper.addHrefToProperty(rNrd, P_CHECKOUT_SET, autoUpdateUri);
- content.store( sToken, rNrds.getUri(), rNrd, null);
// create the workingresource
UriHandler wrUh = UriHandler.createNextWorkingresourceUri( sToken,
nsaToken, rUh );
@@ -919,6 +912,11 @@
wrNrd.setProperty( p );
}
+ // update version's DAV:checkout-set property
+ PropertyHelper.addHrefToProperty(rNrd, P_CHECKOUT_SET, wrUri);
+ content.store( sToken, rNrds.getUri(), rNrd, null);
+
+ // store changes
content.create( sToken, wrUri, wrNrd, rNrc );
// Set status created
@@ -1039,6 +1037,7 @@
NodeRevisionDescriptors coutNrds = content.retrieve(sToken, coutUri);
NodeRevisionDescriptor coutNrd = content.retrieve(sToken, coutNrds,
coutNrn);
NodeRevisionContent coutNrc = content.retrieve( sToken, coutNrds, coutNrd );
+
// update its DAV:checkout-set property
PropertyHelper.removeHrefFromProperty(coutNrd, P_CHECKOUT_SET, rUri);
content.store(sToken, coutNrds.getUri(), coutNrd, null);
@@ -1137,6 +1136,10 @@
NodeRevisionDescriptor vrNrdOld =
content.retrieve( sToken, vhrNrds, vrNrnOld ); // vrUriOld
+ // update the old VR's DAV:checkout-set property
+ PropertyHelper.removeHrefFromProperty(vrNrdOld, P_CHECKOUT_SET, rUri);
+ content.store(sToken, vhrNrds.getUri(), vrNrdOld, null);
+
ViolatedPrecondition violatedPrecondition =
getCheckinPreconditionViolation( predSetProp, vhrNrds, forkOk,
autoUpdNrd );
if (violatedPrecondition != null) {
@@ -1256,11 +1259,6 @@
// Set status created
resp.setStatus( WebdavStatus.SC_CREATED );
return vrUriNew;
- }
- else if( rRk instanceof Working ) {
- Domain.info(
- "Working resource feature NOT YET IMPLEMENTED" );
- return null;
}
else {
Domain.warn(
--
To unsubscribe, e-mail: <mailto:slide-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:slide-dev-help@;jakarta.apache.org>