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