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 ju...@apache.org on 2002/04/03 14:00:07 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/macro Macro.java MacroImpl.java

juergen     02/04/03 04:00:07

  Modified:    src/share/org/apache/slide/macro Macro.java MacroImpl.java
  Log:
  Added delete() methods that allow to specify a DeleteListener.
  (ralf)
  
  Revision  Changes    Path
  1.7       +34 -4     jakarta-slide/src/share/org/apache/slide/macro/Macro.java
  
  Index: Macro.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/Macro.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Macro.java	28 Mar 2002 06:23:15 -0000	1.6
  +++ Macro.java	3 Apr 2002 12:00:07 -0000	1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/Macro.java,v 1.6 2002/03/28 06:23:15 jericho Exp $
  - * $Revision: 1.6 $
  - * $Date: 2002/03/28 06:23:15 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/Macro.java,v 1.7 2002/04/03 12:00:07 juergen Exp $
  + * $Revision: 1.7 $
  + * $Date: 2002/04/03 12:00:07 $
    *
    * ====================================================================
    *
  @@ -76,7 +76,7 @@
    * Macro helper class.
    * 
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */
   public interface Macro {
       
  @@ -167,6 +167,19 @@
       void delete(SlideToken token, String targetUri)
           throws DeleteMacroException;
       
  +    /**
  +     * Recursive delete.
  +     *
  +     * @param token Credentials token
  +     * @param targetUri Uri of the object to delete
  +     * @param deleteListener  the DeleteListener that will be notified
  +     *                        before and after deleting a resource.
  +     *                        (May be <code>null</code>)
  +     * @exception DeleteMacroException Generic Slide exception
  +     */
  +    void delete(SlideToken token, String targetUri, DeleteListener deleteListener)
  +        throws DeleteMacroException;
  +    
       
       /**
        * Delete macro.
  @@ -179,6 +192,23 @@
        */
       void delete(SlideToken token, String targetUri, 
                   MacroParameters parameters)
  +        throws DeleteMacroException;
  +    
  +    
  +    /**
  +     * Delete macro.
  +     *
  +     * @param token Credentials token
  +     * @param targetUri Uri of the source
  +     * @param parameters Macro parameters, not used right now,
  +     * so it can be null
  +     * @param deleteListener  the DeleteListener that will be notified
  +     *                        before and after deleting a resource.
  +     *                        (May be <code>null</code>)
  +     * @exception DeleteMacroException Generic Slide exception
  +     */
  +    void delete(SlideToken token, String targetUri,
  +                MacroParameters parameters, DeleteListener deleteListener)
           throws DeleteMacroException;
       
   }
  
  
  
  1.23      +55 -8     jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java
  
  Index: MacroImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- MacroImpl.java	28 Mar 2002 06:23:15 -0000	1.22
  +++ MacroImpl.java	3 Apr 2002 12:00:07 -0000	1.23
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v 1.22 2002/03/28 06:23:15 jericho Exp $
  - * $Revision: 1.22 $
  - * $Date: 2002/03/28 06:23:15 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v 1.23 2002/04/03 12:00:07 juergen Exp $
  + * $Revision: 1.23 $
  + * $Date: 2002/04/03 12:00:07 $
    *
    * ====================================================================
    *
  @@ -77,7 +77,7 @@
    * Macro helper class.
    *
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
  - * @version $Revision: 1.22 $
  + * @version $Revision: 1.23 $
    */
   public final class MacroImpl implements Macro {
       
  @@ -260,7 +260,22 @@
        */
       public void delete(SlideToken token, String targetUri)
           throws DeleteMacroException {
  -        delete(token, targetUri, RECURSIVE_OVERWRITE_PARAMETERS);
  +        delete(token, targetUri, (DeleteListener)null);
  +    }
  +    
  +    /**
  +     * Recursive delete.
  +     *
  +     * @param token Credentials token
  +     * @param targetUri Uri of the object to delete
  +     * @param deleteListener  the DeleteListener that will be notified
  +     *                        before and after deleting a resource.
  +     *                        (May be <code>null</code>)
  +     * @exception DeleteMacroException Generic Slide exception
  +     */
  +    public void delete(SlideToken token, String targetUri, DeleteListener deleteListener)
  +        throws DeleteMacroException {
  +        delete(token, targetUri, RECURSIVE_OVERWRITE_PARAMETERS, deleteListener);
       }
       
       
  @@ -276,11 +291,30 @@
       public void delete(SlideToken token, String targetUri,
                          MacroParameters parameters)
           throws DeleteMacroException {
  +        delete(token, targetUri, parameters, null);
  +    }
  +    
  +    /**
  +     * Delete macro.
  +     *
  +     * @param token Credentials token
  +     * @param targetUri Uri of the source
  +     * @param parameters Macro parameters, not used right now,
  +     * so it can be null
  +     * @param deleteListener  the DeleteListener that will be notified
  +     *                        before and after deleting a resource.
  +     *                        (May be <code>null</code>)
  +     * @exception DeleteMacroException Generic Slide exception
  +     */
  +    public void delete(SlideToken token, String targetUri,
  +                MacroParameters parameters, DeleteListener deleteListener)
  +        throws DeleteMacroException {
  +    
           Domain.debug("Delete " + targetUri);
           
           DeleteMacroException e = new DeleteMacroException("Delete failed");
           
  -        deleteObject(token, targetUri, e);
  +        deleteObject(token, targetUri, e, deleteListener);
           
           // If there were errors, we throw the nested exception
           if (!e.isEmpty()) {
  @@ -418,9 +452,12 @@
        * @param parameters Macro parameters, not used right now, so it can
        * be null
        * @param e Nested exception
  +     * @param deleteListener  the DeleteListener that will be notified
  +     *                        before and after deleting a resource.
  +     *                        (May be <code>null</code>)
        */
       private void deleteObject(SlideToken token, String targetUri,
  -                              MacroException e) {
  +                              MacroException e, DeleteListener deleteListener) {
           
           Domain.debug("Delete object : " + targetUri);
           
  @@ -433,10 +470,15 @@
               if (currentObject.hasChildren()) {
                   Enumeration children = currentObject.enumerateChildren();
                   while (children.hasMoreElements()) {
  -                    deleteObject(token, (String) children.nextElement(), e);
  +                    deleteObject(token, (String) children.nextElement(), e, deleteListener);
                   }
               }
               
  +            // notify DeleteListener
  +            if (deleteListener != null) {
  +                deleteListener.beforeDelete(targetUri);
  +            }
  +            
               // Removing all revisions
               NodeRevisionDescriptors revisionDescriptors =
                   contentHelper.retrieve(token, currentObject.getUri());
  @@ -472,6 +514,11 @@
               
               // Removing object.
               structureHelper.remove(token, currentObject);
  +            
  +            // notify DeleteListener
  +            if (deleteListener != null) {
  +                deleteListener.afterDelete(targetUri);
  +            }
               
           } catch (ObjectHasChildrenException ex) {
               // ignore, the object has children because something else failed
  
  
  

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