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);
+        }
+    }
+
     /**
      *
      */