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 pn...@apache.org on 2002/02/26 12:36:17 UTC

cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/method VersionControlMethod.java

pnever      02/02/26 03:36:17

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        VersionControlMethod.java
  Log:
  Refactoring: substituted DeltavHelper by new VersioningHelper, PropertyHelper and MethodHelper.
  
  Revision  Changes    Path
  1.3       +9 -121    jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java
  
  Index: VersionControlMethod.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- VersionControlMethod.java	22 Feb 2002 17:31:33 -0000	1.2
  +++ VersionControlMethod.java	26 Feb 2002 11:36:17 -0000	1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java,v 1.2 2002/02/22 17:31:33 pnever Exp $
  - * $Revision: 1.2 $
  - * $Date: 2002/02/22 17:31:33 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/VersionControlMethod.java,v 1.3 2002/02/26 11:36:17 pnever Exp $
  + * $Revision: 1.3 $
  + * $Date: 2002/02/26 11:36:17 $
    *
    * ====================================================================
    *
  @@ -80,7 +80,9 @@
   import org.apache.slide.content.NodeRevisionNumber;
   import org.apache.slide.webdav.WebdavServletConfig;
   import org.apache.slide.webdav.WebdavException;
  -import org.apache.slide.webdav.util.DeltavHelper;
  +import org.apache.slide.webdav.util.VersioningHelper;
  +import org.apache.slide.webdav.util.PropertyHelper;
  +import org.apache.slide.webdav.util.MethodHelper;
   import org.apache.slide.webdav.util.UriHandler;
   import org.apache.slide.webdav.util.DeltavConstants;
   import org.apache.util.WebdavStatus;
  @@ -134,127 +136,13 @@
        */
       protected void executeRequest() throws WebdavException {
           
  -        System.out.println("@@@@ VERSION-CONTROL: it works!!");
  -        
           // Prevent dirty reads
           slideToken.setForceStoreEnlistment(true);
           
           try {
  -            UriHandler uh = UriHandler.getUriHandler( token, resourcePath );
  -            DeltavHelper dvh = DeltavHelper.getDeltavHelper( token );
  -            Iterator i;
  -            
  -            String nrdsPath = resourcePath;
  -            if( uh.isVersionUri() )
  -                nrdsPath = uh.getAssociatedHistoryUri();
  -            
  -            System.out.println("@@@@ nrdsPath: "+nrdsPath);
  -            
  -            NodeRevisionDescriptors vcrNrds = content.retrieve( slideToken, nrdsPath );
  -            NodeRevisionDescriptor vcrNrd = content.retrieve( slideToken, vcrNrds );
  -            NodeRevisionContent vcrNrc = content.retrieve( slideToken, vcrNrds, vcrNrd );
  -            String resourceKind = dvh.determineResourceKind( vcrNrd );
  -            
  -            System.out.println("@@@@ resourceKind: "+resourceKind);
  -            
  -            if( !dvh.isSupportedMethod(M_VERSION_CONTROL, resourceKind) ) {
  -                resp.setStatus(WebdavStatus.SC_BAD_REQUEST);
  -                return;
  -            }
  -            
  -            // Check for resourceKind = K_VERSION_CONTROLLED*
  -            if( resourceKind == K_VERSION_CONTROLLED ) {
  -                // nothing to do
  -                resp.setStatus(WebdavStatus.SC_OK);
  -                return;
  -            }
  -            
  -            // Set initial VR properties
  -            NodeRevisionDescriptor vrNrd =
  -                new NodeRevisionDescriptor(req.getContentLength());
  -            i = dvh.createInitialProperties(K_VERSION).iterator();
  -            while( i.hasNext() )
  -                vrNrd.setProperty( (NodeProperty)i.next() );
  -            
  -            // Set initial VHR properties
  -            NodeRevisionNumber vhrNrn = new NodeRevisionNumber( 0, 0 ); //major=0; minor=0
  -            Vector vhrLabels = new Vector();
  -            Hashtable vhrProps = new Hashtable();
  -            String vhrBranch = NodeRevisionDescriptors.MAIN_BRANCH;
  -            NodeRevisionDescriptor vhrNrd =
  -                new NodeRevisionDescriptor( vhrNrn, vhrBranch, vhrLabels, vhrProps );
  -            i = dvh.createInitialProperties(K_VERSION_HISTORY).iterator();
  -            while( i.hasNext() )
  -                vhrNrd.setProperty( (NodeProperty)i.next() );
  -            
  -            // Set initial VCR properties (do not overwrite existing!!)
  -            i = dvh.createInitialProperties(K_VERSION_CONTROLLED).iterator();
  -            while( i.hasNext() ) {
  -                NodeProperty p = (NodeProperty)i.next();
  -                if( !vcrNrd.exists(p.getName()) )
  -                    vcrNrd.setProperty( p );
  -            }
  -            
  -            // Create VHR/VR
  -            UriHandler vhrUri = UriHandler.createNextHistoryUri( slideToken, token );
  -            String vhrUriStr = String.valueOf( vhrUri );
  -            SubjectNode vhrNode = new SubjectNode();
  -            structure.create( slideToken, vhrNode, String.valueOf(vhrUri) );
  -            content.create( slideToken, vhrUriStr, true ); //isVersioned=true
  -            content.create( slideToken, vhrUriStr, vrNrd, vcrNrc );
  -            NodeRevisionDescriptors vhrNrds =
  -                content.retrieve( slideToken, vhrUriStr );
  -            content.create(
  -                slideToken, vhrUriStr, null, vhrNrd, null ); //branch=null, revisionContent=null
  -            
  -            // Create VR node
  -            NodeRevisionNumber vrVersion = vrNrd.getRevisionNumber();
  -            SubjectNode vrNode = new SubjectNode();
  -            UriHandler vrUri =
  -                UriHandler.createVersionUri( token, vhrUri, String.valueOf(vrVersion) );
  -            String vrUriStr = String.valueOf( vrUri );
  -            structure.create( slideToken, vrNode, String.valueOf(vrUri) );
  -            
  -            // Set specific properties
  -            // First VCR ...
  -            vcrNrd.setProperty(
  -                new NodeProperty(P_VERSION_HISTORY, dvh.createHrefValue(vhrUriStr)) );
  -            vcrNrd.setProperty(
  -                new NodeProperty(P_CHECKED_IN, dvh.createHrefValue(vrUriStr)) );
  -            // ... then VHR ...
  -            vhrNrd.setETag( vhrUriStr.hashCode()+"_" ); // P_GETETAG
  -            vhrNrd.setLastModified( new Date() ); // P_GETLASTMODIFIED
  -            vhrNrd.setContentLength( 0 ); // P_GETCONTENTLENGTH
  -            vhrNrd.setName( vhrUri.getHistoryName() ); // P_DISPLAYNAME
  -            vhrNrd.setProperty(
  -                new NodeProperty(P_VERSION_SET, dvh.createHrefValue(vrUriStr)) );
  -            vhrNrd.setProperty(
  -                new NodeProperty(P_ROOT_VERSION, dvh.createHrefValue(vrUriStr)) );
  -            // ... and finally VR ...
  -            /* Content Type --start-- */
  -            String contentType = req.getContentType();
  -            if (contentType == null) {
  -                contentType = getConfig().getServletContext()
  -                    .getMimeType(resourcePath);
  -            }
  -            if (contentType == null) {
  -                contentType = getConfig().getDefaultMimeType();
  -            }
  -            vrNrd.setContentType(contentType); // P_GETCONTENTTYPE
  -            /* Content Type --end-- */
  -            vrNrd.setName( vrUri.getVersionName() ); // P_DISPLAYNAME
  -            vrNrd.setContentLanguage( "en" ); // P_GETCONTENTLANGUAGE
  -            vrNrd.setETag( vrUriStr.hashCode()+"_"+req.getContentLength() ); // P_GETETAG
  -            vrNrd.setCreationDate( new Date() ); // P_CREATIONDATE
  -            vrNrd.setProperty(
  -                new NodeProperty(P_VERSION_HISTORY, dvh.createHrefValue(vhrUriStr)) );
  -            vrNrd.setProperty(
  -                new NodeProperty(P_VERSION_NAME, vrUri.getVersionName()) );
  -            
  -            // Store changes
  -            content.store( slideToken, resourcePath, vcrNrd, null ); //revisionContent=null
  -            content.store( slideToken, vhrUriStr, vhrNrd, null ); //revisionContent=null
  -            content.store( slideToken, vhrUriStr, vrNrd, null ); //revisionContent=null
  +            VersioningHelper vh = VersioningHelper.getVersioningHelper(
  +                slideToken, token, req, resp, getConfig() );
  +            vh.versionControl( resourcePath );
           }
           catch (Exception e) {
               e.printStackTrace();
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>