Author: frankb
Date: Tue Jul 25 09:53:41 2006
New Revision: 425456
URL: http://svn.apache.org/viewvc?rev=425456&view=rev
Log:
Add TypeRoundTripTestCase Date type test
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java?rev=425456&r1=425455&r2=425456&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/DataHelperImpl.java
Tue Jul 25 09:53:41 2006
@@ -20,6 +20,7 @@
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
+import java.util.TimeZone;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -33,7 +34,7 @@
public class DataHelperImpl implements DataHelper
{
/**
- * @param dateString - Must comply to the pattern of
yyyy-MM-dd'T'HH:mm:ss'.'SSS Z
+ * @param dateString - Must comply to the pattern of
yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'
* @return null if dataString couldn't be parsed
*/
public synchronized Date toDate(String dateString)
@@ -43,9 +44,17 @@
return null;
}
+ DateFormat sdoDateFormat = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'");
+ sdoDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
+ try {
+ return sdoDateFormat.parse(dateString);
+ }
+ catch (ParseException parseException)
+ {
+ }
+
DateFormat [] DATE_PATTERNS =
{
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS Z"),
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS"),
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"),
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm"),
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java?rev=425456&r1=425455&r2=425456&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
Tue Jul 25 09:53:41 2006
@@ -18,8 +18,10 @@
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
+import java.util.TimeZone;
import org.apache.tuscany.sdo.SDOFactory;
import org.apache.tuscany.sdo.model.ChangeSummaryType;
@@ -530,8 +532,15 @@
*/
public String convertDateToString(EDataType eDataType, Object instanceValue)
{
- // return XMLTypeFactory.eINSTANCE.convertDate(instanceValue);
- return DataHelper.INSTANCE.toDateTime((Date)instanceValue);
+ if (instanceValue == null)
+ {
+ return null;
+ }
+
+ SimpleDateFormat f = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'");
+ f.setTimeZone(TimeZone.getTimeZone("GMT"));
+
+ return f.format((Date)instanceValue);
}
/**
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java?rev=425456&r1=425455&r2=425456&view=diff
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
Tue Jul 25 09:53:41 2006
@@ -16,19 +16,18 @@
*/
package org.apache.tuscany.sdo.test;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
-import java.util.Date;
import java.util.List;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sdo.util.SDOUtil;
+
import commonj.sdo.Type;
+import commonj.sdo.helper.DataHelper;
import commonj.sdo.helper.TypeHelper;
public class TypeRoundTripTestCase extends TestCase {
@@ -84,26 +83,10 @@
}
}
- private static class DateComparator implements Comparator {
- public int compare(Object o1, Object o2) {
- int answer = 1;
- try {
- if (o1 instanceof String && o2 instanceof Date) {
- SimpleDateFormat sdf =
- new SimpleDateFormat("yyyy-MM-dd'Z'");
- o1 = sdf.parse((String)o1);
- if (!o1.equals(o2)) answer = 0;
- } else {
- answer = 0;
- }
- } catch (Exception e) {}
- return answer;
- }
- }
-
public void testTypeRoundTrips() throws Exception {
String URI = "commonj.sdo";
TypeHelper types = TypeHelper.INSTANCE;
+
List list = new ArrayList();
list.add("foo");
list.add("bar");
@@ -113,8 +96,8 @@
new Test(types.getType(URI, "Byte"), "49", new Byte((byte)49)),
new Test(types.getType(URI, "Bytes"), "Zm9v", "foo", new
BytesComparator()),
new Test(types.getType(URI, "Character"), "a", new Character('a')),
- //FB broken ... new Test(types.getType(URI, "Date"),
"2005-12-12Z", "2005-12-12Z", new DateComparator()),
- new Test(types.getType(URI, "DateTime"), "2005-12-12T12:12:12Z",
"2005-12-12T12:12:12Z"),
+ new Test(types.getType(URI, "Date"), "2005-12-12T12:12:12.012Z",
DataHelper.INSTANCE.toDate("2005-12-12T12:12:12.012Z")),
+ new Test(types.getType(URI, "DateTime"), "2005-12-12T12:12:12zz",
"2005-12-12T12:12:12zz"),
new Test(types.getType(URI, "Day"), "---12", "---12"),
new Test(types.getType(URI, "Decimal"), "12.12", new
BigDecimal("12.12")),
new Test(types.getType(URI, "Double"), "12.12", new Double(12.12)),
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]