Author: shawkins
Date: 2012-05-09 14:40:58 -0400 (Wed, 09 May 2012)
New Revision: 4084
Modified:
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToDateTransform.java
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToTimestampTransform.java
trunk/common-core/src/test/java/org/teiid/core/types/basic/TestTransforms.java
Log:
TEIID-1995 adding back full checks for valid representations
Modified:
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToDateTransform.java
===================================================================
---
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToDateTransform.java 2012-05-09
18:38:36 UTC (rev 4083)
+++
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToDateTransform.java 2012-05-09
18:40:58 UTC (rev 4084)
@@ -62,7 +62,7 @@
}
throw new TransformationException(CorePlugin.Event.TEIID10061, e,
CorePlugin.Util.gs(CorePlugin.Event.TEIID10061, value));
}
- if (validate && !result.toString().equals(value)) {
+ if (!result.toString().equals(value)) {
throw new TransformationException(CorePlugin.Event.TEIID10060,
CorePlugin.Util.gs(CorePlugin.Event.TEIID10060, value, getTargetType().getSimpleName()));
}
return result;
@@ -72,7 +72,7 @@
* Type of the incoming value.
* @return Source type
*/
- public Class getSourceType() {
+ public Class<?> getSourceType() {
return String.class;
}
@@ -80,7 +80,7 @@
* Type of the outgoing value.
* @return Target type
*/
- public Class getTargetType() {
+ public Class<?> getTargetType() {
return Date.class;
}
Modified:
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToTimestampTransform.java
===================================================================
---
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToTimestampTransform.java 2012-05-09
18:38:36 UTC (rev 4083)
+++
trunk/common-core/src/main/java/org/teiid/core/types/basic/StringToTimestampTransform.java 2012-05-09
18:40:58 UTC (rev 4084)
@@ -63,7 +63,7 @@
throw new TransformationException(CorePlugin.Event.TEIID10059, e,
CorePlugin.Util.gs(CorePlugin.Event.TEIID10059, value));
}
//validate everything except for fractional seconds
- if (validate && !((String)value).startsWith(result.toString().substring(0,
19))) {
+ if (!((String)value).startsWith(result.toString().substring(0, 19))) {
throw new TransformationException(CorePlugin.Event.TEIID10060,
CorePlugin.Util.gs(CorePlugin.Event.TEIID10060, value, getTargetType().getSimpleName()));
}
return result;
@@ -73,7 +73,7 @@
* Type of the incoming value.
* @return Source type
*/
- public Class getSourceType() {
+ public Class<?> getSourceType() {
return String.class;
}
@@ -81,7 +81,7 @@
* Type of the outgoing value.
* @return Target type
*/
- public Class getTargetType() {
+ public Class<?> getTargetType() {
return Timestamp.class;
}
Modified: trunk/common-core/src/test/java/org/teiid/core/types/basic/TestTransforms.java
===================================================================
---
trunk/common-core/src/test/java/org/teiid/core/types/basic/TestTransforms.java 2012-05-09
18:38:36 UTC (rev 4083)
+++
trunk/common-core/src/test/java/org/teiid/core/types/basic/TestTransforms.java 2012-05-09
18:40:58 UTC (rev 4084)
@@ -22,10 +22,7 @@
package org.teiid.core.types.basic;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -37,13 +34,13 @@
import org.teiid.core.types.ClobImpl;
import org.teiid.core.types.ClobType;
import org.teiid.core.types.DataTypeManager;
-import org.teiid.core.types.DataTypeManager.DefaultDataClasses;
-import org.teiid.core.types.DataTypeManager.DefaultDataTypes;
import org.teiid.core.types.SQLXMLImpl;
import org.teiid.core.types.TestDataTypeManager;
import org.teiid.core.types.Transform;
import org.teiid.core.types.TransformationException;
import org.teiid.core.types.XMLType;
+import org.teiid.core.types.DataTypeManager.DefaultDataClasses;
+import org.teiid.core.types.DataTypeManager.DefaultDataTypes;
import org.teiid.query.unittest.TimestampUtil;
@@ -235,6 +232,10 @@
helpTestTransform(" 2005-12-01 11:13:01 ",
TimestampUtil.createTimestamp(105, 11, 1, 11, 13, 1, 0)); //$NON-NLS-1$
}
+ @Test public void testStringToTimestampFails() throws Exception {
+ helpTransformException("2005-12-01 11:88:60", Timestamp.class, "Error
Code:TEIID10060 Message:TEIID10060 The string representation '2005-12-01 11:88:60'
of a Timestamp value is not valid."); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
@Test public void testStringToLongWithWS() throws Exception {
helpTestTransform(" 1 ", Long.valueOf(1)); //$NON-NLS-1$
}
Show replies by date