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/11/18 14:40:22 UTC
[48/50] [abbrv] ignite git commit: IGNITE-1917: Finalizing field
reads: int.
IGNITE-1917: Finalizing field reads: int.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ed2b1e72
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ed2b1e72
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ed2b1e72
Branch: refs/heads/ignite-1917
Commit: ed2b1e7258fbb0492ac9eb334449f362e3c5baea
Parents: 47e0b87
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Nov 18 16:27:08 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Nov 18 16:27:08 2015 +0300
----------------------------------------------------------------------
.../internal/portable/BinaryFieldAccessor.java | 4 +-
.../internal/portable/BinaryReaderExImpl.java | 72 +++++++++++---------
2 files changed, 41 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ed2b1e72/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
index f8b3dbc..2a9bb45 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryFieldAccessor.java
@@ -290,7 +290,7 @@ public abstract class BinaryFieldAccessor {
/** {@inheritDoc} */
@Override public void read(Object obj, BinaryReaderExImpl reader) throws BinaryObjectException {
- int val = reader.readIntPrimitive(id);
+ int val = reader.readInt(id);
UNSAFE.putInt(obj, offset, val);
}
@@ -623,7 +623,7 @@ public abstract class BinaryFieldAccessor {
break;
case INT:
- val = reader.readInt(id);
+ val = reader.readIntNullable(id);
break;
http://git-wip-us.apache.org/repos/asf/ignite/blob/ed2b1e72/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
index 72b83e2..0e080c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryReaderExImpl.java
@@ -1019,41 +1019,27 @@ public class BinaryReaderExImpl implements BinaryReader, BinaryRawReaderEx, Obje
/** {@inheritDoc} */
@Override public int readInt(String fieldName) throws BinaryObjectException {
- if (findFieldByName(fieldName)) {
- if (checkFlag(INT) == Flag.NULL)
- return 0;
-
- return in.readInt();
- }
- else
- return 0;
+ return findFieldByName(fieldName) && checkFlagPrimitive(INT) == Flag.NORMAL ? in.readInt() : 0;
}
/**
* @param fieldId Field ID.
* @return Value.
- * @throws BinaryObjectException In case of error.
+ * @throws BinaryObjectException If failed.
*/
- @Nullable Integer readInt(int fieldId) throws BinaryObjectException {
- if (findFieldById(fieldId)) {
- if (checkFlag(INT) == Flag.NULL)
- return null;
-
- return in.readInt();
- }
- else
- return null;
+ public int readInt(int fieldId) throws BinaryObjectException {
+ return findFieldById(fieldId) && checkFlagPrimitive(INT) == Flag.NORMAL ? in.readInt() : 0;
}
-
+
/**
* @param fieldId Field ID.
* @return Value.
- * @throws BinaryObjectException If failed.
+ * @throws BinaryObjectException In case of error.
*/
- int readIntPrimitive(int fieldId) throws BinaryObjectException {
- return findFieldById(fieldId) && checkFlag(INT) == Flag.NORMAL ? in.readInt() : 0;
+ @Nullable Integer readIntNullable(int fieldId) throws BinaryObjectException {
+ return findFieldById(fieldId) && checkFlagPrimitive(INT) == Flag.NORMAL ? in.readInt() : null;
}
-
+
/** {@inheritDoc} */
@Override public int readInt() throws BinaryObjectException {
return in.readInt();
@@ -1478,27 +1464,47 @@ public class BinaryReaderExImpl implements BinaryReader, BinaryRawReaderEx, Obje
}
/**
- * Ensure that type flag is either null or contains expected value.
+ * Ensure that type flag is either null, handle or contains expected value.
*
* @param expFlag Expected value.
- * @return Flag.
- * @throws BinaryObjectException If flag is neither null, nor expected.
+ * @return Flag mode.
+ * @throws BinaryObjectException If flag is neither null, nor handle or expected.
*/
private Flag checkFlag(byte expFlag) {
byte flag = in.readByte();
- if (flag == NULL)
+ if (flag == expFlag)
+ return Flag.NORMAL;
+ else if (flag == NULL)
return Flag.NULL;
else if (flag == HANDLE)
return Flag.HANDLE;
- else if (flag != expFlag) {
- int pos = in.position() - 1;
- throw new BinaryObjectException("Unexpected flag value [pos=" + pos + ", expected=" + expFlag +
- ", actual=" + flag + ']');
- }
+ int pos = in.position() - 1;
+
+ throw new BinaryObjectException("Unexpected flag value [pos=" + pos + ", expected=" + expFlag +
+ ", actual=" + flag + ']');
+ }
+
+ /**
+ * Ensure that type flag is either null or contains expected value.
+ *
+ * @param expFlag Expected value.
+ * @return Flag mode.
+ * @throws BinaryObjectException If flag is neither null, nor expected.
+ */
+ private Flag checkFlagPrimitive(byte expFlag) {
+ byte flag = in.readByte();
+
+ if (flag == expFlag)
+ return Flag.NORMAL;
+ else if (flag == NULL)
+ return Flag.NULL;
+
+ int pos = in.position() - 1;
- return Flag.NORMAL;
+ throw new BinaryObjectException("Unexpected flag value [pos=" + pos + ", expected=" + expFlag +
+ ", actual=" + flag + ']');
}
/**