Revision: 10389
http://datanucleus.svn.sourceforge.net/datanucleus/?rev=10389&view=rev
Author: andy_jefferson
Date: 2010-07-02 14:49:50 +0000 (Fri, 02 Jul 2010)
Log Message:
-----------
[NUCJAVAXTIME-3] Make use of delegate on comparison ops
Modified Paths:
--------------
platform/store.types.javaxtime/trunk/META-INF/MANIFEST.MF
platform/store.types.javaxtime/trunk/pom.xml
platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateLiteral.java
platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateTimeLiteral.java
platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalTimeLiteral.java
Added Paths:
-----------
platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/JavaxTimeLiteral.java
Modified: platform/store.types.javaxtime/trunk/META-INF/MANIFEST.MF
===================================================================
--- platform/store.types.javaxtime/trunk/META-INF/MANIFEST.MF 2010-07-02 14:00:49 UTC (rev 10388)
+++ platform/store.types.javaxtime/trunk/META-INF/MANIFEST.MF 2010-07-02 14:49:50 UTC (rev 10389)
@@ -3,8 +3,8 @@
Bundle-Name: DataNucleus javax.time
Bundle-SymbolicName: org.datanucleus.store.types.javaxtime;singleton:=true
Bundle-Vendor: DataNucleus
-Bundle-Version: 2.1.0.release
+Bundle-Version: 2.1.1
Bundle-Localization: plugin
-Require-Bundle: org.datanucleus;bundle-version="2.1.0.m1",
- org.datanucleus.store.rdbms;bundle-version="2.1.0.m1";resolution:=optional
+Require-Bundle: org.datanucleus;bundle-version="2.1.0.release",
+ org.datanucleus.store.rdbms;bundle-version="2.1.0.release";resolution:=optional
Import-Package: javax.time.calendar
Modified: platform/store.types.javaxtime/trunk/pom.xml
===================================================================
--- platform/store.types.javaxtime/trunk/pom.xml 2010-07-02 14:00:49 UTC (rev 10388)
+++ platform/store.types.javaxtime/trunk/pom.xml 2010-07-02 14:49:50 UTC (rev 10389)
@@ -5,7 +5,7 @@
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.datanucleus</groupId>
- <version>2.1.0-release</version>
+ <version>2.1.1-SNAPSHOT</version>
<artifactId>datanucleus-javaxtime</artifactId>
<name>DataNucleus javax.time plugin</name>
<description>
Added: platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/JavaxTimeLiteral.java
===================================================================
--- platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/JavaxTimeLiteral.java (rev 0)
+++ platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/JavaxTimeLiteral.java 2010-07-02 14:49:50 UTC (rev 10389)
@@ -0,0 +1,135 @@
+/**********************************************************************
+Copyright (c) 2010 Andy Jefferson and others. All rights reserved.
+Licensed 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.
+
+Contributors:
+ ...
+**********************************************************************/
+package org.datanucleus.store.rdbms.sql.expression;
+
+import org.datanucleus.store.mapped.mapping.JavaTypeMapping;
+import org.datanucleus.store.rdbms.sql.SQLStatement;
+
+/**
+ * Abstract representation of a javax.time literal (to be extended by specific cases).
+ */
+public abstract class JavaxTimeLiteral extends StringTemporalExpression implements SQLLiteral
+{
+ /**
+ * Constructor for a javax.time literal with a value.
+ * @param stmt the SQL statement
+ * @param mapping the mapping
+ * @param value the value
+ * @param parameterName Name of the parameter that this represents if any (as JDBC "?")
+ */
+ public JavaxTimeLiteral(SQLStatement stmt, JavaTypeMapping mapping, String parameterName)
+ {
+ super(stmt, null, mapping);
+ this.parameterName = parameterName;
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#eq(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression eq(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.eq(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.eq(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#ge(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression ge(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.ge(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.ge(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#gt(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression gt(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.gt(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.gt(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#le(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression le(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.le(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.le(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#lt(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression lt(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.lt(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.lt(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.DelegatedExpression#ne(org.datanucleus.store.rdbms.sql.expression.SQLExpression)
+ */
+ @Override
+ public BooleanExpression ne(SQLExpression expr)
+ {
+ if (expr instanceof JavaxTimeLiteral)
+ {
+ return super.ne(((JavaxTimeLiteral) expr).delegate);
+ }
+ return super.ne(expr);
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.SQLExpression#isParameter()
+ */
+ @Override
+ public boolean isParameter()
+ {
+ return delegate.isParameter();
+ }
+
+ /* (non-Javadoc)
+ * @see org.datanucleus.store.rdbms.sql.expression.SQLLiteral#setNotParameter()
+ */
+ public void setNotParameter()
+ {
+ ((SQLLiteral)delegate).setNotParameter();
+ }
+}
\ No newline at end of file
Modified: platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateLiteral.java
===================================================================
--- platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateLiteral.java 2010-07-02 14:00:49 UTC (rev 10388)
+++ platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateLiteral.java 2010-07-02 14:49:50 UTC (rev 10389)
@@ -30,7 +30,7 @@
/**
* Representation of an javax.time.calendar "LocalDate" literal.
*/
-public class LocalDateLiteral extends StringTemporalExpression implements SQLLiteral
+public class LocalDateLiteral extends JavaxTimeLiteral
{
private final LocalDate value;
@@ -44,8 +44,7 @@
@SuppressWarnings("deprecation")
public LocalDateLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
{
- super(stmt, null, mapping);
- this.parameterName = parameterName;
+ super(stmt, mapping, parameterName);
if (value == null)
{
@@ -89,21 +88,4 @@
{
return value;
}
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLExpression#isParameter()
- */
- @Override
- public boolean isParameter()
- {
- return delegate.isParameter();
- }
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLLiteral#setNotParameter()
- */
- public void setNotParameter()
- {
- ((SQLLiteral)delegate).setNotParameter();
- }
}
\ No newline at end of file
Modified: platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateTimeLiteral.java
===================================================================
--- platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateTimeLiteral.java 2010-07-02 14:00:49 UTC (rev 10388)
+++ platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalDateTimeLiteral.java 2010-07-02 14:49:50 UTC (rev 10389)
@@ -30,7 +30,7 @@
/**
* Representation of an javax.time.calendar "LocalDateTime" literal.
*/
-public class LocalDateTimeLiteral extends StringTemporalExpression implements SQLLiteral
+public class LocalDateTimeLiteral extends JavaxTimeLiteral
{
private final LocalDateTime value;
@@ -44,8 +44,7 @@
@SuppressWarnings("deprecation")
public LocalDateTimeLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
{
- super(stmt, null, mapping);
- this.parameterName = parameterName;
+ super(stmt, mapping, parameterName);
if (value == null)
{
@@ -93,21 +92,4 @@
{
return value;
}
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLExpression#isParameter()
- */
- @Override
- public boolean isParameter()
- {
- return delegate.isParameter();
- }
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLLiteral#setNotParameter()
- */
- public void setNotParameter()
- {
- ((SQLLiteral)delegate).setNotParameter();
- }
}
\ No newline at end of file
Modified: platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalTimeLiteral.java
===================================================================
--- platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalTimeLiteral.java 2010-07-02 14:00:49 UTC (rev 10388)
+++ platform/store.types.javaxtime/trunk/src/java/org/datanucleus/store/rdbms/sql/expression/LocalTimeLiteral.java 2010-07-02 14:49:50 UTC (rev 10389)
@@ -17,7 +17,8 @@
**********************************************************************/
package org.datanucleus.store.rdbms.sql.expression;
-import java.util.Date;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
import javax.time.calendar.LocalTime;
@@ -30,7 +31,7 @@
/**
* Representation of an javax.time.calendar "LocalTime" literal.
*/
-public class LocalTimeLiteral extends StringTemporalExpression implements SQLLiteral
+public class LocalTimeLiteral extends JavaxTimeLiteral
{
private final LocalTime value;
@@ -41,11 +42,9 @@
* @param value the value
* @param parameterName Name of the parameter that this represents if any (as JDBC "?")
*/
- @SuppressWarnings("deprecation")
public LocalTimeLiteral(SQLStatement stmt, JavaTypeMapping mapping, Object value, String parameterName)
{
- super(stmt, null, mapping);
- this.parameterName = parameterName;
+ super(stmt, mapping, parameterName);
if (value == null)
{
@@ -74,12 +73,12 @@
else
{
LocalTime localTime = (LocalTime)value;
- Date date = new Date();
- date.setHours(localTime.getHourOfDay());
- date.setMinutes(localTime.getMinuteOfHour());
- date.setSeconds(localTime.getSecondOfMinute());
+ Calendar cal = GregorianCalendar.getInstance();
+ cal.set(Calendar.HOUR_OF_DAY, localTime.getHourOfDay());
+ cal.set(Calendar.MINUTE, localTime.getMinuteOfHour());
+ cal.set(Calendar.SECOND, localTime.getSecondOfMinute());
// TODO Handle milli/nanoseconds
- delegate = new TemporalLiteral(stmt, mapping, date, parameterName);
+ delegate = new TemporalLiteral(stmt, mapping, cal.getTime(), parameterName);
}
}
@@ -90,21 +89,4 @@
{
return value;
}
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLExpression#isParameter()
- */
- @Override
- public boolean isParameter()
- {
- return delegate.isParameter();
- }
-
- /* (non-Javadoc)
- * @see org.datanucleus.store.rdbms.sql.expression.SQLLiteral#setNotParameter()
- */
- public void setNotParameter()
- {
- ((SQLLiteral)delegate).setNotParameter();
- }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|