pnever      2002/10/09 05:57:34

  Modified:    src/webdav/server/org/apache/slide/webdav/util
                        VersioningHelper.java
  Log:
  Avoid direct usage of method PropertyHelper.computeCheckoutSet().
  
  Revision  Changes    Path
  1.78      +48 -44    
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.77
  retrieving revision 1.78
  diff -u -r1.77 -r1.78
  --- VersioningHelper.java     25 Sep 2002 05:49:42 -0000      1.77
  +++ VersioningHelper.java     9 Oct 2002 12:57:34 -0000       1.78
  @@ -293,7 +293,7 @@
               if( !vrNrd.exists(p.getName()) )
                   vrNrd.setProperty( p );
           }
  -
  +        
           // Copy content-type VCR->VR
           NodeRevisionContent rNrc = content.retrieve( sToken, rNrds, rNrd );
           vrNrd.setContentType(rNrd.getContentType()); // P_GETCONTENTTYPE
  @@ -393,8 +393,8 @@
           try {
               evNrds = content.retrieve( sToken, existingVersionPath );
               evNrd = content.retrieve( sToken, evNrds /*, evNrn*/ ); 
//existingVersionPath
  -                                                                    //redirector 
should do the job
  -                                                                    //s.t. evNrn is 
not required
  +            //redirector should do the job
  +            //s.t. evNrn is not required
           }
           catch( ObjectNotFoundException e ) {}; // can be ignored here!
           
  @@ -510,9 +510,9 @@
       protected SearchQueryResult searchResourcesWithGivenHistory(String historyPath, 
String scope, int maxDepth) throws ServiceAccessException, BadQueryException {
           
           // make it a relative scope
  -//      if (scope.startsWith("/")) {
  -//          scope = scope.substring (1);
  -//      }
  +        //      if (scope.startsWith("/")) {
  +        //          scope = scope.substring (1);
  +        //      }
           
           SlideUri slideUri = new SlideUri (req.getRequestURI());
           String absPath = slideUri.getContextPath (scope);
  @@ -529,8 +529,8 @@
           
           SearchQueryResult queryResult = searchHelper.search(sToken, searchQuery);
           return queryResult;
  -        }
  -        
  +    }
  +    
       
       /**
        * Returns the query document used to search all resources in the given
  @@ -858,8 +858,8 @@
               ViolatedPrecondition violatedPrecondition = 
getCheckoutPreconditionViolation(rNrds, rNrd, forkOk);
               if (violatedPrecondition != null) {
                   throw new PreconditionViolationException(violatedPrecondition, 
rNrds.getUri());
  -
  -
  +                
  +                
               }
               
               NodeRevisionDescriptors vhrNrds = content.retrieve(sToken, vhUri);
  @@ -963,17 +963,21 @@
                   
                   // check if the version is already checked out
                   PropertyHelper propertyHelper = new PropertyHelper(sToken, 
nsaToken);
  -                XMLValue checkoutSetValue = 
propertyHelper.computeCheckoutSet(cinNrds, cinNrd, req.getContextPath(), null);
  -                if (checkoutSetValue.iterator().hasNext()) {
  -                    
  -                    // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN
  -                    if (E_FORBIDDEN.equals(checkoutForkElement.getName()))  {
  -                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
  -                    }
  +                
  +                NodeProperty checkoutSetProp = 
propertyHelper.getProperty(P_CHECKOUT_SET, cinNrds, cinNrd, req.getContextPath(), 
null);
  +                if( checkoutSetProp != null && checkoutSetProp.getValue() != null ) 
{
  +                    XMLValue checkoutSetValue = new XMLValue( 
checkoutSetProp.getValue().toString() );
  +                    if (checkoutSetValue.iterator().hasNext()) {
                           
  -                        // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED
  -                    else if (E_DISCOURAGED.equals(checkoutForkElement.getName()) && 
!isForkOk)  {
  -                        return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
  +                        // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN
  +                        if (E_FORBIDDEN.equals(checkoutForkElement.getName()))  {
  +                            return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_FORBIDDEN, 
WebdavStatus.SC_FORBIDDEN);
  +                        }
  +                            
  +                            // check precondition 
C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED
  +                        else if 
(E_DISCOURAGED.equals(checkoutForkElement.getName()) && !isForkOk)  {
  +                            return new 
ViolatedPrecondition(C_CHECKOUT_OF_CHECKED_OUT_VERSION_IS_DISCOURAGED, 
WebdavStatus.SC_CONFLICT);
  +                        }
                       }
                   }
               }
  @@ -1097,7 +1101,7 @@
               NodeProperty coutProp = rNrd.getProperty( P_CHECKED_OUT );
               NodeProperty predSetProp = rNrd.getProperty( P_PREDECESSOR_SET );
               NodeProperty autoUpdProp = rNrd.getProperty( P_AUTO_UPDATE );
  -
  +            
               // prepare auto-update
               NodeRevisionDescriptors autoUpdNrds = null;
               NodeRevisionDescriptor autoUpdNrd = null;
  @@ -1139,7 +1143,7 @@
                   vrNrdNew.setContentLength(rNrd.getContentLength());
               }
               else {
  -            // Create new VR in the MAIN branch
  +                // Create new VR in the MAIN branch
                   vrNrdNew = new NodeRevisionDescriptor( rNrd.getContentLength() );
               }
               
  @@ -1215,8 +1219,8 @@
               if( keepCheckedOut || !isWorkingResource ) {
                   content.store( sToken, rUri, rNrd, null ); //revisionContent=null
                   try {
  -                // remove the hidden 0.0 revision and create new one if 
keepCheckedOut
  -                content.remove( sToken, rUri, NodeRevisionNumber.HIDDEN_0_0 );
  +                    // remove the hidden 0.0 revision and create new one if 
keepCheckedOut
  +                    content.remove( sToken, rUri, NodeRevisionNumber.HIDDEN_0_0 );
                   }
                   catch( RevisionDescriptorNotFoundException x ) {
                       // the implicit CHECKOUT from COPY (auto-versioning) does not 
create a
  @@ -1320,24 +1324,24 @@
                       
                       // check precondition C_NO_OVERWRITE_BY_AUTO_UPDATE
                       if( autoUpdNrd != null ) {
  -                    NodeProperty cinProp = autoUpdNrd.getProperty( P_CHECKED_IN );
  -                    if( cinProp != null ) {
  -                        Element cinHrefElm = pHelp.parsePropertyValue( 
(String)cinProp.getValue() );
  -                        UriHandler cinUh = new UriHandler( cinHrefElm.getTextTrim() 
);
  -                        NodeRevisionNumber cinNrn = new NodeRevisionNumber( 
cinUh.getVersionName() );
  +                        NodeProperty cinProp = autoUpdNrd.getProperty( P_CHECKED_IN 
);
  +                        if( cinProp != null ) {
  +                            Element cinHrefElm = pHelp.parsePropertyValue( 
(String)cinProp.getValue() );
  +                            UriHandler cinUh = new UriHandler( 
cinHrefElm.getTextTrim() );
  +                            NodeRevisionNumber cinNrn = new NodeRevisionNumber( 
cinUh.getVersionName() );
                               if( 
!vhrNrds.getUri().equals(cinUh.getAssociatedHistoryUri()) ) {
  -                            // violation
  -                            return new 
ViolatedPrecondition(C_NO_OVERWRITE_BY_AUTO_UPDATE, WebdavStatus.SC_CONFLICT);
  -                        }
  -                        if( !vhrNrds.isAncestorDescendant(cinNrn, predecessorNrn) ) 
{
  -                            // violation
  -                            return new 
ViolatedPrecondition(C_NO_OVERWRITE_BY_AUTO_UPDATE, WebdavStatus.SC_CONFLICT);
  +                                // violation
  +                                return new 
ViolatedPrecondition(C_NO_OVERWRITE_BY_AUTO_UPDATE, WebdavStatus.SC_CONFLICT);
  +                            }
  +                            if( !vhrNrds.isAncestorDescendant(cinNrn, 
predecessorNrn) ) {
  +                                // violation
  +                                return new 
ViolatedPrecondition(C_NO_OVERWRITE_BY_AUTO_UPDATE, WebdavStatus.SC_CONFLICT);
  +                            }
                           }
                       }
                   }
               }
           }
  -        }
           return violatedPrecondition;
       }
       
  @@ -1521,7 +1525,7 @@
           
           NodeRevisionDescriptor backupNrd =
               new NodeRevisionDescriptor( NodeRevisionNumber.HIDDEN_0_0, "backup", 
new Vector(), new Hashtable() );
  -
  +        
           NodeProperty p;
           
           p = rNrd.getProperty( P_AUTO_VERSION );
  @@ -1531,11 +1535,11 @@
           p = rNrd.getProperty( P_COMMENT );
           if( p != null )
               backupNrd.setProperty( p );
  -                
  +        
           p = rNrd.getProperty( P_DISPLAYNAME );
           if( p != null )
               backupNrd.setProperty( p );
  -                
  +        
           p = rNrd.getProperty( P_CREATOR_DISPLAYNAME );
           if( p != null )
               backupNrd.setProperty( p );
  @@ -1570,7 +1574,7 @@
           p = backupNrd.getProperty( P_AUTO_VERSION );
           if( p != null )
               rNrd.setProperty( p );
  -    
  +        
           p = backupNrd.getProperty( P_COMMENT );
           if( p != null )
               rNrd.setProperty( p );
  @@ -1604,7 +1608,7 @@
           NodeProperty autoVersionProperty = 
revisionDescriptor.getProperty(DeltavConstants.P_AUTO_VERSION);
           if ( (autoVersionProperty != null) && (autoVersionProperty.getValue() != 
null) ) {
               if (autoVersionProperty.getValue().toString().length() > 0) {
  -            autoVersionValue = 
getElementName(autoVersionProperty.getValue().toString());
  +                autoVersionValue = 
getElementName(autoVersionProperty.getValue().toString());
               }
               else {
                   autoVersionValue = "";
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to