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:01:04 UTC

[09/10] ignite git commit: IGNITE-1770: Refactoring.

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/0f23906e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0f23906e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0f23906e

Branch: refs/heads/ignite-1770
Commit: 0f23906e794b32941026543e0ced6eacd9cfed7e
Parents: f06814e
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Oct 27 11:58:25 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Oct 27 11:58:25 2015 +0300

----------------------------------------------------------------------
 .../portable/builder/PortableBuilderImpl.java       | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0f23906e/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 30892d3..88a5950 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
@@ -227,8 +227,8 @@ public class PortableBuilderImpl implements PortableBuilder {
             // Get footer details.
             IgniteBiTuple<Integer, Integer> footer = PortableUtils.footer(reader, start);
 
-            int footerPos = footer.get1();
-            int footerEnd = footer.get2();
+            int footerPos = start + footer.get1();
+            int footerEnd = start + footer.get2();
 
             // Get raw position.
             int rawPos = start + PortableUtils.rawOffset(reader, start);
@@ -240,6 +240,14 @@ public class PortableBuilderImpl implements PortableBuilder {
                 int fieldId = reader.readInt();
                 int fieldLen = reader.readInt();
 
+                int footerFieldId = reader.readIntPositioned(footerPos);
+                footerPos += 8;
+
+                System.out.println("id=" + fieldId + ", footerId=" + footerFieldId + ", len=" + fieldLen);
+
+                if (fieldId != footerFieldId)
+                    throw new PortableException("ID mismatch!");
+
                 if (assignedFldsById.containsKey(fieldId)) {
                     Object assignedVal = assignedFldsById.remove(fieldId);
 
@@ -434,8 +442,8 @@ public class PortableBuilderImpl implements PortableBuilder {
 
             IgniteBiTuple<Integer, Integer> footer = PortableUtils.footer(reader, start);
 
-            int footerPos = footer.get1();
-            int footerEnd = footer.get2();
+            int footerPos = start + footer.get1();
+            int footerEnd = start + footer.get2();
 
             int rawPos = start + PortableUtils.rawOffset(reader, start);