You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2013/08/08 15:15:55 UTC

[1/4] git commit: Made column super type final - it never changes.

Updated Branches:
  refs/heads/master d1f079d5a -> c65307da9


Made column super type final - it never changes.

Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/6e4eef7f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/6e4eef7f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/6e4eef7f

Branch: refs/heads/master
Commit: 6e4eef7fc4eb8442775b0acb4c4582080e8f336d
Parents: bddd9b0
Author: kasper <ka...@10.0.0.32>
Authored: Wed Jul 24 15:01:59 2013 +0200
Committer: kasper <ka...@10.0.0.32>
Committed: Wed Jul 24 15:01:59 2013 +0200

----------------------------------------------------------------------
 core/src/main/java/org/apache/metamodel/schema/ColumnType.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/6e4eef7f/core/src/main/java/org/apache/metamodel/schema/ColumnType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/schema/ColumnType.java b/core/src/main/java/org/apache/metamodel/schema/ColumnType.java
index e367fb3..839384e 100644
--- a/core/src/main/java/org/apache/metamodel/schema/ColumnType.java
+++ b/core/src/main/java/org/apache/metamodel/schema/ColumnType.java
@@ -87,7 +87,7 @@ public enum ColumnType {
      */
     LIST(OTHER_TYPE), MAP(OTHER_TYPE);
 
-    private SuperColumnType _superType;
+    private final SuperColumnType _superType;
 
     private ColumnType(SuperColumnType superType) {
         if (superType == null) {


[4/4] git commit: METAMODEL-9: SalesforceDataSet is throwing exception for insert sql of record having date/time.

Posted by ka...@apache.org.
METAMODEL-9: SalesforceDataSet is throwing exception for insert sql of
record having date/time.


Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/c65307da
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/c65307da
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/c65307da

Branch: refs/heads/master
Commit: c65307da9c8736c41892016acb24f7a611e521ca
Parents: 5d9e9ba
Author: Balendra Singh <ba...@gmail.com>
Authored: Thu Aug 8 15:15:34 2013 +0200
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Thu Aug 8 15:15:34 2013 +0200

----------------------------------------------------------------------
 .../salesforce/SalesforceDataContext.java       | 29 +++++++++++++----
 .../metamodel/salesforce/SalesforceDataSet.java | 19 +++++++++--
 .../metamodel/salesforce/SalesforceTable.java   |  7 +++--
 .../salesforce/SalesforceDataContextTest.java   | 33 +++++++++++++++-----
 4 files changed, 69 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/c65307da/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java
----------------------------------------------------------------------
diff --git a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java
index 1075114..f5e9340 100644
--- a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java
+++ b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java
@@ -59,8 +59,12 @@ import com.sforce.ws.ConnectionException;
 public class SalesforceDataContext extends QueryPostprocessDataContext implements UpdateableDataContext {
 
     public static final TimeZone SOQL_TIMEZONE = TimeZone.getTimeZone("UTC");
-    public static final String SOQL_DATE_FORMAT_IN = "yyyy-MM-dd'T'HH:mm:ss.SSS";
-    public static final String SOQL_DATE_FORMAT_OUT = "yyyy-MM-dd'T'HH:mm:ssZZZ";
+    public static final String SOQL_DATE_FORMAT_IN = "yyyy-MM-dd";
+    public static final String SOQL_DATE_FORMAT_OUT = "yyyy-MM-dd";
+    public static final String SOQL_DATE_TIME_FORMAT_IN = "yyyy-MM-dd'T'HH:mm:ss.SSS";
+    public static final String SOQL_DATE_TIME_FORMAT_OUT = "yyyy-MM-dd'T'HH:mm:ssZZZ";
+    public static final String SOQL_TIME_FORMAT_IN = "HH:mm:ss.SSS";
+    public static final String SOQL_TIME_FORMAT_OUT = "HH:mm:ssZZZ";
 
     private static final Logger logger = LoggerFactory.getLogger(SalesforceDataContext.class);
 
@@ -273,10 +277,23 @@ public class SalesforceDataContext extends QueryPostprocessDataContext implement
         } else if (operand instanceof Number) {
             sb.append(operand);
         } else if (operand instanceof Date) {
-            SimpleDateFormat dateFormat = new SimpleDateFormat(SOQL_DATE_FORMAT_OUT);
-            dateFormat.setTimeZone(SOQL_TIMEZONE); 
+            final SimpleDateFormat dateFormat;
+            switch (selectItem.getExpectedColumnType()) {
+            case TIME:
+                dateFormat = new SimpleDateFormat(SOQL_TIME_FORMAT_OUT);
+                break;
+            case DATE:
+                dateFormat = new SimpleDateFormat(SOQL_DATE_FORMAT_OUT);
+                break;
+            case TIMESTAMP:
+            default:
+                dateFormat = new SimpleDateFormat(SOQL_DATE_TIME_FORMAT_OUT);
+                break;
+            }
+
+            dateFormat.setTimeZone(SOQL_TIMEZONE);
             String str = dateFormat.format((Date) operand);
-            logger.debug("Date '{}' formatted as: {}", operand, str); 
+            logger.debug("Date '{}' formatted as: {}", operand, str);
             sb.append(str);
         } else if (operand instanceof Column) {
             sb.append(((Column) operand).getName());
@@ -320,7 +337,7 @@ public class SalesforceDataContext extends QueryPostprocessDataContext implement
     }
 
     private QueryResult executeSoqlQuery(String query) {
-        logger.info("Executing SOQL query: {}", query); 
+        logger.info("Executing SOQL query: {}", query);
         try {
             QueryResult queryResult = _connection.query(query);
             return queryResult;

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/c65307da/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataSet.java
----------------------------------------------------------------------
diff --git a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataSet.java b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataSet.java
index d44bb47..0070296 100644
--- a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataSet.java
+++ b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataSet.java
@@ -110,10 +110,23 @@ final class SalesforceDataSet extends AbstractDataSet {
                 return NumberComparator.toNumber(columnType.isNumber());
             }
             if (columnType.isTimeBased()) {
-                SimpleDateFormat format = new SimpleDateFormat(SalesforceDataContext.SOQL_DATE_FORMAT_IN);
-                format.setTimeZone(SalesforceDataContext.SOQL_TIMEZONE); 
+                final SimpleDateFormat dateFormat;
+                switch (columnType) {
+                case TIME:
+                    dateFormat = new SimpleDateFormat(SalesforceDataContext.SOQL_TIME_FORMAT_IN);
+                    break;
+                case DATE:
+                    dateFormat = new SimpleDateFormat(SalesforceDataContext.SOQL_DATE_FORMAT_IN);
+                    break;
+                case TIMESTAMP:
+                default:
+                    dateFormat = new SimpleDateFormat(SalesforceDataContext.SOQL_DATE_TIME_FORMAT_IN);
+                    break;
+                }
+
+                dateFormat.setTimeZone(SalesforceDataContext.SOQL_TIMEZONE);
                 try {
-                    return format.parse(value.toString());
+                    return dateFormat.parse(value.toString());
                 } catch (ParseException e) {
                     throw new IllegalStateException("Unable to parse date/time value: " + value);
                 }

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/c65307da/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceTable.java
----------------------------------------------------------------------
diff --git a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceTable.java b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceTable.java
index 5983e7f..2df17cc 100644
--- a/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceTable.java
+++ b/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceTable.java
@@ -107,9 +107,11 @@ final class SalesforceTable extends AbstractTable {
         case _double:
             return ColumnType.DOUBLE;
         case date:
+            return ColumnType.DATE;
         case datetime:
+            return ColumnType.TIMESTAMP;
         case time:
-            return ColumnType.DATE;
+            return ColumnType.TIME;
         case string:
         case email:
         case url:
@@ -122,8 +124,9 @@ final class SalesforceTable extends AbstractTable {
         case id:
         case picklist:
             return ColumnType.VARCHAR;
+        default:
+            return ColumnType.OTHER;
         }
-        return ColumnType.OTHER;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/c65307da/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
----------------------------------------------------------------------
diff --git a/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java b/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
index 361174b..4bd3954 100644
--- a/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
+++ b/salesforce/src/test/java/org/apache/metamodel/salesforce/SalesforceDataContextTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.metamodel.salesforce;
 
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
@@ -38,8 +39,6 @@ import org.apache.metamodel.schema.ColumnType;
 import org.apache.metamodel.schema.MutableColumn;
 import org.apache.metamodel.schema.Schema;
 import org.apache.metamodel.schema.Table;
-import org.apache.metamodel.util.DateUtils;
-import org.apache.metamodel.util.Month;
 
 public class SalesforceDataContextTest extends SalesforceTestCase {
 
@@ -244,13 +243,14 @@ public class SalesforceDataContextTest extends SalesforceTestCase {
         assertEquals("Another test value", ds.getRow().getValue(0));
         assertFalse(ds.next());
         ds.close();
-        
+
         // UPDATE (a record that does not exist)
-        
+
         dc.executeUpdate(new UpdateScript() {
             @Override
             public void run(UpdateCallback callback) {
-                callback.update(tableName).where("id").eq("fooooooobaaaaaaaar").value("name", "A test value that should never occur").execute();
+                callback.update(tableName).where("id").eq("fooooooobaaaaaaaar")
+                        .value("name", "A test value that should never occur").execute();
             }
         });
 
@@ -274,19 +274,36 @@ public class SalesforceDataContextTest extends SalesforceTestCase {
         final StringBuilder sb = new StringBuilder("FOOBAR: ");
 
         final Calendar cal = Calendar.getInstance();
-        cal.setTime(DateUtils.get(2013, Month.JANUARY, 23));
         cal.setTimeZone(TimeZone.getTimeZone("GMT+1"));
+        cal.setTimeInMillis(0);
+        cal.set(Calendar.HOUR, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        cal.set(Calendar.HOUR, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.YEAR, 2013);
+        cal.set(Calendar.MONTH, Calendar.JANUARY);
+        cal.set(Calendar.DAY_OF_MONTH, 23);
         final Date date = cal.getTime();
+        final Timestamp dateTime = new Timestamp(date.getTime());
 
         final List<FilterItem> children = new ArrayList<FilterItem>();
         children.add(new FilterItem(new SelectItem(new MutableColumn("foo")), OperatorType.EQUALS_TO, "hello\n 'world'"));
         children.add(new FilterItem(new SelectItem(new MutableColumn("bar")), OperatorType.EQUALS_TO, 123));
-        children.add(new FilterItem(new SelectItem(new MutableColumn("baz")), OperatorType.EQUALS_TO, date));
+        children.add(new FilterItem(new SelectItem(new MutableColumn("baz").setType(ColumnType.DATE)),
+                OperatorType.EQUALS_TO, date));
+        children.add(new FilterItem(new SelectItem(new MutableColumn("zaz").setType(ColumnType.TIMESTAMP)),
+                OperatorType.EQUALS_TO, date));
+        children.add(new FilterItem(new SelectItem(new MutableColumn("saz").setType(ColumnType.TIMESTAMP)),
+                OperatorType.EQUALS_TO, dateTime));
+
         final FilterItem filterItem = new FilterItem(children);
 
         SalesforceDataContext.rewriteFilterItem(sb, filterItem);
 
-        assertEquals("FOOBAR: (foo = 'hello\\n \\'world\\'' OR bar = 123 OR baz = 2013-01-22T23:00:00+0000)",
+        assertEquals(
+                "FOOBAR: (foo = 'hello\\n \\'world\\'' OR bar = 123 OR baz = 2013-01-22 OR zaz = 2013-01-22T23:00:00+0000 OR saz = 2013-01-22T23:00:00+0000)",
                 sb.toString());
     }
 }


[3/4] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-metamodel

Posted by ka...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-metamodel


Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/5d9e9baa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/5d9e9baa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/5d9e9baa

Branch: refs/heads/master
Commit: 5d9e9baaea51fae4f08b9785d1070e483d925b4f
Parents: e63944a d1f079d
Author: Kasper Sørensen <i....@gmail.com>
Authored: Thu Aug 8 15:05:51 2013 +0200
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Thu Aug 8 15:05:51 2013 +0200

----------------------------------------------------------------------
 LICENSE                                         | 202 ++++++++++++++
 NOTICE                                          |   9 +
 .../apache/metamodel/csv/CsvConfiguration.java  | 270 ++++++++++---------
 .../apache/metamodel/csv/CsvDataContext.java    |  43 ++-
 .../org/apache/metamodel/csv/CsvDataSet.java    |   2 +-
 .../metamodel/csv/SingleLineCsvDataSet.java     | 124 +++++++++
 .../apache/metamodel/csv/SingleLineCsvRow.java  | 112 ++++++++
 .../metamodel/csv/CsvBigFileMemoryTest.java     | 173 +++++++-----
 .../metamodel/csv/CsvDataContextTest.java       |   4 +-
 .../metamodel/csv/SingleLineCsvDataSetTest.java |  49 ++++
 10 files changed, 780 insertions(+), 208 deletions(-)
----------------------------------------------------------------------



[2/4] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-metamodel.git

Posted by ka...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-metamodel.git

Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/e63944a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/e63944a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/e63944a5

Branch: refs/heads/master
Commit: e63944a52d282df35c6eef1436436343aacf351b
Parents: 6e4eef7 a767740
Author: kasper <ka...@192.168.0.165>
Authored: Tue Jul 30 11:06:06 2013 +0200
Committer: kasper <ka...@192.168.0.165>
Committed: Tue Jul 30 11:06:06 2013 +0200

----------------------------------------------------------------------
 access/pom.xml                                  |  2 +-
 core/pom.xml                                    |  2 +-
 couchdb/pom.xml                                 |  2 +-
 csv/pom.xml                                     |  2 +-
 excel/pom.xml                                   |  2 +-
 fixedwidth/pom.xml                              |  2 +-
 full/pom.xml                                    |  2 +-
 jdbc/pom.xml                                    |  2 +-
 mongodb/pom.xml                                 |  2 +-
 openoffice/pom.xml                              |  2 +-
 pojo/pom.xml                                    |  2 +-
 pom.xml                                         |  5 ++---
 salesforce/pom.xml                              |  4 ++--
 .../salesforce/SalesforceUpdateCallback.java    | 19 +++++++++++++++++-
 .../salesforce/SalesforceDataContextTest.java   |  9 +++++++++
 salesforce/src/test/resources/log4j.xml         | 21 ++++++++++++++++++++
 sugarcrm/pom.xml                                |  2 +-
 xml/pom.xml                                     |  2 +-
 18 files changed, 65 insertions(+), 19 deletions(-)
----------------------------------------------------------------------