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/25 08:03:25 UTC
ignite git commit: IGNITE-1956: Fix to CPP.
Repository: ignite
Updated Branches:
refs/heads/ignite-1956 1baa1a9a6 -> ebf909d93
IGNITE-1956: Fix to CPP.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ebf909d9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ebf909d9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ebf909d9
Branch: refs/heads/ignite-1956
Commit: ebf909d93d1197610767d107800130d1e7f815f0
Parents: 1baa1a9
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Nov 25 10:04:14 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Nov 25 10:04:14 2015 +0300
----------------------------------------------------------------------
.../internal/portable/BinaryEnumObjectImpl.java | 3 +
.../platform/PlatformContextImpl.java | 89 ++++++++++----------
.../impl/binary/binary_type_updater_impl.cpp | 4 +-
3 files changed, 50 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ebf909d9/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
index fe2dea7..958ed93 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/portable/BinaryEnumObjectImpl.java
@@ -40,6 +40,9 @@ import java.nio.ByteBuffer;
* Binary enum object.
*/
public class BinaryEnumObjectImpl implements BinaryObject, Externalizable, CacheObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
/** Context. */
@GridDirectTransient
private PortableContext ctx;
http://git-wip-us.apache.org/repos/asf/ignite/blob/ebf909d9/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformContextImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformContextImpl.java
index 339da58..b80b4ad 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformContextImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/PlatformContextImpl.java
@@ -69,8 +69,6 @@ import org.apache.ignite.internal.processors.platform.utils.PlatformReaderBiClos
import org.apache.ignite.internal.processors.platform.utils.PlatformReaderClosure;
import org.apache.ignite.internal.processors.platform.utils.PlatformUtils;
import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.T4;
-import org.apache.ignite.internal.util.typedef.T5;
import org.apache.ignite.lang.IgniteBiTuple;
import org.jetbrains.annotations.Nullable;
@@ -342,9 +340,9 @@ public class PlatformContextImpl implements PlatformContext {
/** {@inheritDoc} */
@SuppressWarnings("ConstantConditions")
@Override public void processMetadata(BinaryRawReaderEx reader) {
- Collection<T5<Integer, String, String, Map<String, Integer>, Boolean>> metas = PlatformUtils.readCollection(reader,
- new PlatformReaderClosure<T5<Integer, String, String, Map<String, Integer>, Boolean>>() {
- @Override public T5<Integer, String, String, Map<String, Integer>, Boolean> read(BinaryRawReaderEx reader) {
+ Collection<Metadata> metas = PlatformUtils.readCollection(reader,
+ new PlatformReaderClosure<Metadata>() {
+ @Override public Metadata read(BinaryRawReaderEx reader) {
int typeId = reader.readInt();
String typeName = reader.readString();
String affKey = reader.readString();
@@ -358,50 +356,13 @@ public class PlatformContextImpl implements PlatformContext {
boolean isEnum = reader.readBoolean();
- return new T5<>(typeId, typeName, affKey, fields, isEnum);
+ return new Metadata(typeId, typeName, affKey, fields, isEnum);
}
}
);
- for (T5<Integer, String, String, Map<String, Integer>, Boolean> meta : metas)
- cacheObjProc.updateMetadata(meta.get1(), meta.get2(), meta.get3(), meta.get4(), meta.get5());
- }
-
- /**
- * Metadata holder.
- */
- private static class Metadata {
- /** Type ID. */
- private final int typeId;
-
- /** Type name. */
- private final String typeName;
-
- /** Affinity key. */
- private final String affKey;
-
- /** Fields map. */
- private final Map<String, Integer> fields;
-
- /** Enum flag. */
- private final boolean isEnum;
-
- /**
- * Constructor.
- *
- * @param typeId
- * @param typeName
- * @param affKey
- * @param fields
- * @param isEnum
- */
- public Metadata(int typeId, String typeName, String affKey, Map<String, Integer> fields, boolean isEnum) {
- this.typeId = typeId;
- this.typeName = typeName;
- this.affKey = affKey;
- this.fields = fields;
- this.isEnum = isEnum;
- }
+ for (Metadata meta : metas)
+ cacheObjProc.updateMetadata(meta.typeId, meta.typeName, meta.affKey, meta.fields, meta.isEnum);
}
/** {@inheritDoc} */
@@ -438,6 +399,7 @@ public class PlatformContextImpl implements PlatformContext {
writer.writeString(meta.typeName());
writer.writeString(meta.affinityKeyFieldName());
writer.writeMap(fields);
+ writer.writeBoolean(meta.isEnum());
}
}
@@ -655,4 +617,41 @@ public class PlatformContextImpl implements PlatformContext {
@Override public PlatformClusterNodeFilter createClusterNodeFilter(Object filter) {
return new PlatformClusterNodeFilterImpl(filter, this);
}
+
+ /**
+ * Metadata holder.
+ */
+ private static class Metadata {
+ /** Type ID. */
+ private final int typeId;
+
+ /** Type name. */
+ private final String typeName;
+
+ /** Affinity key. */
+ private final String affKey;
+
+ /** Fields map. */
+ private final Map<String, Integer> fields;
+
+ /** Enum flag. */
+ private final boolean isEnum;
+
+ /**
+ * Constructor.
+ *
+ * @param typeId Type ID.
+ * @param typeName Type name.
+ * @param affKey Affinity key.
+ * @param fields Fields.
+ * @param isEnum Enum flag.
+ */
+ public Metadata(int typeId, String typeName, String affKey, Map<String, Integer> fields, boolean isEnum) {
+ this.typeId = typeId;
+ this.typeName = typeName;
+ this.affKey = affKey;
+ this.fields = fields;
+ this.isEnum = isEnum;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/ebf909d9/modules/platforms/cpp/core/src/impl/binary/binary_type_updater_impl.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/src/impl/binary/binary_type_updater_impl.cpp b/modules/platforms/cpp/core/src/impl/binary/binary_type_updater_impl.cpp
index 2e86ccd..6c3bf7f 100644
--- a/modules/platforms/cpp/core/src/impl/binary/binary_type_updater_impl.cpp
+++ b/modules/platforms/cpp/core/src/impl/binary/binary_type_updater_impl.cpp
@@ -32,7 +32,7 @@ namespace ignite
{
namespace binary
{
- /** Operation: Clear. */
+ /** Operation: metadata update. */
const int32_t OP_METADATA = -1;
BinaryTypeUpdaterImpl::BinaryTypeUpdaterImpl(SharedPointer<IgniteEnvironment> env,
@@ -78,6 +78,8 @@ namespace ignite
else
rawWriter.WriteInt32(0);
+ rawWriter.WriteBool(false); // Enums are not supported for now.
+
out.Synchronize();
long long res = env.Get()->Context()->TargetInStreamOutLong(javaRef, OP_METADATA, mem.Get()->PointerLong(), &jniErr);