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>

Reply via email to