You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/10/27 10:37:05 UTC

[1/3] ignite git commit: IGNITE-1770: Refactoring.

Repository: ignite
Updated Branches:
  refs/heads/ignite-1770 7bc3f2ff5 -> b5abaee06


IGNITE-1770: Refactoring.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f610e72d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f610e72d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f610e72d

Branch: refs/heads/ignite-1770
Commit: f610e72d7fb2335329b948752b9ddfcb7f097755
Parents: 7bc3f2f
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Oct 27 12:22:45 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Oct 27 12:22:45 2015 +0300

----------------------------------------------------------------------
 .../internal/portable/PortableObjectEx.java     |  9 +++++++++
 .../internal/portable/PortableObjectImpl.java   | 12 +++++++++--
 .../portable/PortableObjectOffheapImpl.java     | 15 ++++++++++++--
 .../internal/portable/PortableReaderExImpl.java | 21 +++++++++++++++-----
 .../GridPortableMarshallerSelfTest.java         | 18 ++++++++---------
 5 files changed, 57 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f610e72d/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectEx.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectEx.java
index fe4b628..ef9ee24 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectEx.java
@@ -58,6 +58,15 @@ public abstract class PortableObjectEx implements PortableObject {
     public abstract long offheapAddress();
 
     /**
+     * Gets field value.
+     *
+     * @param fieldId Field ID.
+     * @return Field value.
+     * @throws PortableException In case of any other error.
+     */
+    @Nullable public abstract <F> F field(int fieldId) throws PortableException;
+
+    /**
      * @param ctx Reader context.
      * @param fieldName Field name.
      * @return Field name.

http://git-wip-us.apache.org/repos/asf/ignite/blob/f610e72d/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
index b156eda..f1868b1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectImpl.java
@@ -235,7 +235,15 @@ public final class PortableObjectImpl extends PortableObjectEx implements Extern
     @Nullable @Override public <F> F field(String fieldName) throws PortableException {
         PortableReaderExImpl reader = new PortableReaderExImpl(ctx, arr, start, null);
 
-        return (F)reader.unmarshal(fieldName);
+        return (F)reader.unmarshalField(fieldName);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("unchecked")
+    @Nullable @Override public <F> F field(int fieldId) throws PortableException {
+        PortableReaderExImpl reader = new PortableReaderExImpl(ctx, arr, start, null);
+
+        return (F)reader.unmarshalField(fieldId);
     }
 
     /** {@inheritDoc} */
@@ -247,7 +255,7 @@ public final class PortableObjectImpl extends PortableObjectEx implements Extern
             null,
             rCtx);
 
-        return (F)reader.unmarshal(fieldName);
+        return (F)reader.unmarshalField(fieldName);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/f610e72d/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
index 0dc8612..0b3e3ea 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableObjectOffheapImpl.java
@@ -136,7 +136,18 @@ public class PortableObjectOffheapImpl extends PortableObjectEx implements Exter
             start,
             null);
 
-        return (F)reader.unmarshal(fieldName);
+        return (F)reader.unmarshalField(fieldName);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("unchecked")
+    @Nullable @Override public <F> F field(int fieldId) throws PortableException {
+        PortableReaderExImpl reader = new PortableReaderExImpl(ctx,
+            new PortableOffheapInputStream(ptr, size, false),
+            start,
+            null);
+
+        return (F)reader.unmarshalField(fieldId);
     }
 
     /** {@inheritDoc} */
@@ -148,7 +159,7 @@ public class PortableObjectOffheapImpl extends PortableObjectEx implements Exter
             null,
             rCtx);
 
-        return (F)reader.unmarshal(fieldName);
+        return (F)reader.unmarshalField(fieldName);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/f610e72d/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
index 2830c1e..2d0a633 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
@@ -260,23 +260,34 @@ public class PortableReaderExImpl implements PortableReader, PortableRawReaderEx
     }
 
     /**
+     * @param offset Offset in the array.
+     * @return Unmarshalled value.
+     * @throws PortableException In case of error.
+     */
+    public Object unmarshal(int offset) throws PortableException {
+        in.position(offset);
+
+        return in.position() >= 0 ? unmarshal() : null;
+    }
+
+    /**
      * @param fieldName Field name.
      * @return Unmarshalled value.
      * @throws PortableException In case of error.
      */
-    @Nullable Object unmarshal(String fieldName) throws PortableException {
+    @Nullable Object unmarshalField(String fieldName) throws PortableException {
         return hasField(fieldName) ? unmarshal() : null;
     }
 
     /**
-     * @param offset Offset in the array.
+     * @param fieldId Field ID.
      * @return Unmarshalled value.
      * @throws PortableException In case of error.
      */
-    public Object unmarshal(int offset) throws PortableException {
-        in.position(offset);
+    @Nullable Object unmarshalField(int fieldId) throws PortableException {
+        parseHeaderIfNeeded();
 
-        return in.position() >= 0 ? unmarshal() : null;
+        return hasField(fieldId) ? unmarshal() : null;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/f610e72d/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java
index 1054c10..ec7110f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/portable/GridPortableMarshallerSelfTest.java
@@ -823,11 +823,11 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest {
 
         CustomMappedObject1 obj1 = new CustomMappedObject1(10, "str");
 
-        PortableObject po1 = marshal(obj1, marsh);
+        PortableObjectEx po1 = marshal(obj1, marsh);
 
         assertEquals(11111, po1.typeId());
-        assertEquals(22222, intFromPortable(po1, GridPortableMarshaller.DFLT_HDR_LEN));
-        assertEquals(33333, intFromPortable(po1, GridPortableMarshaller.DFLT_HDR_LEN + 13));
+        assertEquals(10, po1.field(22222));
+        assertEquals("str", po1.field(33333));
 
         assertEquals(10, po1.<CustomMappedObject1>deserialize().val1);
         assertEquals("str", po1.<CustomMappedObject1>deserialize().val2);
@@ -882,22 +882,22 @@ public class GridPortableMarshallerSelfTest extends GridCommonAbstractTest {
 
         CustomMappedObject1 obj1 = new CustomMappedObject1(10, "str1");
 
-        PortableObject po1 = marshal(obj1, marsh);
+        PortableObjectEx po1 = marshal(obj1, marsh);
 
         assertEquals(11111, po1.typeId());
-        assertEquals(22222, intFromPortable(po1, GridPortableMarshaller.DFLT_HDR_LEN));
-        assertEquals(33333, intFromPortable(po1, GridPortableMarshaller.DFLT_HDR_LEN + 13));
+        assertEquals(10, po1.field(22222));
+        assertEquals("str1", po1.field(33333));
 
         assertEquals(10, po1.<CustomMappedObject1>deserialize().val1);
         assertEquals("str1", po1.<CustomMappedObject1>deserialize().val2);
 
         CustomMappedObject2 obj2 = new CustomMappedObject2(20, "str2");
 
-        PortableObject po2 = marshal(obj2, marsh);
+        PortableObjectEx po2 = marshal(obj2, marsh);
 
         assertEquals(44444, po2.typeId());
-        assertEquals(55555, intFromPortable(po2, GridPortableMarshaller.DFLT_HDR_LEN));
-        assertEquals(66666, intFromPortable(po2, GridPortableMarshaller.DFLT_HDR_LEN + 13));
+        assertEquals(20, po2.field(55555));
+        assertEquals("str2", po2.field(66666));
 
         assertEquals(20, po2.<CustomMappedObject2>deserialize().val1);
         assertEquals("str2", po2.<CustomMappedObject2>deserialize().val2);


[3/3] ignite git commit: IGNITE-1770: Field len is not written any more.

Posted by vo...@apache.org.
IGNITE-1770: Field len is not written any more.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b5abaee0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b5abaee0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b5abaee0

Branch: refs/heads/ignite-1770
Commit: b5abaee063ae43e91526c79f89cd19908ab89352
Parents: 5be9cf3
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Oct 27 12:37:46 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Oct 27 12:37:46 2015 +0300

----------------------------------------------------------------------
 .../internal/portable/PortableReaderExImpl.java |   2 +-
 .../internal/portable/PortableWriterExImpl.java | 140 +------------------
 .../portable/builder/PortableBuilderImpl.java   |  25 +---
 3 files changed, 9 insertions(+), 158 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b5abaee0/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
index 8dc5eb1..0037dcc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
@@ -2566,7 +2566,7 @@ public class PortableReaderExImpl implements PortableReader, PortableRawReaderEx
             if (id0 == id) {
                 int offset = in.readIntPositioned(searchHead + 4);
 
-                in.position(start + offset + 4); // TODO: "+4" will be removed soon.
+                in.position(start + offset);
 
                 return true;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b5abaee0/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
index 8cc9dad..d3be134 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
@@ -100,9 +100,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
     private final int start;
 
     /** */
-    private int mark;
-
-    /** */
     private Class<?> cls;
 
     /** */
@@ -313,25 +310,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
     }
 
     /**
-     * @param bytes Number of bytes to reserve.
-     * @return Offset.
-     */
-    public int reserveAndMark(int bytes) {
-        int off0 = reserve(bytes);
-
-        mark = out.position();
-
-        return off0;
-    }
-
-    /**
-     * @param off Offset.
-     */
-    public void writeDelta(int off) {
-        out.writeInt(off, out.position() - mark);
-    }
-
-    /**
      * Perform post-write activity. This includes:
      * - writing object length;
      * - writing schema ID;
@@ -954,8 +932,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeByteField(@Nullable Byte val) {
-        doWriteInt(val != null ? 2 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -968,19 +944,13 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Class.
      */
     void writeClassField(@Nullable Class val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteClass(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeShortField(@Nullable Short val) {
-        doWriteInt(val != null ? 3 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -993,8 +963,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeIntField(@Nullable Integer val) {
-        doWriteInt(val != null ? 5 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1007,8 +975,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeLongField(@Nullable Long val) {
-        doWriteInt(val != null ? 9 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1021,8 +987,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeFloatField(@Nullable Float val) {
-        doWriteInt(val != null ? 5 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1035,8 +999,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeDoubleField(@Nullable Double val) {
-        doWriteInt(val != null ? 9 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1049,8 +1011,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeCharField(@Nullable Character val) {
-        doWriteInt(val != null ? 3 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1063,8 +1023,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeBooleanField(@Nullable Boolean val) {
-        doWriteInt(val != null ? 2 : 1);
-
         if (val == null)
             doWriteByte(NULL);
         else {
@@ -1077,29 +1035,20 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeDecimalField(@Nullable BigDecimal val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteDecimal(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeStringField(@Nullable String val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteString(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeUuidField(@Nullable UUID val) {
-        doWriteInt(val != null ? 17 : 1);
         doWriteUuid(val);
     }
 
@@ -1107,7 +1056,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeDateField(@Nullable Date val) {
-        doWriteInt(val != null ? 9 : 1);
         doWriteDate(val);
     }
 
@@ -1115,7 +1063,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @param val Value.
      */
     void writeTimestampField(@Nullable Timestamp val) {
-        doWriteInt(val != null ? 13 : 1);
         doWriteTimestamp(val);
     }
 
@@ -1124,154 +1071,98 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writeObjectField(@Nullable Object obj) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWriteObject(obj);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeByteArrayField(@Nullable byte[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteByteArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeShortArrayField(@Nullable short[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteShortArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeIntArrayField(@Nullable int[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteIntArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeLongArrayField(@Nullable long[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteLongArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeFloatArrayField(@Nullable float[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteFloatArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeDoubleArrayField(@Nullable double[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteDoubleArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeCharArrayField(@Nullable char[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteCharArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeBooleanArrayField(@Nullable boolean[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteBooleanArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeDecimalArrayField(@Nullable BigDecimal[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteDecimalArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeStringArrayField(@Nullable String[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteStringArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeUuidArrayField(@Nullable UUID[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteUuidArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeDateArrayField(@Nullable Date[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteDateArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeTimestampArrayField(@Nullable Timestamp[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteTimestampArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
@@ -1279,11 +1170,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writeObjectArrayField(@Nullable Object[] val) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWriteObjectArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
@@ -1291,11 +1178,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writeCollectionField(@Nullable Collection<?> col) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWriteCollection(col);
-
-        writeDelta(lenPos);
     }
 
     /**
@@ -1303,11 +1186,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writeMapField(@Nullable Map<?, ?> map) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWriteMap(map);
-
-        writeDelta(lenPos);
     }
 
     /**
@@ -1315,33 +1194,21 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writeMapEntryField(@Nullable Map.Entry<?, ?> e) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWriteMapEntry(e);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeEnumField(@Nullable Enum<?> val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteEnum(val);
-
-        writeDelta(lenPos);
     }
 
     /**
      * @param val Value.
      */
     void writeEnumArrayField(@Nullable Object[] val) {
-        int lenPos = reserveAndMark(4);
-
         doWriteEnumArray(val);
-
-        writeDelta(lenPos);
     }
 
     /**
@@ -1349,11 +1216,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
      * @throws PortableException In case of error.
      */
     void writePortableObjectField(@Nullable PortableObjectImpl po) throws PortableException {
-        int lenPos = reserveAndMark(4);
-
         doWritePortableObject(po);
-
-        writeDelta(lenPos);
     }
 
     /** {@inheritDoc} */
@@ -1739,6 +1602,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
     }
 
     /** {@inheritDoc} */
+    @SuppressWarnings("NullableProblems")
     @Override public void writeBytes(String s) throws IOException {
         int len = s.length();
 
@@ -1749,6 +1613,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
     }
 
     /** {@inheritDoc} */
+    @SuppressWarnings("NullableProblems")
     @Override public void writeChars(String s) throws IOException {
         int len = s.length();
 
@@ -1759,6 +1624,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
     }
 
     /** {@inheritDoc} */
+    @SuppressWarnings("NullableProblems")
     @Override public void writeUTF(String s) throws IOException {
         writeString(s);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b5abaee0/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
index 6ea0474..1e12827 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.portable.builder;
 
-import org.apache.ignite.internal.portable.GridPortableMarshaller;
 import org.apache.ignite.internal.portable.PortableContext;
 import org.apache.ignite.internal.portable.PortableObjectImpl;
 import org.apache.ignite.internal.portable.PortableObjectOffheapImpl;
@@ -240,8 +239,6 @@ public class PortableBuilderImpl implements PortableBuilder {
                 int fieldId = reader.readIntPositioned(footerPos);
                 int fieldLen = fieldPositionAndLength(footerPos, footerEnd, rawPos).get2();
 
-                reader.skip(4); // TODO: This must be removed.
-
                 footerPos += 8;
 
                 if (assignedFldsById.containsKey(fieldId)) {
@@ -252,11 +249,7 @@ public class PortableBuilderImpl implements PortableBuilder {
                     if (assignedVal != REMOVED_FIELD_MARKER) {
                         writer.writeFieldId(fieldId);
 
-                        int lenPos = writer.reserveAndMark(4);
-
                         serializer.writeValue(writer, assignedVal);
-
-                        writer.writeDelta(lenPos);
                     }
                 }
                 else {
@@ -264,7 +257,6 @@ public class PortableBuilderImpl implements PortableBuilder {
 
                     if (fieldLen != 0 && !PortableUtils.isPlainArrayType(type) && PortableUtils.isPlainType(type)) {
                         writer.writeFieldId(fieldId);
-                        writer.writeInt(fieldLen);
                         writer.write(reader.array(), reader.position(), fieldLen);
 
                         reader.skip(fieldLen);
@@ -289,11 +281,7 @@ public class PortableBuilderImpl implements PortableBuilder {
                             reader.skip(fieldLen);
                         }
 
-                        int lenPos = writer.reserveAndMark(4);
-
                         serializer.writeValue(writer, val);
-
-                        writer.writeDelta(lenPos);
                     }
                 }
             }
@@ -324,12 +312,8 @@ public class PortableBuilderImpl implements PortableBuilder {
 
                 writer.writeFieldId(fldId);
 
-                int lenPos = writer.reserveAndMark(4);
-
                 serializer.writeValue(writer, val);
 
-                writer.writeDelta(lenPos);
-
                 if (metadataEnabled) {
                     String oldFldTypeName = metadata == null ? null : metadata.fieldTypeName(name);
 
@@ -411,7 +395,7 @@ public class PortableBuilderImpl implements PortableBuilder {
      */
     private IgniteBiTuple<Integer, Integer> fieldPositionAndLength(int footerPos, int footerEnd, int rawPos) {
         int fieldOffset = reader.readIntPositioned(footerPos + 4);
-        int fieldPos = start + fieldOffset + 4; // TODO: 4 is to be removed.
+        int fieldPos = start + fieldOffset;
 
         // Get field length.
         int fieldLen;
@@ -423,7 +407,7 @@ public class PortableBuilderImpl implements PortableBuilder {
             // Field is somewhere in the middle, get difference with the next offset.
             int nextFieldOffset = reader.readIntPositioned(footerPos + 8 + 4);
 
-            fieldLen = nextFieldOffset - fieldOffset - 4; // TODO: 4 is to be removed.
+            fieldLen = nextFieldOffset - fieldOffset;
         }
 
         return F.t(fieldPos, fieldLen);
@@ -461,7 +445,8 @@ public class PortableBuilderImpl implements PortableBuilder {
     }
 
     /** {@inheritDoc} */
-    @Override public <F> F getField(String name) {
+    @SuppressWarnings("unchecked")
+    @Override public <T> T getField(String name) {
         Object val;
 
         if (assignedVals != null && assignedVals.containsKey(name)) {
@@ -478,7 +463,7 @@ public class PortableBuilderImpl implements PortableBuilder {
             val = readCache.get(fldId);
         }
 
-        return (F)PortableUtils.unwrapLazy(val);
+        return (T)PortableUtils.unwrapLazy(val);
     }
 
     /** {@inheritDoc} */


[2/3] ignite git commit: IGNITE-1770: Field ID is not written any more.

Posted by vo...@apache.org.
IGNITE-1770: Field ID is not written any more.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5be9cf39
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5be9cf39
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5be9cf39

Branch: refs/heads/ignite-1770
Commit: 5be9cf395b17b92abda7de8e4f155e1c967de538
Parents: f610e72
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Oct 27 12:27:20 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Oct 27 12:27:20 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/internal/portable/PortableReaderExImpl.java  | 2 +-
 .../apache/ignite/internal/portable/PortableWriterExImpl.java  | 2 --
 .../ignite/internal/portable/builder/PortableBuilderImpl.java  | 6 +++---
 3 files changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5be9cf39/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
index 2d0a633..8dc5eb1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableReaderExImpl.java
@@ -2566,7 +2566,7 @@ public class PortableReaderExImpl implements PortableReader, PortableRawReaderEx
             if (id0 == id) {
                 int offset = in.readIntPositioned(searchHead + 4);
 
-                in.position(start + offset + 8); // TODO: "+8" will be removed soon.
+                in.position(start + offset + 4); // TODO: "+4" will be removed soon.
 
                 return true;
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5be9cf39/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
index 031f7a9..8cc9dad 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableWriterExImpl.java
@@ -1825,8 +1825,6 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
         int off = out.position() - start;
 
         saveFieldInfo(fieldId, off);
-
-        doWriteInt(fieldId);
     }
 
      /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/5be9cf39/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
index d703b15..6ea0474 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/builder/PortableBuilderImpl.java
@@ -240,7 +240,7 @@ public class PortableBuilderImpl implements PortableBuilder {
                 int fieldId = reader.readIntPositioned(footerPos);
                 int fieldLen = fieldPositionAndLength(footerPos, footerEnd, rawPos).get2();
 
-                reader.skip(8); // TODO: This must be removed.
+                reader.skip(4); // TODO: This must be removed.
 
                 footerPos += 8;
 
@@ -411,7 +411,7 @@ public class PortableBuilderImpl implements PortableBuilder {
      */
     private IgniteBiTuple<Integer, Integer> fieldPositionAndLength(int footerPos, int footerEnd, int rawPos) {
         int fieldOffset = reader.readIntPositioned(footerPos + 4);
-        int fieldPos = start + fieldOffset + 8; // TODO: 8 is to be removed.
+        int fieldPos = start + fieldOffset + 4; // TODO: 4 is to be removed.
 
         // Get field length.
         int fieldLen;
@@ -423,7 +423,7 @@ public class PortableBuilderImpl implements PortableBuilder {
             // Field is somewhere in the middle, get difference with the next offset.
             int nextFieldOffset = reader.readIntPositioned(footerPos + 8 + 4);
 
-            fieldLen = nextFieldOffset - fieldOffset - 8; // TODO: 8 is to be removed.
+            fieldLen = nextFieldOffset - fieldOffset - 4; // TODO: 4 is to be removed.
         }
 
         return F.t(fieldPos, fieldLen);