You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2018/04/23 07:12:27 UTC
[31/50] [abbrv] ignite git commit: IGNITE-6666: Support Time data
type in BinaryObjectImpl.writeFieldByOrder. This closes #2878.
IGNITE-6666: Support Time data type in BinaryObjectImpl.writeFieldByOrder. This closes #2878.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c09c68ad
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c09c68ad
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c09c68ad
Branch: refs/heads/ignite-6083
Commit: c09c68adc36cc2353e11878d30c3ea29fbcbdde7
Parents: 0897309
Author: Nikita Amelchev <ns...@gmail.com>
Authored: Thu Apr 19 12:57:06 2018 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Thu Apr 19 12:57:06 2018 +0300
----------------------------------------------------------------------
.../ignite/internal/binary/BinaryFieldImpl.java | 9 +++++
.../internal/binary/BinaryObjectImpl.java | 1 +
.../binary/BinaryFieldExtractionSelfTest.java | 35 ++++++++++++++++++++
3 files changed, 45 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/c09c68ad/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
index 883576c..de0b2d0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldImpl.java
@@ -21,6 +21,7 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
+import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;
import java.util.UUID;
@@ -211,6 +212,14 @@ public class BinaryFieldImpl implements BinaryFieldEx {
break;
}
+ case GridBinaryMarshaller.TIME: {
+ long time = buf.getLong();
+
+ val = new Time(time);
+
+ break;
+ }
+
case GridBinaryMarshaller.UUID: {
long most = buf.getLong();
long least = buf.getLong();
http://git-wip-us.apache.org/repos/asf/ignite/blob/c09c68ad/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
index 4f91e25..7ab8b35 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImpl.java
@@ -545,6 +545,7 @@ public final class BinaryObjectImpl extends BinaryObjectExImpl implements Extern
case GridBinaryMarshaller.LONG:
case GridBinaryMarshaller.DOUBLE:
case GridBinaryMarshaller.DATE:
+ case GridBinaryMarshaller.TIME:
totalLen = 9;
break;
http://git-wip-us.apache.org/repos/asf/ignite/blob/c09c68ad/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
index 9f39746..a050591 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryFieldExtractionSelfTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.binary;
import java.math.BigDecimal;
import java.nio.ByteBuffer;
+import java.sql.Time;
import java.util.concurrent.ThreadLocalRandom;
import org.apache.ignite.configuration.BinaryConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
@@ -100,6 +101,27 @@ public class BinaryFieldExtractionSelfTest extends GridCommonAbstractTest {
/**
* @throws Exception If failed.
*/
+ public void testTimeMarshalling() throws Exception {
+ BinaryMarshaller marsh = createMarshaller();
+
+ TimeValue obj = new TimeValue(11111L);
+
+ BinaryObjectImpl binObj = toBinary(obj, marsh);
+
+ BinaryFieldEx field = (BinaryFieldEx)binObj.type().field("time");
+
+ ByteBuffer buf = ByteBuffer.allocate(16);
+
+ field.writeField(binObj, buf);
+
+ buf.flip();
+
+ assertEquals(field.value(binObj), field.<Time>readField(buf));
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
public void testDecimalFieldMarshalling() throws Exception {
BinaryMarshaller marsh = createMarshaller();
@@ -194,6 +216,19 @@ public class BinaryFieldExtractionSelfTest extends GridCommonAbstractTest {
}
}
+ /** */
+ private static class TimeValue {
+ /** */
+ private Time time;
+
+ /**
+ * @param time Time.
+ */
+ TimeValue(long time) {
+ this.time = new Time(time);
+ }
+ }
+
/**
*
*/