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/05 13:19:48 UTC
[41/46] ignite git commit: IGNITE-1819: WIP.
IGNITE-1819: WIP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fceec8fc
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fceec8fc
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fceec8fc
Branch: refs/heads/ignite-1819
Commit: fceec8fcf208466714f9a3710407021caf4fa83e
Parents: 47d2589
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Thu Nov 5 13:57:26 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Thu Nov 5 13:57:26 2015 +0300
----------------------------------------------------------------------
.../portable/PortableClassDescriptor.java | 7 +++
.../internal/portable/PortableContext.java | 8 ---
.../internal/portable/PortableWriterExImpl.java | 3 +-
.../portable/builder/PortableBuilderImpl.java | 61 +++++++++-----------
4 files changed, 35 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/fceec8fc/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableClassDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableClassDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableClassDescriptor.java
index aa72017..ba85f8c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableClassDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableClassDescriptor.java
@@ -274,6 +274,13 @@ public class PortableClassDescriptor {
}
/**
+ * @return User type flag.
+ */
+ public boolean userType() {
+ return userType;
+ }
+
+ /**
* @return Fields meta data.
*/
Map<String, String> fieldsMeta() {
http://git-wip-us.apache.org/repos/asf/ignite/blob/fceec8fc/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
index fddca6f..1986625 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/PortableContext.java
@@ -783,14 +783,6 @@ public class PortableContext implements Externalizable {
/**
* @param typeId Type ID.
- * @return Whether meta data is enabled.
- */
- public boolean isMetaDataEnabled(int typeId) {
- return true;
- }
-
- /**
- * @param typeId Type ID.
* @param metaHashSum Meta data hash sum.
* @return Whether meta is changed.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/fceec8fc/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 542c897..30e3465 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
@@ -272,8 +272,7 @@ public class PortableWriterExImpl implements PortableWriter, PortableRawWriterEx
}
typeId = desc.typeId();
-
- metaEnabled = ctx.isMetaDataEnabled(typeId);
+ metaEnabled = desc.userType();
desc.write(obj, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/fceec8fc/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 89bb3ff..2f7c9be 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
@@ -291,12 +291,7 @@ public class PortableBuilderImpl implements PortableBuilder {
}
if (assignedVals != null && (remainsFlds == null || !remainsFlds.isEmpty())) {
- boolean metadataEnabled = ctx.isMetaDataEnabled(typeId);
-
- PortableMetadata metadata = null;
-
- if (metadataEnabled)
- metadata = ctx.metaData(typeId);
+ PortableMetadata metadata = ctx.metaData(typeId);
Map<String, String> newFldsMetadata = null;
@@ -317,40 +312,38 @@ public class PortableBuilderImpl implements PortableBuilder {
serializer.writeValue(writer, val);
- if (metadataEnabled) {
- String oldFldTypeName = metadata == null ? null : metadata.fieldTypeName(name);
+ String oldFldTypeName = metadata == null ? null : metadata.fieldTypeName(name);
- String newFldTypeName;
+ String newFldTypeName;
- if (val instanceof PortableValueWithType)
- newFldTypeName = ((PortableValueWithType) val).typeName();
- else {
- byte type = PortableUtils.typeByClass(val.getClass());
+ if (val instanceof PortableValueWithType)
+ newFldTypeName = ((PortableValueWithType) val).typeName();
+ else {
+ byte type = PortableUtils.typeByClass(val.getClass());
- newFldTypeName = CacheObjectPortableProcessorImpl.fieldTypeName(type);
- }
+ newFldTypeName = CacheObjectPortableProcessorImpl.fieldTypeName(type);
+ }
- if (oldFldTypeName == null) {
- // It's a new field, we have to add it to metadata.
+ if (oldFldTypeName == null) {
+ // It's a new field, we have to add it to metadata.
- if (newFldsMetadata == null)
- newFldsMetadata = new HashMap<>();
+ if (newFldsMetadata == null)
+ newFldsMetadata = new HashMap<>();
- newFldsMetadata.put(name, newFldTypeName);
- }
- else {
- String objTypeName =
- CacheObjectPortableProcessorImpl.FIELD_TYPE_NAMES[GridPortableMarshaller.OBJ];
-
- if (!objTypeName.equals(oldFldTypeName) && !oldFldTypeName.equals(newFldTypeName)) {
- throw new PortableException(
- "Wrong value has been set [" +
- "typeName=" + (typeName == null ? metadata.typeName() : typeName) +
- ", fieldName=" + name +
- ", fieldType=" + oldFldTypeName +
- ", assignedValueType=" + newFldTypeName + ']'
- );
- }
+ newFldsMetadata.put(name, newFldTypeName);
+ }
+ else {
+ String objTypeName =
+ CacheObjectPortableProcessorImpl.FIELD_TYPE_NAMES[GridPortableMarshaller.OBJ];
+
+ if (!objTypeName.equals(oldFldTypeName) && !oldFldTypeName.equals(newFldTypeName)) {
+ throw new PortableException(
+ "Wrong value has been set [" +
+ "typeName=" + (typeName == null ? metadata.typeName() : typeName) +
+ ", fieldName=" + name +
+ ", fieldType=" + oldFldTypeName +
+ ", assignedValueType=" + newFldTypeName + ']'
+ );
}
}
}