You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2001/07/27 20:04:33 UTC

cvs commit: xml-cocoon2/src/org/apache/cocoon/acting AbstractAction.java DatabaseUpdateAction.java DatabaseDeleteAction.java

vgritsenko    01/07/27 11:04:33

  Modified:    src/org/apache/cocoon/acting AbstractAction.java
                        DatabaseUpdateAction.java DatabaseDeleteAction.java
  Log:
  Fix bug reported by Robert Marcano (robmv@promca.com):
  - return empty map on successful database update/delete action
  - populate request attribute "rows" with number (String object) of rows updated/deleted
  
  Revision  Changes    Path
  1.6       +11 -1     xml-cocoon2/src/org/apache/cocoon/acting/AbstractAction.java
  
  Index: AbstractAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/AbstractAction.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AbstractAction.java	2001/07/23 15:50:10	1.5
  +++ AbstractAction.java	2001/07/27 18:04:33	1.6
  @@ -7,6 +7,10 @@
    *****************************************************************************/
   package org.apache.cocoon.acting;
   
  +import java.util.Map;
  +import java.util.TreeMap;
  +import java.util.Collections;
  +
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.configuration.Configurable;
   import org.apache.avalon.framework.configuration.Configuration;
  @@ -19,10 +23,16 @@
    *
    * @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
    * @author <a href="mailto:haul@informatik.tu-darmstadt.de">Christian Haul</a>
  - * @version CVS $Revision: 1.5 $ $Date: 2001/07/23 15:50:10 $
  + * @version CVS $Revision: 1.6 $ $Date: 2001/07/27 18:04:33 $
    */
   public abstract class AbstractAction extends AbstractLoggable
   implements Action, Configurable, Disposable {
  +
  +    /**
  +     * Empty unmodifiable map. Replace with Collections.EMPTY_MAP when
  +     * pre-jdk1.3 support is dropped.
  +     */
  +    protected static final Map EMPTY_MAP = Collections.unmodifiableMap(new TreeMap());
   
       /**
        * Configures the Action.
  
  
  
  1.7       +7 -2      xml-cocoon2/src/org/apache/cocoon/acting/DatabaseUpdateAction.java
  
  Index: DatabaseUpdateAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/DatabaseUpdateAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DatabaseUpdateAction.java	2001/07/13 13:21:19	1.6
  +++ DatabaseUpdateAction.java	2001/07/27 18:04:33	1.7
  @@ -35,7 +35,7 @@
    * only one table at a time to update.
    *
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.6 $ $Date: 2001/07/13 13:21:19 $
  + * @version CVS $Revision: 1.7 $ $Date: 2001/07/27 18:04:33 $
    */
   public class DatabaseUpdateAction extends AbstractDatabaseAction {
       private static final Map updateStatements = new HashMap();
  @@ -83,9 +83,14 @@
                   this.setColumn(statement, currentIndex, request, keys[i]);
               }
   
  -            statement.execute();
  +            int rows = statement.executeUpdate();
               conn.commit();
               statement.close();
  +
  +            if(rows > 0){
  +                request.setAttribute("rows", Integer.toString(rows));
  +                return EMPTY_MAP;
  +            }
           } catch (Exception e) {
               if (conn != null) {
                   conn.rollback();
  
  
  
  1.7       +15 -10    xml-cocoon2/src/org/apache/cocoon/acting/DatabaseDeleteAction.java
  
  Index: DatabaseDeleteAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/DatabaseDeleteAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DatabaseDeleteAction.java	2001/07/13 13:21:15	1.6
  +++ DatabaseDeleteAction.java	2001/07/27 18:04:33	1.7
  @@ -38,7 +38,7 @@
    * the keys.
    *
    * @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
  - * @version CVS $Revision: 1.6 $ $Date: 2001/07/13 13:21:15 $
  + * @version CVS $Revision: 1.7 $ $Date: 2001/07/27 18:04:33 $
    */
   public final class DatabaseDeleteAction extends AbstractDatabaseAction {
       private static final Map deleteStatements = new HashMap();
  @@ -53,15 +53,15 @@
           Connection conn = null;
           int currentIndex = 0;
   
  -    // read global parameter settings
  -    boolean reloadable = Constants.DESCRIPTOR_RELOADABLE_DEFAULT;
  -    if (this.settings.containsKey("reloadable"))
  -        reloadable = Boolean.getBoolean((String) this.settings.get("reloadable"));
  -    // read local parameter settings
  +	// read global parameter settings
  +	boolean reloadable = Constants.DESCRIPTOR_RELOADABLE_DEFAULT;
  +	if (this.settings.containsKey("reloadable"))
  +	    reloadable = Boolean.getBoolean((String) this.settings.get("reloadable"));
  +	// read local parameter settings
           try {
  -            Configuration conf =
  -        this.getConfiguration(param.getParameter("descriptor", (String) this.settings.get("descriptor")),
  -                      param.getParameterAsBoolean("reloadable",reloadable));
  +            Configuration conf = 
  +		this.getConfiguration(param.getParameter("descriptor", (String) this.settings.get("descriptor")), 
  +				      param.getParameterAsBoolean("reloadable",reloadable));
   
               String query = this.getDeleteQuery(conf);
               datasource = this.getDataSource(conf);
  @@ -80,9 +80,14 @@
                   this.setColumn(statement, i + 1, request, keys[i]);
               }
   
  -            statement.execute();
  +            int rows = statement.executeUpdate();
               conn.commit();
               statement.close();
  +
  +            if(rows > 0){
  +                request.setAttribute("rows", Integer.toString(rows));
  +                return EMPTY_MAP;
  +            }
           } catch (Exception e) {
               if (conn != null) {
                   conn.rollback();
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org