You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2012/04/18 14:50:41 UTC

svn commit: r1327489 - /chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java

Author: jens
Date: Wed Apr 18 12:50:41 2012
New Revision: 1327489

URL: http://svn.apache.org/viewvc?rev=1327489&view=rev
Log:
Fix small bug in parsing dates for queries (missing conversion from String)

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java?rev=1327489&r1=1327488&r2=1327489&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java Wed Apr 18 12:50:41 2012
@@ -55,6 +55,7 @@ import org.apache.chemistry.opencmis.inm
 import org.apache.chemistry.opencmis.inmemory.types.PropertyUtil;
 import org.apache.chemistry.opencmis.server.support.TypeManager;
 import org.apache.chemistry.opencmis.server.support.query.AbstractPredicateWalker;
+import org.apache.chemistry.opencmis.server.support.query.CalendarHelper;
 import org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker;
 import org.apache.chemistry.opencmis.server.support.query.CmisSelector;
 import org.apache.chemistry.opencmis.server.support.query.ColumnReference;
@@ -659,16 +660,13 @@ public class InMemoryQueryProcessor {
             break;
         }
         case DATETIME:
-            if (rVal instanceof GregorianCalendar) {
-                // LOG.debug("left:" +
-                // CalendarHelper.toString((GregorianCalendar)lValue) +
-                // " right: " +
-                // CalendarHelper.toString((GregorianCalendar)rVal));
-                return ((GregorianCalendar) lValue).compareTo((GregorianCalendar) rVal);
-            } else {
-                throwIncompatibleTypesException(lValue, rVal);
-            }
-            break;
+            // parse date from string
+            GregorianCalendar dt = CalendarHelper.fromString((String) rVal); // will throw exception if not parsable
+            // LOG.debug("left:" +
+            // CalendarHelper.toString((GregorianCalendar)lValue) +
+            // " right: " +
+            // CalendarHelper.toString((GregorianCalendar)rVal));
+            return ((GregorianCalendar) lValue).compareTo(dt);
         case DECIMAL: {
             Double lDoubleValue = ((BigDecimal) lValue).doubleValue();
             if (rVal instanceof Double) {