You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ev...@apache.org on 2010/02/08 13:40:56 UTC

svn commit: r907638 - in /cayenne/main/branches/STABLE-2.0/cayenne: cayenne-java/src/cayenne/java/org/apache/cayenne/dba/ cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/ cayenne-other/release-notes/

Author: evgeny
Date: Mon Feb  8 12:40:56 2010
New Revision: 907638

URL: http://svn.apache.org/viewvc?rev=907638&view=rev
Log:
CAY-1388
Can't bind java.util.Date value in SQL Template

Modified:
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/dba/TypesMapping.java
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/BindDirectiveTst.java
    cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/dba/TypesMapping.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/dba/TypesMapping.java?rev=907638&r1=907637&r2=907638&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/dba/TypesMapping.java (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/cayenne/java/org/apache/cayenne/dba/TypesMapping.java Mon Feb  8 12:40:56 2010
@@ -200,6 +200,7 @@
         javaSqlEnum.put(JAVA_SHORT, new Integer(Types.SMALLINT));
         javaSqlEnum.put(JAVA_BYTE, new Integer(Types.TINYINT));
         javaSqlEnum.put(JAVA_TIME, new Integer(Types.TIME));
+        javaSqlEnum.put(JAVA_UTILDATE, new Integer(Types.TIMESTAMP));
         javaSqlEnum.put(JAVA_TIMESTAMP, new Integer(Types.TIMESTAMP));
 
         // add primitives

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/BindDirectiveTst.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/BindDirectiveTst.java?rev=907638&r1=907637&r2=907638&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/BindDirectiveTst.java (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-java/src/tests/java/org/apache/cayenne/access/jdbc/BindDirectiveTst.java Mon Feb  8 12:40:56 2010
@@ -19,8 +19,11 @@
 package org.apache.cayenne.access.jdbc;
 
 import java.sql.Connection;
+import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -44,6 +47,57 @@
         deleteTestData();
     }
 
+    public void testBindTimestamp() throws Exception {
+        Map parameters = new HashMap();
+        parameters.put("id", new Integer(1));
+        parameters.put("name", "ArtistWithDOB");
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(2010, 2, 8);
+        parameters.put("dob", new Timestamp(cal.getTime().getTime()));
+        
+        //without JDBC usage
+        Map row = performInsertForParameters(parameters, false, 1);
+        assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
+        assertEquals(cal.getTime(), row.get("DATE_OF_BIRTH"));
+        assertNotNull(row.get("DATE_OF_BIRTH"));
+        assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
+    }
+
+    public void testBindSQLDate() throws Exception {
+        Map parameters = new HashMap();
+        parameters.put("id", new Integer(1));
+        parameters.put("name", "ArtistWithDOB");
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(2010, 2, 8);
+        parameters.put("dob", new java.sql.Date(cal.getTime().getTime()));
+        
+        //without JDBC usage
+        Map row = performInsertForParameters(parameters, false, 1);
+        assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
+        assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
+        assertNotNull(row.get("DATE_OF_BIRTH"));
+        assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
+    }
+
+    public void testBindUtilDate() throws Exception {
+        Map parameters = new HashMap();
+        parameters.put("id", new Integer(1));
+        parameters.put("name", "ArtistWithDOB");
+        Calendar cal = Calendar.getInstance();
+        cal.clear();
+        cal.set(2010, 2, 8);
+        parameters.put("dob", cal.getTime());
+        
+        //without JDBC usage
+        Map row = performInsertForParameters(parameters, false, 1);
+        assertEquals(parameters.get("name"), row.get("ARTIST_NAME"));
+        assertEquals(parameters.get("dob"), row.get("DATE_OF_BIRTH"));
+        assertNotNull(row.get("DATE_OF_BIRTH"));
+        assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
+    }
+
     public void testBindingForCollection() throws Exception {
         // insert 3 artists
         Map parameters;

Modified: cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt?rev=907638&r1=907637&r2=907638&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt (original)
+++ cayenne/main/branches/STABLE-2.0/cayenne/cayenne-other/release-notes/RELEASE-NOTES-2.0-SNAPSHOT.txt Mon Feb  8 12:40:56 2010
@@ -24,6 +24,7 @@
 CAY-1279 Passing null values in query parameters
 CAY-1306 Binding Collection in Parameters for SQLTemplate is not working
 CAY-1323 oracle.sql.TIMESTAMP in Result of query (only part of solution to fix explicit type mapping)
+CAY-1388 Can't bind java.util.Date value in SQL Template
 
 ----------------------------------
 Release: 2.0.4