You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2005/04/23 13:38:36 UTC

svn commit: r164373 - /cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java

Author: antonio
Date: Sat Apr 23 04:38:34 2005
New Revision: 164373

URL: http://svn.apache.org/viewcvs?rev=164373&view=rev
Log:
Merging from 2.1.x. Fix bug 30326

Modified:
    cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java

Modified: cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java?rev=164373&r1=164372&r2=164373&view=diff
==============================================================================
--- cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java (original)
+++ cocoon/blocks/unsupported/petstore/trunk/java/org/apache/cocoon/components/flow/javascript/ScriptableConnection.java Sat Apr 23 04:38:34 2005
@@ -18,6 +18,7 @@
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
 
 import org.mozilla.javascript.Context;
 import org.mozilla.javascript.Function;
@@ -66,7 +67,7 @@
  * A ScriptableConnection is also a wrapper around a real JDBC Connection and thus 
  * provides all of methods of Connection as well
  *
- * @version CVS $Id: ScriptableConnection.java,v 1.6 2004/03/05 13:02:03 bdelacretaz Exp $
+ * @version CVS $Id$
  */
 public class ScriptableConnection extends ScriptableObject {
 
@@ -206,9 +207,11 @@
     public Object jsFunction_query(String sql, Object params,
                                    int startRow, int maxRows,
                                    Object funObj) 
-        throws JavaScriptException {
+            throws JavaScriptException {
+
+        PreparedStatement stmt = null;
         try {
-            PreparedStatement stmt = connection.prepareStatement(sql);
+            stmt = connection.prepareStatement(sql);
             Scriptable array = (Scriptable)params;
             if (array != Undefined.instance) {
                 int len = (int)
@@ -272,13 +275,22 @@
             throw e;
         } catch (Exception e) {
             throw new JavaScriptException(e);
+        } finally {
+            try {
+                if (stmt != null) {
+                    stmt.close();
+                }
+            } catch (SQLException sqle) {
+                throw new JavaScriptException(sqle);
+            }
         }
     }
 
     public int jsFunction_update(String sql, Object params) 
         throws JavaScriptException {
+        PreparedStatement stmt = null;
         try {
-            PreparedStatement stmt = connection.prepareStatement(sql);
+            stmt = connection.prepareStatement(sql);
             Scriptable array = (Scriptable)params;
             if (array != Undefined.instance) {
                 int len = (int)
@@ -298,6 +310,14 @@
             return stmt.getUpdateCount();
         } catch (Exception e) {
             throw new JavaScriptException(e);
+        } finally {
+            try {
+                if (stmt != null) {
+                    stmt.close();
+                }
+            } catch (SQLException sqle) {
+                throw new JavaScriptException(sqle);
+            }
         }
     }