You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/06/19 12:35:29 UTC
[43/50] incubator-ignite git commit: ignite-950: putting field type
instead of field length into the meta
ignite-950: putting field type instead of field length into the meta
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/296ff8ce
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/296ff8ce
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/296ff8ce
Branch: refs/heads/ignite-950
Commit: 296ff8ce31a1d04f69b07b681b7c4e0f5eb34919
Parents: 5e7fcc1
Author: Denis Magda <dm...@gridgain.com>
Authored: Thu Jun 18 16:32:57 2015 +0300
Committer: Denis Magda <dm...@gridgain.com>
Committed: Thu Jun 18 16:32:57 2015 +0300
----------------------------------------------------------------------
.../optimized/ext/OptimizedObjectMetadata.java | 81 +++++++++++---------
1 file changed, 43 insertions(+), 38 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/296ff8ce/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/ext/OptimizedObjectMetadata.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/ext/OptimizedObjectMetadata.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/ext/OptimizedObjectMetadata.java
index 7154a25..39acece 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/ext/OptimizedObjectMetadata.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/ext/OptimizedObjectMetadata.java
@@ -46,40 +46,9 @@ public class OptimizedObjectMetadata implements Externalizable {
if (fieldsInfo == null)
fieldsInfo = new ArrayList<>();
- int len = 1;
-
- switch (fieldType) {
- case BYTE:
- case BOOLEAN:
- len += 1;
- break;
-
- case SHORT:
- case CHAR:
- len += 2;
- break;
-
- case INT:
- case FLOAT:
- len += 4;
- break;
-
- case LONG:
- case DOUBLE:
- len += 8;
- break;
-
- case OTHER:
- len = OptimizedMarshallerExt.VARIABLE_LEN;
- break;
-
- default:
- throw new IgniteException("Unknown field type: " + fieldType);
- }
- assert len != 1;
- fieldsInfo.add(new FieldInfo(fieldId, len));
+ fieldsInfo.add(new FieldInfo(fieldId, fieldType));
}
/**
@@ -111,7 +80,7 @@ public class OptimizedObjectMetadata implements Externalizable {
for (FieldInfo fieldInfo : fieldsInfo) {
out.writeInt(fieldInfo.id);
- out.writeInt(fieldInfo.len);
+ out.writeByte(fieldInfo.type.ordinal());
}
}
@@ -122,7 +91,7 @@ public class OptimizedObjectMetadata implements Externalizable {
fieldsInfo = new ArrayList<>(size);
for (int i = 0; i < size; i++)
- fieldsInfo.add(new FieldInfo(in.readInt(), in.readInt()));
+ fieldsInfo.add(new FieldInfo(in.readInt(), OptimizedFieldType.values()[in.readByte()]));
}
/**
@@ -132,18 +101,54 @@ public class OptimizedObjectMetadata implements Externalizable {
/** Field ID. */
int id;
- /** Field type. */
+ /** Field len. */
int len;
+ /** Field type. */
+ OptimizedFieldType type;
+
/**
* Constructor.
*
* @param id Field ID.
- * @param len Field len.
+ * @param type Field len.
*/
- public FieldInfo(int id, int len) {
+ public FieldInfo(int id, OptimizedFieldType type) {
this.id = id;
- this.len = len;
+ this.type = type;
+
+ len = 1;
+
+ switch (type) {
+ case BYTE:
+ case BOOLEAN:
+ len += 1;
+ break;
+
+ case SHORT:
+ case CHAR:
+ len += 2;
+ break;
+
+ case INT:
+ case FLOAT:
+ len += 4;
+ break;
+
+ case LONG:
+ case DOUBLE:
+ len += 8;
+ break;
+
+ case OTHER:
+ len = OptimizedMarshallerExt.VARIABLE_LEN;
+ break;
+
+ default:
+ throw new IgniteException("Unknown field type: " + type);
+ }
+
+ assert len != 1;
}
}
}