You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2012/07/02 15:18:33 UTC
svn commit: r1356211 - in
/chemistry/opencmis/trunk/chemistry-opencmis-client:
chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/
chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runti...
Author: fmui
Date: Mon Jul 2 13:18:32 2012
New Revision: 1356211
URL: http://svn.apache.org/viewvc?rev=1356211&view=rev
Log:
CMIS-546: added setDateTimeTimestamp()
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/QueryStatement.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/test/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementTest.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/QueryStatement.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/QueryStatement.java?rev=1356211&r1=1356210&r2=1356211&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/QueryStatement.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/QueryStatement.java Mon Jul 2 13:18:32 2012
@@ -114,19 +114,34 @@ public interface QueryStatement extends
void setBoolean(int parameterIndex, boolean... bool);
/**
- * Sets the designated parameter to the given timestamp.
+ * Sets the designated parameter to the given DateTime value.
*/
void setDateTime(int parameterIndex, Calendar... cal);
/**
- * Sets the designated parameter to the given timestamp.
+ * Sets the designated parameter to the given DateTime value.
*/
void setDateTime(int parameterIndex, Date... date);
/**
- * Sets the designated parameter to the given timestamp.
+ * Sets the designated parameter to the given DateTime value.
*/
void setDateTime(int parameterIndex, long... ms);
+
+ /**
+ * Sets the designated parameter to the given DateTime value with the prefix 'TIMESTAMP '.
+ */
+ void setDateTimeTimestamp(int parameterIndex, Calendar... cal);
+
+ /**
+ * Sets the designated parameter to the given DateTime value with the prefix 'TIMESTAMP '.
+ */
+ void setDateTimeTimestamp(int parameterIndex, Date... date);
+
+ /**
+ * Sets the designated parameter to the given DateTime value with the prefix 'TIMESTAMP '.
+ */
+ void setDateTimeTimestamp(int parameterIndex, long... ms);
/**
* Returns the query statement.
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementImpl.java?rev=1356211&r1=1356210&r2=1356211&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementImpl.java Mon Jul 2 13:18:32 2012
@@ -231,6 +231,14 @@ public class QueryStatementImpl implemen
}
public void setDateTime(int parameterIndex, Calendar... cal) {
+ setDateTime(parameterIndex, false, cal);
+ }
+
+ public void setDateTimeTimestamp(int parameterIndex, Calendar... cal) {
+ setDateTime(parameterIndex, true, cal);
+ }
+
+ protected void setDateTime(int parameterIndex, boolean prefix, Calendar... cal) {
if (cal == null || cal.length == 0) {
throw new IllegalArgumentException("Calendar must be set!");
}
@@ -245,6 +253,10 @@ public class QueryStatementImpl implemen
sb.append(",");
}
+ if (prefix) {
+ sb.append("TIMESTAMP ");
+ }
+
sb.append(convert(c.getTime()));
}
@@ -252,6 +264,14 @@ public class QueryStatementImpl implemen
}
public void setDateTime(int parameterIndex, Date... date) {
+ setDateTime(parameterIndex, false, date);
+ }
+
+ public void setDateTimeTimestamp(int parameterIndex, Date... date) {
+ setDateTime(parameterIndex, true, date);
+ }
+
+ protected void setDateTime(int parameterIndex, boolean prefix, Date... date) {
if (date == null || date.length == 0) {
throw new IllegalArgumentException("Date must be set!");
}
@@ -266,6 +286,10 @@ public class QueryStatementImpl implemen
sb.append(",");
}
+ if (prefix) {
+ sb.append("TIMESTAMP ");
+ }
+
sb.append(convert(d));
}
@@ -273,6 +297,14 @@ public class QueryStatementImpl implemen
}
public void setDateTime(int parameterIndex, long... ms) {
+ setDateTime(parameterIndex, false, ms);
+ }
+
+ public void setDateTimeTimestamp(int parameterIndex, long... ms) {
+ setDateTime(parameterIndex, true, ms);
+ }
+
+ protected void setDateTime(int parameterIndex, boolean prefix, long... ms) {
if (ms == null || ms.length == 0) {
throw new IllegalArgumentException("Timestamp must be set!");
}
@@ -283,6 +315,10 @@ public class QueryStatementImpl implemen
sb.append(",");
}
+ if (prefix) {
+ sb.append("TIMESTAMP ");
+ }
+
sb.append(convert(new Date(l)));
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/test/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/test/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementTest.java?rev=1356211&r1=1356210&r2=1356211&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/test/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/test/java/org/apache/chemistry/opencmis/client/runtime/QueryStatementTest.java Mon Jul 2 13:18:32 2012
@@ -43,7 +43,7 @@ public class QueryStatementTest {
query = "SELECT * FROM cmis:document WHERE cmis:createdBy = \'admin\' AND abc:int = 42";
st = new QueryStatementImpl(session, query);
assertEquals(query, st.toQueryString());
-
+
query = "SELECT * FROM cmis:document WHERE abc:test = 'x?z'";
st = new QueryStatementImpl(session, query);
st.setString(1, "y");
@@ -112,5 +112,25 @@ public class QueryStatementTest {
st.setDateTime(1, cal.getTimeInMillis());
assertEquals("SELECT * FROM cmis:document WHERE abc:dateTime = TIMESTAMP '2012-02-02T03:04:05.000Z'",
st.toQueryString());
+
+ // dateTime Timestamp
+ query = "SELECT * FROM cmis:document WHERE abc:dateTime = ?";
+
+ st = new QueryStatementImpl(session, query);
+ st.setDateTimeTimestamp(1, cal);
+ assertEquals("SELECT * FROM cmis:document WHERE abc:dateTime = TIMESTAMP '2012-02-02T03:04:05.000Z'",
+ st.toQueryString());
+
+ st = new QueryStatementImpl(session, query);
+ st.setDateTimeTimestamp(1, cal.getTimeInMillis());
+ assertEquals("SELECT * FROM cmis:document WHERE abc:dateTime = TIMESTAMP '2012-02-02T03:04:05.000Z'",
+ st.toQueryString());
+
+ query = "SELECT * FROM cmis:document WHERE abc:dateTime IN (?)";
+
+ st = new QueryStatementImpl(session, query);
+ st.setDateTimeTimestamp(1, cal.getTime(), cal.getTime());
+ assertEquals("SELECT * FROM cmis:document WHERE abc:dateTime "
+ + "IN (TIMESTAMP '2012-02-02T03:04:05.000Z',TIMESTAMP '2012-02-02T03:04:05.000Z')", st.toQueryString());
}
}