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 2004/05/07 18:11:30 UTC

cvs commit: jakarta-slide/proposals/wvcm/src/javax/wvcm ControllableFolder.java

pnever      2004/05/07 09:11:30

  Modified:    proposals/wvcm/src/org/apache/wvcm/store/webdav
                        WorkspaceWebdavAccessor.java
                        FolderWebdavAccessor.java
                        ControllableFolderWebdavAccessor.java
               proposals/wvcm/src/org/apache/wvcm WorkspaceImpl.java
                        ControllableFolderImpl.java
               proposals/wvcm/src/org/apache/wvcm/store
                        WorkspaceAccessor.java FolderAccessor.java
                        ControllableFolderAccessor.java
               proposals/wvcm/src/org/apache/wvcm/store/webdav/response
                        PropertiesFactory.java
               proposals/wvcm/src/javax/wvcm ControllableFolder.java
  Log:
  Pushed method doLocateByHistory up from Workspace to ControllableFolder
  (This is non-Standard ... but the DeltaV report applies to collections and
  not only to Workspaces ... so will try to convince the EG).
  
  Revision  Changes    Path
  1.13      +4 -58     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/WorkspaceWebdavAccessor.java
  
  Index: WorkspaceWebdavAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/WorkspaceWebdavAccessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WorkspaceWebdavAccessor.java	8 Dec 2003 17:14:23 -0000	1.12
  +++ WorkspaceWebdavAccessor.java	7 May 2004 16:11:29 -0000	1.13
  @@ -74,7 +74,6 @@
   import org.apache.wvcm.LocationImpl;
   import org.apache.wvcm.store.WorkspaceAccessor;
   import org.apache.wvcm.store.webdav.request.ReportRequest;
  -import org.apache.wvcm.store.webdav.request.ReportRequest.LocateByHistoryReportRequest;
   import org.apache.wvcm.store.webdav.response.ErrorResponse;
   import org.apache.wvcm.store.webdav.response.MultistatusResponse;
   
  @@ -128,59 +127,6 @@
           catch (java.io.IOException e) {
               throw new WvcmException(
                   "Write failed", resourcepath, ReasonCode.WRITE_FAILED, new Exception[]{e});
  -        }
  -        finally {
  -            method.releaseConnection();
  -        }
  -    }
  -    
  -    /**
  -     * Return a list of {@link ControllableResource} objects
  -     * that identify the controllable resources that are members of
  -     * this {@link Workspace} and whose versionHistory property identifies
  -     * a member of the <code>versionHistoryList</code> parameter.
  -     * @param versionHistoryList A list of {@link VersionHistory} objects that
  -     * are being located.
  -     * @param wantedPropertyList The properties to be retrieved for the
  -     * returned version-controlled resources.
  -     */
  -    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException {
  -        LocationImpl loc = (LocationImpl)resource().location();
  -        String resourcepath = loc.path();
  -        ReportMethod method = new ReportMethod(loc.escapedPath());
  -        ReportRequest req = new LocateByHistoryReportRequest( versionHistoryList, wantedPropertyList );
  -        method.setRequestBody( req.reqBodyAsString() );
  -        method.addRequestHeader( "Content-Type", "text/xml; charset=\"utf-8\"" );
  -        method.addRequestHeader( "Depth", "infinity" );
  -        
  -        try {
  -            client().executeMethod( method );
  -            int sc = method.getStatusCode();
  -            String st = method.getStatusText();
  -            switch( sc ) {
  -                case HttpStatus.SC_MULTI_STATUS:
  -                    MultistatusResponse resp =
  -                        new MultistatusResponse( resource(), method.getResponseBodyAsStream(),wantedPropertyList );
  -                    return resp.createResourceProxies();
  -                case HttpStatus.SC_FORBIDDEN:
  -                case HttpStatus.SC_CONFLICT:
  -                    ErrorResponse errorRsp = new ErrorResponse( method.getResponseBodyAsStream() );
  -                    throw new WvcmException(
  -                        st, resourcepath, errorRsp.getWvcmReasonCode(), null);
  -                case HttpStatus.SC_NOT_FOUND:
  -                    throw new WvcmException(
  -                        st, resourcepath, ReasonCode.NOT_FOUND, null);
  -                case HttpStatus.SC_UNAUTHORIZED:
  -                    throw new WvcmException(
  -                        st, resourcepath, ReasonCode.UNAUTHORIZED, null);
  -                default:
  -                    throw new WvcmException(
  -                        st, resourcepath, ReasonCode.FORBIDDEN, null);
  -            }
  -        }
  -        catch (java.io.IOException e) {
  -            throw new WvcmException(
  -                "Read failed", resourcepath, ReasonCode.READ_FAILED, new Exception[]{e});
           }
           finally {
               method.releaseConnection();
  
  
  
  1.13      +58 -4     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/FolderWebdavAccessor.java
  
  Index: FolderWebdavAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/FolderWebdavAccessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- FolderWebdavAccessor.java	8 Dec 2003 17:14:22 -0000	1.12
  +++ FolderWebdavAccessor.java	7 May 2004 16:11:29 -0000	1.13
  @@ -79,6 +79,7 @@
   import org.apache.wvcm.store.webdav.request.RebindRequest;
   import org.apache.wvcm.store.webdav.request.ReportRequest;
   import org.apache.wvcm.store.webdav.request.ReportRequest.ExpandPropertyReportRequest;
  +import org.apache.wvcm.store.webdav.request.ReportRequest.LocateByHistoryReportRequest;
   import org.apache.wvcm.store.webdav.request.UnbindRequest;
   import org.apache.wvcm.store.webdav.response.ErrorResponse;
   import org.apache.wvcm.store.webdav.response.MultistatusResponse;
  @@ -336,6 +337,59 @@
                       else {
                           break;
                       }
  +                default:
  +                    throw new WvcmException(
  +                        st, resourcepath, ReasonCode.FORBIDDEN, null);
  +            }
  +        }
  +        catch (java.io.IOException e) {
  +            throw new WvcmException(
  +                "Read failed", resourcepath, ReasonCode.READ_FAILED, new Exception[]{e});
  +        }
  +        finally {
  +            method.releaseConnection();
  +        }
  +    }
  +    
  +    /**
  +     * Return a list of {@link ControllableResource} objects
  +     * that identify the controllable resources that are members of
  +     * this {@link ControllableFolder} and whose versionHistory property identifies
  +     * a member of the <code>versionHistoryList</code> parameter.
  +     * @param versionHistoryList A list of {@link VersionHistory} objects that
  +     * are being located.
  +     * @param wantedPropertyList The properties to be retrieved for the
  +     * returned version-controlled resources.
  +     */
  +    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException {
  +        LocationImpl loc = (LocationImpl)resource().location();
  +        String resourcepath = loc.path();
  +        ReportMethod method = new ReportMethod(loc.escapedPath());
  +        ReportRequest req = new LocateByHistoryReportRequest( versionHistoryList, wantedPropertyList );
  +        method.setRequestBody( req.reqBodyAsString() );
  +        method.addRequestHeader( "Content-Type", "text/xml; charset=\"utf-8\"" );
  +        method.addRequestHeader( "Depth", "infinity" );
  +        
  +        try {
  +            client().executeMethod( method );
  +            int sc = method.getStatusCode();
  +            String st = method.getStatusText();
  +            switch( sc ) {
  +                case HttpStatus.SC_MULTI_STATUS:
  +                    MultistatusResponse resp =
  +                        new MultistatusResponse( resource(), method.getResponseBodyAsStream(),wantedPropertyList );
  +                    return resp.createResourceProxies();
  +                case HttpStatus.SC_FORBIDDEN:
  +                case HttpStatus.SC_CONFLICT:
  +                    ErrorResponse errorRsp = new ErrorResponse( method.getResponseBodyAsStream() );
  +                    throw new WvcmException(
  +                        st, resourcepath, errorRsp.getWvcmReasonCode(), null);
  +                case HttpStatus.SC_NOT_FOUND:
  +                    throw new WvcmException(
  +                        st, resourcepath, ReasonCode.NOT_FOUND, null);
  +                case HttpStatus.SC_UNAUTHORIZED:
  +                    throw new WvcmException(
  +                        st, resourcepath, ReasonCode.UNAUTHORIZED, null);
                   default:
                       throw new WvcmException(
                           st, resourcepath, ReasonCode.FORBIDDEN, null);
  
  
  
  1.3       +10 -4     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/ControllableFolderWebdavAccessor.java
  
  Index: ControllableFolderWebdavAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/ControllableFolderWebdavAccessor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ControllableFolderWebdavAccessor.java	8 Dec 2003 17:14:22 -0000	1.2
  +++ ControllableFolderWebdavAccessor.java	7 May 2004 16:11:29 -0000	1.3
  @@ -63,14 +63,20 @@
   
   package org.apache.wvcm.store.webdav;
   
  +import java.util.List;
  +import javax.wvcm.PropertyNameList;
   import javax.wvcm.Resource;
   import javax.wvcm.WvcmException;
   import javax.wvcm.WvcmException.ReasonCode;
   import org.apache.commons.httpclient.HttpMethod;
   import org.apache.commons.httpclient.HttpStatus;
   import org.apache.webdav.methods.MkcolMethod;
  +import org.apache.webdav.methods.ReportMethod;
   import org.apache.wvcm.LocationImpl;
   import org.apache.wvcm.store.ControllableFolderAccessor;
  +import org.apache.wvcm.store.webdav.request.ReportRequest;
  +import org.apache.wvcm.store.webdav.response.ErrorResponse;
  +import org.apache.wvcm.store.webdav.response.MultistatusResponse;
   
   /**
    * WebDAV-based implementation of FolderResourceAccessor.
  
  
  
  1.13      +4 -18     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/WorkspaceImpl.java
  
  Index: WorkspaceImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/WorkspaceImpl.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WorkspaceImpl.java	8 Dec 2003 17:14:26 -0000	1.12
  +++ WorkspaceImpl.java	7 May 2004 16:11:29 -0000	1.13
  @@ -189,20 +189,6 @@
       }
       
       /**
  -     * Return a list of {@link ControllableResource} objects
  -     * that identify the controllable resources that are members of
  -     * this {@link Workspace} and whose versionHistory property identifies
  -     * a member of the <code>versionHistoryList</code> parameter.
  -     * @param versionHistoryList A list of {@link VersionHistory} objects that
  -     * are being located.
  -     * @param wantedPropertyList The properties to be retrieved for the
  -     * returned version-controlled resources.
  -     */
  -    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException {
  -        return ((WorkspaceAccessor)accessor()).doLocateByHistoryReport( versionHistoryList, wantedPropertyList );
  -    }
  -    
  -    /**
        * Return a list of {@link Activity} objects that identify
        * the activities that will initialize the ActivityList property
        * of a version-controlled member of this {@link Workspace} when that member
  
  
  
  1.3       +18 -4     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/ControllableFolderImpl.java
  
  Index: ControllableFolderImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/ControllableFolderImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ControllableFolderImpl.java	8 Dec 2003 17:14:26 -0000	1.2
  +++ ControllableFolderImpl.java	7 May 2004 16:11:29 -0000	1.3
  @@ -221,5 +221,19 @@
           return folderAccessor().doReadMemberList( wantedPropertyList, deep);
       }
       
  +    /**
  +     * Return a list of {@link ControllableResource} objects
  +     * that identify the controllable resources that are members of
  +     * this {@link Workspace} and whose versionHistory property identifies
  +     * a member of the <code>versionHistoryList</code> parameter.
  +     * @param versionHistoryList A list of {@link VersionHistory} objects that
  +     * are being located.
  +     * @param wantedPropertyList The properties to be retrieved for the
  +     * returned version-controlled resources.
  +     */
  +    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException {
  +        return folderAccessor().doLocateByHistoryReport( versionHistoryList, wantedPropertyList );
  +    }
  +    
   }
   
  
  
  
  1.13      +4 -16     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/WorkspaceAccessor.java
  
  Index: WorkspaceAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/WorkspaceAccessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WorkspaceAccessor.java	8 Dec 2003 17:14:24 -0000	1.12
  +++ WorkspaceAccessor.java	7 May 2004 16:11:29 -0000	1.13
  @@ -74,17 +74,5 @@
    * @version $Revision$
    */
   public interface WorkspaceAccessor extends ControllableFolderAccessor {
  -    
  -    /**
  -     * Return a list of {@link ControllableResource} objects
  -     * that identify the controllable resources that are members of
  -     * this {@link Workspace} and whose versionHistory property identifies
  -     * a member of the <code>versionHistoryList</code> parameter.
  -     * @param versionHistoryList A list of {@link VersionHistory} objects that
  -     * are being located.
  -     * @param wantedPropertyList The properties to be retrieved for the
  -     * returned version-controlled resources.
  -     */
  -    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException;
   }
   
  
  
  
  1.13      +17 -4     jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/FolderAccessor.java
  
  Index: FolderAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/FolderAccessor.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- FolderAccessor.java	8 Dec 2003 17:14:24 -0000	1.12
  +++ FolderAccessor.java	7 May 2004 16:11:29 -0000	1.13
  @@ -64,6 +64,7 @@
   package org.apache.wvcm.store;
   
   import java.util.Iterator;
  +import java.util.List;
   import javax.wvcm.PropertyNameList;
   import javax.wvcm.Resource;
   import javax.wvcm.WvcmException;
  @@ -122,4 +123,16 @@
        * @throws   WvcmException
        */
       public void doUnbind( String bindingName ) throws WvcmException;
  +    
  +    /**
  +     * Return a list of {@link ControllableResource} objects
  +     * that identify the controllable resources that are members of
  +     * this {@link ControllableFolder} and whose versionHistory property identifies
  +     * a member of the <code>versionHistoryList</code> parameter.
  +     * @param versionHistoryList A list of {@link VersionHistory} objects that
  +     * are being located.
  +     * @param wantedPropertyList The properties to be retrieved for the
  +     * returned version-controlled resources.
  +     */
  +    public List doLocateByHistoryReport(List versionHistoryList, PropertyNameList wantedPropertyList) throws WvcmException;
   }
  
  
  
  1.3       +6 -2      jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/ControllableFolderAccessor.java
  
  Index: ControllableFolderAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/ControllableFolderAccessor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ControllableFolderAccessor.java	8 Dec 2003 17:14:24 -0000	1.2
  +++ ControllableFolderAccessor.java	7 May 2004 16:11:29 -0000	1.3
  @@ -71,5 +71,9 @@
    * @author <a href="mailto:peter.nevermann@softwareag.com">Peter Nevermann</a>
    * @version $Revision$
    */
  +import java.util.List;
  +import javax.wvcm.PropertyNameList;
  +import javax.wvcm.WvcmException;
  +
   public interface ControllableFolderAccessor extends ControllableResourceAccessor {
   }
  
  
  
  1.2       +7 -4      jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/response/PropertiesFactory.java
  
  Index: PropertiesFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/org/apache/wvcm/store/webdav/response/PropertiesFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropertiesFactory.java	8 Dec 2003 17:14:23 -0000	1.1
  +++ PropertiesFactory.java	7 May 2004 16:11:29 -0000	1.2
  @@ -347,6 +347,9 @@
           if( propname == PropertyName.CHECKED_OUT && propertiesContainer.containsKey(PropertyName.IS_CHECKED_OUT)) {
               propertiesContainer.put( PropertyName.IS_CHECKED_OUT, new Boolean(true) );
           }
  +        else if( propname == PropertyName.CHECKED_IN && propertiesContainer.containsKey(PropertyName.IS_CHECKED_OUT)) {
  +            propertiesContainer.put( PropertyName.IS_CHECKED_OUT, new Boolean(false) );
  +        }
           else if( propname == PropertyName.CONTENT_TYPE ) {
               String[] ctTokens = tokenizeContentType( (String)propvalue );
               if (propertiesContainer.containsKey(PropertyName.CONTENT_TYPE)) {
  
  
  
  1.2       +22 -7     jakarta-slide/proposals/wvcm/src/javax/wvcm/ControllableFolder.java
  
  Index: ControllableFolder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/wvcm/src/javax/wvcm/ControllableFolder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ControllableFolder.java	26 Sep 2003 13:35:23 -0000	1.1
  +++ ControllableFolder.java	7 May 2004 16:11:30 -0000	1.2
  @@ -24,7 +24,7 @@
       * without communicating with the server.
       * @see #doReadMemberList
       * @param wantedPropertyList The list of properties to be retrieved.
  -    * @param deep Whether to retrieve properties for all members of this {@link Folder}. 
  +    * @param deep Whether to retrieve properties for all members of this {@link Folder}.
       */
      public Iterator readMemberList(
         PropertyNameList wantedPropertyList,
  @@ -36,15 +36,15 @@
       * <p>
       * A version-controlled configuration resource is associated with
       * this {@link ControllableFolder}, which allows versions of the configuration rooted at
  -    * this {@link ControllableFolder} to be created by checking out and checking in the 
  +    * this {@link ControllableFolder} to be created by checking out and checking in the
       * version-controlled configuration resource. </p>
       * <p>
       * A version of a configuration is called a "baseline". </p>
  -    * 
  +    *
       * @throws WvcmException Preconditions:
       * <br>(controlled-configuration-must-not-exist): The ControlledConfiguration property
       *  of the folder identified by this ControllableFolder MUST NOT exist.
  -    * 
  +    *
       * @throws WvcmException Postconditions:
       * <br>(create-controlled-configuration): A new version-controlled configuration is created,
       *  whose RootFolder property identifies the folder.
  @@ -62,13 +62,13 @@
       * Put this {@link ControllableFolder} under baseline control and initialize
       * it with the contents of the specified baseline.
       * @param baseline The baseline used to initialize the folder.
  -    * 
  +    *
       * @throws WvcmException Preconditions:
       * <br>(cannot-add-to-existing-history): This ControllableFolder MUST NOT identify an existing resource.
       * <br>(one-baseline-controlled-folder-per-history-per-workspace): There MUST NOT be another folder
       *  in the workspace of this ControllableFolder whose ControlledConfiguration property
  -    *  identifies a version-controlled configuration for the baseline history of that baseline. 
  -    * 
  +    *  identifies a version-controlled configuration for the baseline history of that baseline.
  +    *
       * @throws WvcmException Postconditions:
       * <br>(create-controlled-configuration): A new folder is created at the location of this ControllableFolder,
       *  and a new version-controlled configuration is created, whose RootFolder property
  @@ -101,5 +101,20 @@
       * @see #doBaselineControl
       */
      public boolean getBaselineControllable() throws WvcmException;
  +
  +   /**
  +     * NOT YET STANDARD *** This method is normally retricted to Workspace ***
  +    * Return a list of {@link ControllableResource} objects
  +    * that identify the controllable resources that are members of
  +    * this {@link ControllableFolder} and whose versionHistory property identifies
  +    * a member of the <code>versionHistoryList</code> parameter.
  +    * @param versionHistoryList A list of {@link VersionHistory} objects that
  +    * are being located.
  +    * @param wantedPropertyList The properties to be retrieved for the
  +    * returned version-controlled resources.
  +    */
  +   public List doLocateByHistoryReport(
  +      List versionHistoryList,
  +      PropertyNameList wantedPropertyList) throws WvcmException;
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org