svn commit: r832391 - /commons/trunks-proper/KEYS

2009-11-03 Thread henrib
Author: henrib
Date: Tue Nov  3 10:59:58 2009
New Revision: 832391

URL: http://svn.apache.org/viewvc?rev=832391&view=rev
Log:
Added henrib key

Modified:
commons/trunks-proper/KEYS

Modified: commons/trunks-proper/KEYS
URL: 
http://svn.apache.org/viewvc/commons/trunks-proper/KEYS?rev=832391&r1=832390&r2=832391&view=diff
==
--- commons/trunks-proper/KEYS (original)
+++ commons/trunks-proper/KEYS Tue Nov  3 10:59:58 2009
@@ -1540,3 +1540,61 @@
 VgUAoL1bX0lIWF44l1wm2/d0FeLEU0Qx
 =eW64
 -END PGP PUBLIC KEY BLOCK-
+pub   4096R/59CD109B 2009-11-02
+uid  Henri Biestro (CODE SIGNING KEY) 
+sig 359CD109B 2009-11-02  Henri Biestro (CODE SIGNING KEY) 

+sub   4096R/CCBC1F4E 2009-11-02
+sig  59CD109B 2009-11-02  Henri Biestro (CODE SIGNING KEY) 

+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG/MacGPG2 v2.0.12 (Darwin)
+
+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
+J1WX0nDaK3RU/fdGNKZG0eXt
+=QEw1
+-END PGP PUBLIC KEY BLOCK-




svn commit: r832466 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java

2009-11-03 Thread henrib
Author: henrib
Date: Tue Nov  3 16:12:50 2009
New Revision: 832466

URL: http://svn.apache.org/viewvc?rev=832466&view=rev
Log:
Added a test on JexlScriptEngineFactory; fixed small issue on getParameter()

Modified:

commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java

commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java

Modified: 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java?rev=832466&r1=832465&r2=832466&view=diff
==
--- 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java
 (original)
+++ 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngineFactory.java
 Tue Nov  3 16:12:50 2009
@@ -108,7 +108,7 @@
 return getNames();
 } else if (key.equals(ScriptEngine.LANGUAGE)) {
 return getLanguageName();
-} else if(key.equals(ScriptEngine.ENGINE_VERSION)) {
+} else if(key.equals(ScriptEngine.LANGUAGE_VERSION)) {
 return getLanguageVersion();
 } else if (key.equals("THREADING")) {
 return null;//"MULTITHREADED"; // TODO what is the correct value 
here?

Modified: 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java?rev=832466&r1=832465&r2=832466&view=diff
==
--- 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
 (original)
+++ 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/scripting/JexlScriptEngineTest.java
 Tue Nov  3 16:12:50 2009
@@ -19,6 +19,7 @@
 package org.apache.commons.jexl.scripting;
 
 import java.io.Reader;
+import java.util.Arrays;
 import java.util.Map;
 
 import javax.script.ScriptEngine;
@@ -26,7 +27,27 @@
 import junit.framework.TestCase;
 
 public class JexlScriptEngineTest extends TestCase {
-
+
+public void testScriptEngineFactory() throws Exception {
+JexlScriptEngineFactory factory = new JexlScriptEngineFactory();
+assertEquals("JEXL Engine", factory.getParameter(ScriptEngine.ENGINE));
+assertEquals("1.0", factory.getParameter(ScriptEngine.ENGINE_VERSION));
+assertEquals("JEXL", factory.getParameter(ScriptEngine.LANGUAGE));
+assertEquals("2.0", 
factory.getParameter(ScriptEngine.LANGUAGE_VERSION));
+assertEquals(Arrays.asList("JEXL", "Jexl", "jexl"), 
factory.getParameter(ScriptEngine.NAME));
+assertNull(factory.getParameter("THREADING"));
+
+assertEquals(Arrays.asList("jexl"), factory.getExtensions());
+assertEquals(Arrays.asList("application/x-jexl"), 
factory.getMimeTypes());
+
+assertEquals("42;", factory.getProgram(new String[]{"42"}));
+assertEquals("str.substring(3,4)", factory.getMethodCallSyntax("str", 
"substring", new String[]{"3", "4"}));
+try {
+factory.getOutputStatement("foo");
+fail("getOutputStatement() should have thrown");
+} catch(Exception xignore) {}
+}
+
 public void testScripting() throws Exception {
 ScriptEngineManager manager = new ScriptEngineManager();
 assertNotNull("Manager should not be null", manager);




svn commit: r832467 - /commons/proper/jexl/trunk/RELEASE-NOTES.txt

2009-11-03 Thread henrib
Author: henrib
Date: Tue Nov  3 16:13:40 2009
New Revision: 832467

URL: http://svn.apache.org/viewvc?rev=832467&view=rev
Log:
Documented removal of Expression.add{Pre,Post}Resolver methods

Modified:
commons/proper/jexl/trunk/RELEASE-NOTES.txt

Modified: commons/proper/jexl/trunk/RELEASE-NOTES.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/RELEASE-NOTES.txt?rev=832467&r1=832466&r2=832467&view=diff
==
--- commons/proper/jexl/trunk/RELEASE-NOTES.txt (original)
+++ commons/proper/jexl/trunk/RELEASE-NOTES.txt Tue Nov  3 16:13:40 2009
@@ -55,6 +55,8 @@
 The following methods have been removed:
 
   * Info.getTemplateName() - use Info.getName() instead
+  * Expression.addPostResolver() / Expression.addPreResolver() - set ant-like 
variables in JexlContext, implement
+a specific JexlContext or derive JexlcontextInterpreter/JexlEngine instead
 
 Division (/ operator) behavior change:
   * Division between integers no longer casts its operands to double; integer 
division




svn commit: r832481 - in /commons/proper/vfs/trunk: core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java xdocs/changes.xml

2009-11-03 Thread rgoers
Author: rgoers
Date: Tue Nov  3 17:36:07 2009
New Revision: 832481

URL: http://svn.apache.org/viewvc?rev=832481&view=rev
Log:
Apply patch for VFS-289 provided by Kirill Safonov

Modified:

commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
commons/proper/vfs/trunk/xdocs/changes.xml

Modified: 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java?rev=832481&r1=832480&r2=832481&view=diff
==
--- 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/main/java/org/apache/commons/vfs/provider/ftp/FtpFileObject.java
 Tue Nov  3 17:36:07 2009
@@ -585,13 +585,19 @@
 protected InputStream doGetInputStream() throws Exception
 {
 final FtpClient client = ftpFs.getClient();
-final InputStream instr = client.retrieveFileStream(relPath);
-// VFS-210
-if (instr == null)
-{
-throw new FileNotFoundException(getName().toString());
+try {
+final InputStream instr = client.retrieveFileStream(relPath);
+// VFS-210
+if (instr == null)
+{
+throw new FileNotFoundException(getName().toString());
+}
+return new FtpInputStream(client, instr);
+}
+catch (Exception e) {
+ftpFs.putClient(client);
+throw e;
 }
-return new FtpInputStream(client, instr);
 }
 
 protected RandomAccessContent doGetRandomAccessContent(final 
RandomAccessMode mode) throws Exception
@@ -606,26 +612,32 @@
 throws Exception
 {
 final FtpClient client = ftpFs.getClient();
-OutputStream out = null;
-if (bAppend)
-{
-out = client.appendFileStream(relPath);
-}
-else
-{
-out = client.storeFileStream(relPath);
-}
+try {
+OutputStream out = null;
+if (bAppend)
+{
+out = client.appendFileStream(relPath);
+}
+else
+{
+out = client.storeFileStream(relPath);
+}
 
-if (out == null)
-{
-throw new 
FileSystemException("vfs.provider.ftp/output-error.debug", new Object[]
-{
-this.getName(),
-client.getReplyString()
-});
-}
+if (out == null)
+{
+throw new 
FileSystemException("vfs.provider.ftp/output-error.debug", new Object[]
+{
+this.getName(),
+client.getReplyString()
+});
+}
 
-return new FtpOutputStream(client, out);
+return new FtpOutputStream(client, out);
+}
+catch (Exception e) {
+ftpFs.putClient(client);
+throw e;
+}
 }
 
 String getRelPath()
@@ -636,16 +648,22 @@
 FtpInputStream getInputStream(long filePointer) throws IOException
 {
 final FtpClient client = ftpFs.getClient();
-final InputStream instr = client.retrieveFileStream(relPath, 
filePointer);
-if (instr == null)
-{
-throw new 
FileSystemException("vfs.provider.ftp/input-error.debug", new Object[]
-{
-this.getName(),
-client.getReplyString()
-});
+try {
+final InputStream instr = client.retrieveFileStream(relPath, 
filePointer);
+if (instr == null)
+{
+throw new 
FileSystemException("vfs.provider.ftp/input-error.debug", new Object[]
+{
+this.getName(),
+client.getReplyString()
+});
+}
+return new FtpInputStream(client, instr);
+}
+catch (IOException e) {
+ftpFs.putClient(client);
+throw e;
 }
-return new FtpInputStream(client, instr);
 }
 
 /**

Modified: commons/proper/vfs/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/changes.xml?rev=832481&r1=832480&r2=832481&view=diff
==
--- commons/proper/vfs/trunk/xdocs/changes.xml (original)
+++ commons/proper/vfs/trunk/xdocs/changes.xml Tue Nov  3 17:36:07 2009
@@ -23,6 +23,9 @@
 
   
 
+  
+FTP connection is not released If exception is thrown out of 
FtpFileObject.doGetOutputStream().
+  
   
 SftpFileObject.doL

svn commit: r832480 - /commons/proper/dbutils/trunk/pom.xml

2009-11-03 Thread dfabulich
Author: dfabulich
Date: Tue Nov  3 17:32:57 2009
New Revision: 832480

URL: http://svn.apache.org/viewvc?rev=832480&view=rev
Log:
Updating compiler plugin separately (why did this ever work before?)

Modified:
commons/proper/dbutils/trunk/pom.xml

Modified: commons/proper/dbutils/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/pom.xml?rev=832480&r1=832479&r2=832480&view=diff
==
--- commons/proper/dbutils/trunk/pom.xml [utf-8] (original)
+++ commons/proper/dbutils/trunk/pom.xml [utf-8] Tue Nov  3 17:32:57 2009
@@ -206,8 +206,8 @@
 org.apache.maven.plugins
 maven-compiler-plugin
   
-1.4
-1.4
+1.5
+1.5
 
   
   




svn commit: r832577 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java site/xdoc/changes.xml test/java/org/apache/commons/math/linear/EigenDecomp

2009-11-03 Thread luc
Author: luc
Date: Tue Nov  3 22:04:08 2009
New Revision: 832577

URL: http://svn.apache.org/viewvc?rev=832577&view=rev
Log:
fixed an ArrayIndexOutOfBoundsException
Kudos to Dimitri who debugged this mess of fortran/java array indices 
translation
JIRA: MATH-308

Modified:

commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java
commons/proper/math/trunk/src/site/xdoc/changes.xml

commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java

Modified: 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java?rev=832577&r1=832576&r2=832577&view=diff
==
--- 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java
 (original)
+++ 
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/EigenDecompositionImpl.java
 Tue Nov  3 22:04:08 2009
@@ -595,8 +595,12 @@
 }
 
 final double dCurrent = main[m - 1];
-work[lowerStart + m - 1] = dCurrent - eCurrent;
-work[upperStart + m - 1] = dCurrent + eCurrent;
+final double lower = dCurrent - eCurrent;
+work[lowerStart + m - 1] = lower;
+lowerSpectra = Math.min(lowerSpectra, lower);
+final double upper = dCurrent + eCurrent;
+work[upperStart + m - 1] = upper;
+upperSpectra = Math.max(upperSpectra, upper);
 minPivot = MathUtils.SAFE_MIN * Math.max(1.0, eMax * eMax);
 
 }
@@ -647,7 +651,7 @@
 
 tau = (range[1] - range[0]) * MathUtils.EPSILON * n + 2 * 
minPivot;
 
-// decompose TλI as LDLT
+// decompose T-λI as LDLT
 ldlTDecomposition(lambda, begin, n);
 
 // apply general dqd/dqds method
@@ -899,8 +903,8 @@
 diagMax= work[4 * i0];
 offDiagMin = work[4 * i0 + 2];
 double previousEMin = work[4 * i0 + 3];
-for (int i = 4 * i0; i < 4 * n0 - 11; i += 4) {
-if ((work[i + 3] <= TOLERANCE_2 * work[i]) &&
+for (int i = 4 * i0; i < 4 * n0 - 16; i += 4) {
+if ((work[i + 3] <= TOLERANCE_2 * work[i]) ||
 (work[i + 2] <= TOLERANCE_2 * sigma)) {
 // insert a split
 work[i + 2]  = -sigma;
@@ -1537,7 +1541,7 @@
 double a2 = (work[np - 8] / b2) * (1 + work[np - 4] / b1);
 
 // approximate contribution to norm squared from i < nn-2.
-if (end - start > 2) {
+if (end - start > 3) {
 b2 = work[nn - 13] / work[nn - 15];
 a2 = a2 + b2;
 for (int i4 = nn - 17; i4 >= 4 * start + 2 + pingPong; i4 
-= 4) {

Modified: commons/proper/math/trunk/src/site/xdoc/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/site/xdoc/changes.xml?rev=832577&r1=832576&r2=832577&view=diff
==
--- commons/proper/math/trunk/src/site/xdoc/changes.xml (original)
+++ commons/proper/math/trunk/src/site/xdoc/changes.xml Tue Nov  3 22:04:08 2009
@@ -39,6 +39,10 @@
   
   
 
+  
+Fixed an ArrayIndexOutOfBoundsException in eigen decomposition. Kudos 
to Dimitri
+for debugging this, it was really difficult.
+  
   
 Fixed parameter test in RandomDataImpl#nextExponential. The method now 
throws
 IllegalArgumentException for mean = 0.

Modified: 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java?rev=832577&r1=832576&r2=832577&view=diff
==
--- 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java
 (original)
+++ 
commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java
 Tue Nov  3 22:04:08 2009
@@ -108,6 +108,40 @@
 assertEquals(0.1, ed.getRealEigenvalue(3), 1.0e-15);
 }
 
+// the following test triggered an ArrayIndexOutOfBoundsException in 
commons-math 2.0
+public void testMath308() {
+
+double[] mainTridiagonal = {
+22.330154644539597, 46.65485522478641, 17.393672330044705, 
54.46687435351116, 80.17800767709437
+};
+double[] secondaryTridiagonal = {
+13.04450406501361, -5.977590941539671, 2.9040909856707517, 
7.1570352792841225
+};
+

svn commit: r832503 - in /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl: JexlArithmetic.java scripting/JexlScriptEngine.java

2009-11-03 Thread sebb
Author: sebb
Date: Tue Nov  3 18:45:54 2009
New Revision: 832503

URL: http://svn.apache.org/viewvc?rev=832503&view=rev
Log:
Reduce scope of @SuppressWarnings as much as possible

Modified:

commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/JexlArithmetic.java

commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngine.java

Modified: 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/JexlArithmetic.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/JexlArithmetic.java?rev=832503&r1=832502&r2=832503&view=diff
==
--- 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/JexlArithmetic.java
 (original)
+++ 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/JexlArithmetic.java
 Tue Nov  3 18:45:54 2009
@@ -439,7 +439,6 @@
  * @param right second value
  * @return test result.
  */
-@SuppressWarnings("unchecked")
 public boolean lessThan(Object left, Object right) {
 if ((left == right) || (left == null) || (right == null)) {
 return false;
@@ -460,9 +459,11 @@
 String rightString = right.toString();
 return leftString.compareTo(rightString) < 0;
 } else if (left instanceof Comparable) {
+@SuppressWarnings("unchecked")
 final Comparable comparable = (Comparable) left;
 return comparable.compareTo(right) < 0;
 } else if (right instanceof Comparable) {
+@SuppressWarnings("unchecked")
 final Comparable comparable = (Comparable) right;
 return comparable.compareTo(left) > 0;
 }

Modified: 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngine.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngine.java?rev=832503&r1=832502&r2=832503&view=diff
==
--- 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngine.java
 (original)
+++ 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/scripting/JexlScriptEngine.java
 Tue Nov  3 18:45:54 2009
@@ -130,7 +130,6 @@
 }
 
 /** {...@inheritdoc} */
-@SuppressWarnings("unchecked")
 public Object eval(String scriptText, final ScriptContext context) throws 
ScriptException {
 // This is mandated by JSR-223 (see SCR.5.5.2   Methods)
 if (scriptText == null || context == null) {
@@ -142,6 +141,7 @@
 try {
 Script script = jexlEngine.createScript(scriptText);
 JexlContext ctxt = new JexlContext(){
+@SuppressWarnings("unchecked")
 public void setVars(Map vars) {
 context.setBindings(new SimpleBindings(vars), 
ScriptContext.ENGINE_SCOPE);
 }




svn commit: r832504 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl/util/ test/java/org/apache/commons/jexl/ test/java/org/apache/commons/jexl/util/introspection/

2009-11-03 Thread sebb
Author: sebb
Date: Tue Nov  3 18:46:37 2009
New Revision: 832504

URL: http://svn.apache.org/viewvc?rev=832504&view=rev
Log:
Remove autoboxing

Modified:

commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListGetExecutor.java

commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListSetExecutor.java

commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/BitwiseOperatorTest.java

commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/util/introspection/DiscoveryTest.java

Modified: 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListGetExecutor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListGetExecutor.java?rev=832504&r1=832503&r2=832504&view=diff
==
--- 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListGetExecutor.java
 (original)
+++ 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListGetExecutor.java
 Tue Nov  3 18:46:37 2009
@@ -70,9 +70,9 @@
 && objectClass.equals(obj.getClass())
 && key instanceof Integer) {
 if (method == ARRAY_GET) {
-return java.lang.reflect.Array.get(obj, (Integer) key);
+return java.lang.reflect.Array.get(obj, ((Integer) 
key).intValue());
 } else {
-return ((List) obj).get((Integer) key);
+return ((List) obj).get(((Integer) key).intValue());
 }
 }
 return TRY_FAILED;

Modified: 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListSetExecutor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListSetExecutor.java?rev=832504&r1=832503&r2=832504&view=diff
==
--- 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListSetExecutor.java
 (original)
+++ 
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl/util/ListSetExecutor.java
 Tue Nov  3 18:46:37 2009
@@ -71,10 +71,10 @@
 && objectClass.equals(obj.getClass())
 && key instanceof Integer) {
 if (method == ARRAY_SET) {
-Array.set(obj, (Integer) key, value);
+Array.set(obj, ((Integer) key).intValue(), value);
 } else {
 final List list = (List) obj;
-list.set((Integer) key, value);
+list.set(((Integer) key).intValue(), value);
 }
 return value;
 }

Modified: 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/BitwiseOperatorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/BitwiseOperatorTest.java?rev=832504&r1=832503&r2=832504&view=diff
==
--- 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/BitwiseOperatorTest.java
 (original)
+++ 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/BitwiseOperatorTest.java
 Tue Nov  3 18:46:37 2009
@@ -142,8 +142,8 @@
 }
 
 public void testParenthesized() throws Exception {
-asserter.assertExpression("(2 | 1) & 3", 3L);
-asserter.assertExpression("(2 & 1) | 3", 3L);
+asserter.assertExpression("(2 | 1) & 3", Long.valueOf(3L));
+asserter.assertExpression("(2 & 1) | 3", Long.valueOf(3L));
 asserter.assertExpression("~(120 | 42)", new Long( ~(120 | 42) ));
 }
 

Modified: 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/util/introspection/DiscoveryTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/util/introspection/DiscoveryTest.java?rev=832504&r1=832503&r2=832504&view=diff
==
--- 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/util/introspection/DiscoveryTest.java
 (original)
+++ 
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl/util/introspection/DiscoveryTest.java
 Tue Nov  3 18:46:37 2009
@@ -135,7 +135,7 @@
 assertTrue("duck property getter", get instanceof DuckGetExecutor);
 assertTrue("duck property setter", set instanceof DuckSetExecutor);
 // introspector and uberspect should return same result
-assertEquals(get, (AbstractExecutor) uber.getPropertyGet(duck, 
"value", null));
+assertEquals(get, uber.getPropertyGet(duck, "value", null));
 assertEquals(set, uber.getPropertySet(duck, "value", "foo", null));
 // different property should return different setter/getter
 assertFalse(get.equals(intro.getGetExecutor(duck, "eulav")));
@@ -160,23 +160,23 @@
 list.add("LIST");

svn commit: r832548 - /commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java

2009-11-03 Thread dfabulich
Author: dfabulich
Date: Tue Nov  3 20:49:18 2009
New Revision: 832548

URL: http://svn.apache.org/viewvc?rev=832548&view=rev
Log:
[DBUTILS-60] Enhance message in QueryRunner#rethrow for Batch

Modified:

commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java

Modified: 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java?rev=832548&r1=832547&r2=832548&view=diff
==
--- 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java
 (original)
+++ 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/QueryRunner.java
 Tue Nov  3 20:49:18 2009
@@ -536,7 +536,7 @@
 if (params == null) {
 msg.append("[]");
 } else {
-msg.append(Arrays.asList(params));
+msg.append(Arrays.deepToString(params));
 }
 
 SQLException e = new SQLException(msg.toString(), cause.getSQLState(),




svn commit: r832529 - in /commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers: AbstractKeyedHandler.java KeyedHandler.java

2009-11-03 Thread dfabulich
Author: dfabulich
Date: Tue Nov  3 19:53:33 2009
New Revision: 832529

URL: http://svn.apache.org/viewvc?rev=832529&view=rev
Log:
[DBUTILS-61] Backwards binary compatibility broken in KeyedHandler

Added:

commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/AbstractKeyedHandler.java
Modified:

commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/KeyedHandler.java

Added: 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/AbstractKeyedHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/AbstractKeyedHandler.java?rev=832529&view=auto
==
--- 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/AbstractKeyedHandler.java
 (added)
+++ 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/AbstractKeyedHandler.java
 Tue Nov  3 19:53:33 2009
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.dbutils.handlers;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.dbutils.ResultSetHandler;
+
+/**
+ * 
+ * ResultSetHandler implementation that returns a Map.
+ * ResultSet rows are converted into objects (Vs) which are then 
stored
+ * in a Map under the given keys (Ks).
+ * 
+ * 
+ * @see org.apache.commons.dbutils.ResultSetHandler
+ * @since DbUtils 1.3
+ */
+public abstract class AbstractKeyedHandler implements 
ResultSetHandler> {
+
+
+/**
+ * Convert each row's columns into a Map and store then 
+ * in a Map under ResultSet.getObject(key) key.
+ * 
+ * @return A Map, never null. 
+ * @throws SQLException if a database access error occurs
+ * @see 
org.apache.commons.dbutils.ResultSetHandler#handle(java.sql.ResultSet)
+ */
+public Map handle(ResultSet rs) throws SQLException {
+Map result = createMap();
+while (rs.next()) {
+result.put(createKey(rs), createRow(rs));
+}
+return result;
+}
+
+/**
+ * This factory method is called by handle() to create the Map
+ * to store records in.  This implementation returns a HashMap
+ * instance.
+ *
+ * @return Map to store records in
+ */
+protected Map createMap() {
+return new HashMap();
+}
+
+/**
+ * This factory method is called by handle() to retrieve the
+ * key value from the current ResultSet row.
+ * @param rs ResultSet to create a key from
+ * @return K from the configured key column name/index
+ * @throws SQLException if a database access error occurs
+ */
+protected abstract K createKey(ResultSet rs) throws SQLException;
+
+/**
+ * This factory method is called by handle() to store the
+ * current ResultSet row in some object.
+ * @param rs ResultSet to create a row from
+ * @return V object created from the current row
+ * @throws SQLException if a database access error occurs
+ */
+protected abstract V createRow(ResultSet rs) throws SQLException;
+
+}

Modified: 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/KeyedHandler.java?rev=832529&r1=832528&r2=832529&view=diff
==
--- 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
 (original)
+++ 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
 Tue Nov  3 19:53:33 2009
@@ -18,19 +18,15 @@
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.dbutils.ResultSetHandler;
 import org.apache.commons.dbutils.RowProcessor;
 
 /**
  * 
  * ResultSetHandler implementation that returns a Map of Maps.
  * ResultSet rows are converted into Maps which are then stored
- * in a Map under the given key.  Although 

svn commit: r832634 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java

2009-11-03 Thread psteitz
Author: psteitz
Date: Wed Nov  4 00:31:50 2009
New Revision: 832634

URL: http://svn.apache.org/viewvc?rev=832634&view=rev
Log:
Made PoolGuardConnectionWrapper static, eliminated possible NPE in toString.

Modified:

commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java

Modified: 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java?rev=832634&r1=832633&r2=832634&view=diff
==
--- 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java 
(original)
+++ 
commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingDriver.java 
Wed Nov  4 00:31:50 2009
@@ -251,7 +251,7 @@
  * PoolGuardConnectionWrapper is a Connection wrapper that makes sure a 
  * closed connection cannot be used anymore.
  */
-private class PoolGuardConnectionWrapper extends DelegatingConnection {
+static private class PoolGuardConnectionWrapper extends 
DelegatingConnection {
 
 private ObjectPool pool;
 private Connection delegate;
@@ -409,7 +409,7 @@
 
 public String toString() {
 if (delegate == null){
-return null;
+return "NULL";
 }
 return delegate.toString();
 }




svn commit: r832535 - in /commons/proper/dbutils/trunk/src: java/org/apache/commons/dbutils/BeanProcessor.java test/org/apache/commons/dbutils/BeanProcessorTest.java test/org/apache/commons/dbutils/Mo

2009-11-03 Thread dfabulich
Author: dfabulich
Date: Tue Nov  3 20:21:17 2009
New Revision: 832535

URL: http://svn.apache.org/viewvc?rev=832535&view=rev
Log:
[DBUTILS-57] BeanProcessor not able to map an alias column from a HSQLDB query 
to the any bean properties
Submitted by: Julien Aymé

Modified:

commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/BeanProcessor.java

commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/BeanProcessorTest.java

commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/MockResultSetMetaData.java

Modified: 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/BeanProcessor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/BeanProcessor.java?rev=832535&r1=832534&r2=832535&view=diff
==
--- 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/BeanProcessor.java
 (original)
+++ 
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/BeanProcessor.java
 Tue Nov  3 20:21:17 2009
@@ -390,7 +390,10 @@
 Arrays.fill(columnToProperty, PROPERTY_NOT_FOUND);
 
 for (int col = 1; col <= cols; col++) {
-String columnName = rsmd.getColumnName(col);
+String columnName = rsmd.getColumnLabel(col);
+if (null == columnName || 0 == columnName.length()) {
+  columnName = rsmd.getColumnName(col);
+}
 for (int i = 0; i < props.length; i++) {
 
 if (columnName.equalsIgnoreCase(props[i].getName())) {

Modified: 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/BeanProcessorTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/BeanProcessorTest.java?rev=832535&r1=832534&r2=832535&view=diff
==
--- 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/BeanProcessorTest.java
 (original)
+++ 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/BeanProcessorTest.java
 Tue Nov  3 20:21:17 2009
@@ -16,6 +16,9 @@
  */
 package org.apache.commons.dbutils;
 
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 
 public class BeanProcessorTest extends BaseTestCase {
@@ -25,14 +28,58 @@
 public void testProcess() throws SQLException {
 TestBean b = null;
 assertTrue(this.rs.next());
-b = (TestBean) beanProc.toBean(this.rs, TestBean.class);
+b = beanProc.toBean(this.rs, TestBean.class);
 assertEquals(13.0, b.getColumnProcessorDoubleTest(), 0);
-
+
 assertTrue(this.rs.next());
-b = (TestBean) beanProc.toBean(this.rs, TestBean.class);
+b = beanProc.toBean(this.rs, TestBean.class);
 assertEquals(13.0, b.getColumnProcessorDoubleTest(), 0);
 
 assertFalse(this.rs.next());
 }
 
+public static class MapColumnToPropertiesBean {
+private String one;
+
+private String two;
+
+private String three;
+
+public String getOne() {
+return one;
+}
+
+public void setOne(String one) {
+this.one = one;
+}
+
+public String getTwo() {
+return two;
+}
+
+public void setTwo(String two) {
+this.two = two;
+}
+
+public String getThree() {
+return three;
+}
+
+public void setThree(String three) {
+this.three = three;
+}
+}
+
+public void testMapColumnToProperties() throws Exception {
+String[] columnNames = { "test", "test", "three" };
+String[] columnLabels = { "one", "two", null };
+ResultSetMetaData rsmd = 
ProxyFactory.instance().createResultSetMetaData(
+new MockResultSetMetaData(columnNames, columnLabels));
+PropertyDescriptor[] props = 
Introspector.getBeanInfo(MapColumnToPropertiesBean.class).getPropertyDescriptors();
+
+int[] columns = beanProc.mapColumnsToProperties(rsmd, props);
+for (int i = 1; i < columns.length; i++) {
+assertTrue(columns[i] != BeanProcessor.PROPERTY_NOT_FOUND);
+}
+}
 }

Modified: 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/MockResultSetMetaData.java
URL: 
http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/MockResultSetMetaData.java?rev=832535&r1=832534&r2=832535&view=diff
==
--- 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/MockResultSetMetaData.java
 (original)
+++ 
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/MockResultSetMetaData.java
 Tue Nov  3 20:21:17 2009
@@ -27,6 +27,7 @@
 public class MockResultSetMetaD