You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2025/05/03 08:32:43 UTC
(ignite) branch master updated: IGNITE-25243 Make BinaryEnumObjectImpl package private (#12041)
This is an automated email from the ASF dual-hosted git repository.
nizhikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new de58ff8952e IGNITE-25243 Make BinaryEnumObjectImpl package private (#12041)
de58ff8952e is described below
commit de58ff8952edee755ad56e73eabe3805ab7b9bf6
Author: Maksim Davydov <70...@users.noreply.github.com>
AuthorDate: Sat May 3 11:32:34 2025 +0300
IGNITE-25243 Make BinaryEnumObjectImpl package private (#12041)
---
.../cache/store/jdbc/CacheAbstractJdbcStore.java | 7 ++--
.../binary/BinaryArrayIdentityResolver.java | 6 +--
.../internal/binary/BinaryEnumObjectImpl.java | 8 ++--
.../ignite/internal/binary/BinaryObjectEx.java | 7 ++++
.../apache/ignite/internal/binary/BinaryUtils.java | 44 +++++++++++++++++++++-
.../ignite/internal/binary/BinaryWriterExImpl.java | 2 +-
.../binary/builder/BinaryBuilderSerializer.java | 9 ++---
.../binary/builder/BinaryObjectBuilderImpl.java | 6 +--
.../ignite/internal/client/thin/ClientBinary.java | 5 +--
.../communication/GridIoMessageFactory.java | 4 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 7 ++--
.../internal/binary/BinaryEnumsSelfTest.java | 2 +-
.../cache/CacheEnumOperationsAbstractTest.java | 4 +-
.../GridCacheReplicatedPreloadSelfTest.java | 4 +-
.../binary/BinaryObjectImplSerializer.java | 2 +-
15 files changed, 80 insertions(+), 37 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
index e170b4d7bb0..f322f93111f 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/store/jdbc/CacheAbstractJdbcStore.java
@@ -59,7 +59,8 @@ import org.apache.ignite.cache.store.jdbc.dialect.JdbcDialect;
import org.apache.ignite.cache.store.jdbc.dialect.MySQLDialect;
import org.apache.ignite.cache.store.jdbc.dialect.OracleDialect;
import org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
+import org.apache.ignite.internal.binary.BinaryObjectEx;
+import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.F;
@@ -1356,8 +1357,8 @@ public abstract class CacheAbstractJdbcStore<K, V> implements CacheStore<K, V>,
fieldVal = NUMERIC_TYPES.contains(field.getDatabaseFieldType()) ? val.ordinal() : val.name();
}
- else if (fieldVal instanceof BinaryEnumObjectImpl) {
- BinaryEnumObjectImpl val = (BinaryEnumObjectImpl)fieldVal;
+ else if (BinaryUtils.isBinaryEnumObject(fieldVal)) {
+ BinaryObjectEx val = (BinaryObjectEx)fieldVal;
fieldVal = val.enumOrdinal();
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArrayIdentityResolver.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArrayIdentityResolver.java
index 7a17dfd2f63..6150eafac58 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArrayIdentityResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArrayIdentityResolver.java
@@ -70,7 +70,7 @@ class BinaryArrayIdentityResolver extends BinaryAbstractIdentityResolver {
return hash;
}
}
- else if (obj instanceof BinaryEnumObjectImpl) {
+ else if (BinaryUtils.isBinaryEnumObject(obj)) {
int hash = 1;
int ord = obj.enumOrdinal();
@@ -121,8 +121,8 @@ class BinaryArrayIdentityResolver extends BinaryAbstractIdentityResolver {
}
else {
// Handle enums.
- assert ex1 instanceof BinaryEnumObjectImpl;
- assert ex2 instanceof BinaryEnumObjectImpl;
+ assert BinaryUtils.isBinaryEnumObject(ex1);
+ assert BinaryUtils.isBinaryEnumObject(ex2);
return ex1.enumOrdinal() == ex2.enumOrdinal();
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
index d4e3d0721eb..d71501ef2be 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryEnumObjectImpl.java
@@ -46,7 +46,7 @@ import static org.apache.ignite.internal.processors.cache.CacheObjectAdapter.obj
/**
* Binary enum object.
*/
-public class BinaryEnumObjectImpl implements BinaryObjectEx, Externalizable, CacheObject {
+class BinaryEnumObjectImpl implements BinaryObjectEx, Externalizable, CacheObject {
/** */
private static final long serialVersionUID = 0L;
@@ -136,10 +136,8 @@ public class BinaryEnumObjectImpl implements BinaryObjectEx, Externalizable, Cac
this.ord = BinaryPrimitives.readInt(arr, off);
}
- /**
- * @return Class name.
- */
- @Nullable public String className() {
+ /** {@inheritDoc} */
+ @Nullable @Override public String enumClassName() {
return clsName;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectEx.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectEx.java
index 80402a42382..61e36ecb2d2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectEx.java
@@ -67,4 +67,11 @@ public interface BinaryObjectEx extends BinaryObject {
public default Object[] array() {
throw new UnsupportedOperationException("Not array");
}
+
+ /**
+ * @return Enum class name.
+ */
+ @Nullable public default String enumClassName() {
+ throw new UnsupportedOperationException("Not enum");
+ }
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index 4de3b3dac4f..63382fbd695 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -1732,7 +1732,7 @@ public class BinaryUtils {
* @param ctx Binary context.
* @return Enum.
*/
- public static BinaryEnumObjectImpl doReadBinaryEnum(BinaryInputStream in, BinaryContext ctx) {
+ static BinaryEnumObjectImpl doReadBinaryEnum(BinaryInputStream in, BinaryContext ctx) {
return doReadBinaryEnum(in, ctx, doReadEnumType(in));
}
@@ -1749,6 +1749,30 @@ public class BinaryUtils {
return new BinaryEnumObjectImpl(ctx, type.typeId, type.clsName, in.readInt());
}
+ /**
+ * Read binary enum.
+ *
+ * @param ord Ordinal.
+ * @param ctx Context.
+ * @param typeId Type ID.
+ */
+ public static BinaryObjectEx binaryEnum(int ord, BinaryContext ctx, int typeId) {
+ return new BinaryEnumObjectImpl(ctx, typeId, null, ord);
+ }
+
+ /**
+ * @param ctx Context.
+ * @param arr Array.
+ */
+ public static CacheObject binaryEnum(BinaryContext ctx, byte[] arr) {
+ return new BinaryEnumObjectImpl(ctx, arr);
+ }
+
+ /** */
+ public static CacheObject binaryEnum() {
+ return new BinaryEnumObjectImpl();
+ }
+
/**
* Read binary enum array.
*
@@ -2533,7 +2557,7 @@ public class BinaryUtils {
if (ctx == null)
throw new BinaryObjectException("BinaryContext is not set for the object.");
- String clsName = obj instanceof BinaryEnumObjectImpl ? ((BinaryEnumObjectImpl)obj).className() : null;
+ String clsName = isBinaryEnumObject(obj) ? obj.enumClassName() : null;
return new BinaryTypeProxy(ctx, obj.typeId(), clsName);
}
@@ -2789,6 +2813,22 @@ public class BinaryUtils {
return val instanceof BinaryEnumArray;
}
+ /**
+ * @param val Value to check.
+ * @return {@code True} if {@code val} instance of binary Enum object.
+ */
+ public static boolean isBinaryEnumObject(Object val) {
+ return val instanceof BinaryEnumObjectImpl;
+ }
+
+ /**
+ * @param cls Class to check.
+ * @return {@code True} if {@code val} is assignable to binary Enum object.
+ */
+ public static boolean isAssignableToBinaryEnumObject(Class<?> cls) {
+ return BinaryEnumObjectImpl.class.isAssignableFrom(cls);
+ }
+
/**
* Creates reader instance.
*
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index bc9fb24143f..2892088d24b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -394,7 +394,7 @@ class BinaryWriterExImpl implements BinaryWriterEx {
out.unsafeWriteByte(GridBinaryMarshaller.BINARY_ENUM);
out.unsafeWriteInt(typeId);
- writeString(val.className());
+ writeString(val.enumClassName());
out.writeInt(val.enumOrdinal());
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
index 8c74f4981db..a969a51a9df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
@@ -21,7 +21,6 @@ import java.util.Collection;
import java.util.IdentityHashMap;
import java.util.Map;
import org.apache.ignite.binary.BinaryObject;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
import org.apache.ignite.internal.binary.BinaryObjectEx;
import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.binary.BinaryWriterEx;
@@ -110,14 +109,14 @@ class BinaryBuilderSerializer {
return;
}
- if (val instanceof BinaryEnumObjectImpl) {
- BinaryEnumObjectImpl obj = (BinaryEnumObjectImpl)val;
+ if (BinaryUtils.isBinaryEnumObject(val)) {
+ BinaryObjectEx obj = (BinaryObjectEx)val;
writer.writeByte(GridBinaryMarshaller.ENUM);
writer.writeInt(obj.typeId());
if (obj.typeId() == GridBinaryMarshaller.UNREGISTERED_TYPE_ID)
- writer.writeString(obj.className());
+ writer.writeString(obj.enumClassName());
writer.writeInt(obj.enumOrdinal());
@@ -206,7 +205,7 @@ class BinaryBuilderSerializer {
int compTypeId = writer.context().typeId(compCls.getName());
- if (BinaryEnumObjectImpl.class.isAssignableFrom(compCls) || val instanceof BinaryBuilderEnum[]) {
+ if (BinaryUtils.isAssignableToBinaryEnumObject(compCls) || val instanceof BinaryBuilderEnum[]) {
writeArray(writer, GridBinaryMarshaller.ENUM_ARR, (Object[])val, compTypeId);
return;
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
index 8cc91713a5d..da84c51e6f0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
@@ -31,7 +31,6 @@ import org.apache.ignite.binary.BinaryObjectBuilder;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.internal.binary.BinaryContext;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
import org.apache.ignite.internal.binary.BinaryFieldMetadata;
import org.apache.ignite.internal.binary.BinaryObjectImpl;
import org.apache.ignite.internal.binary.BinarySchema;
@@ -371,10 +370,11 @@ class BinaryObjectBuilderImpl implements BinaryObjectBuilder {
nullFieldVal = true;
}
// Detect Enum and Enum array type.
- else if (newVal instanceof BinaryEnumObjectImpl)
+ else if (BinaryUtils.isBinaryEnumObject(newVal))
newFldTypeId = GridBinaryMarshaller.ENUM;
- else if (newVal.getClass().isArray() && BinaryEnumObjectImpl.class.isAssignableFrom(newVal.getClass().getComponentType()))
+ else if (newVal.getClass().isArray() &&
+ BinaryUtils.isAssignableToBinaryEnumObject(newVal.getClass().getComponentType()))
newFldTypeId = GridBinaryMarshaller.ENUM_ARR;
else if (newVal.getClass().isArray() && BinaryObject.class.isAssignableFrom(newVal.getClass().getComponentType()))
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinary.java b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinary.java
index f2d64499456..f0b189f7464 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinary.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientBinary.java
@@ -25,7 +25,6 @@ import org.apache.ignite.binary.BinaryObjectBuilder;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.internal.binary.BinaryContext;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
import org.apache.ignite.internal.binary.BinaryMetadata;
import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.binary.builder.BinaryObjectBuilders;
@@ -116,7 +115,7 @@ public class ClientBinary implements IgniteBinary {
int typeId = ctx.typeId(typeName);
- return new BinaryEnumObjectImpl(ctx, typeId, null, ord);
+ return BinaryUtils.binaryEnum(ord, ctx, typeId);
}
/** {@inheritDoc} */
@@ -148,7 +147,7 @@ public class ClientBinary implements IgniteBinary {
name
));
- return new BinaryEnumObjectImpl(ctx, typeId, null, ordinal);
+ return BinaryUtils.binaryEnum(ordinal, ctx, typeId);
}
/** {@inheritDoc} */
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index a7fd64e4d8f..eb8feb4b790 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -25,8 +25,8 @@ import org.apache.ignite.internal.GridJobSiblingsResponse;
import org.apache.ignite.internal.GridTaskCancelRequest;
import org.apache.ignite.internal.GridTaskSessionRequest;
import org.apache.ignite.internal.IgniteDiagnosticMessage;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
import org.apache.ignite.internal.binary.BinaryObjectImpl;
+import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.managers.checkpoint.GridCheckpointRequest;
import org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean;
import org.apache.ignite.internal.managers.deployment.GridDeploymentRequest;
@@ -299,7 +299,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider {
factory.register((short)116, GridNearSingleGetRequest::new);
factory.register((short)117, GridNearSingleGetResponse::new);
factory.register((short)118, CacheContinuousQueryBatchAck::new);
- factory.register((short)119, BinaryEnumObjectImpl::new);
+ factory.register((short)119, BinaryUtils::binaryEnum);
// [120..123] - DR
factory.register((short)124, GridMessageCollection::new);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index 55be4d92641..06df4fef473 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@ -59,7 +59,6 @@ import org.apache.ignite.internal.IgniteNodeAttributes;
import org.apache.ignite.internal.NodeStoppingException;
import org.apache.ignite.internal.UnregisteredBinaryTypeException;
import org.apache.ignite.internal.binary.BinaryContext;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
import org.apache.ignite.internal.binary.BinaryFieldMetadata;
import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.binary.BinaryMetadata;
@@ -1016,7 +1015,7 @@ public class CacheObjectBinaryProcessorImpl extends GridProcessorAdapter impleme
updateMetadata(typeId, typeName, null, null, true, null);
- return new BinaryEnumObjectImpl(binaryCtx, typeId, null, ord);
+ return BinaryUtils.binaryEnum(ord, binaryCtx, typeId);
}
/** {@inheritDoc} */
@@ -1040,7 +1039,7 @@ public class CacheObjectBinaryProcessorImpl extends GridProcessorAdapter impleme
throw new BinaryObjectException("Failed to resolve enum ordinal by name [typeId=" +
typeId + ", typeName='" + typeName + "', name='" + name + "']");
- return new BinaryEnumObjectImpl(binaryCtx, typeId, null, ordinal);
+ return BinaryUtils.binaryEnum(ordinal, binaryCtx, typeId);
}
/** {@inheritDoc} */
@@ -1302,7 +1301,7 @@ public class CacheObjectBinaryProcessorImpl extends GridProcessorAdapter impleme
return new BinaryObjectImpl(binaryContext(), bytes, ctx);
case BinaryObjectImpl.TYPE_BINARY_ENUM:
- return new BinaryEnumObjectImpl(binaryContext(), bytes);
+ return BinaryUtils.binaryEnum(binaryContext(), bytes);
case CacheObject.TYPE_BYTE_ARR:
return new CacheObjectByteArrayImpl(bytes);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
index 2930073c339..b9586800998 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryEnumsSelfTest.java
@@ -257,7 +257,7 @@ public class BinaryEnumsSelfTest extends AbstractBinaryArraysTest {
BinaryEnumObjectImpl binEnum = new BinaryEnumObjectImpl(binCtx, bytes);
assertEquals(srcBinEnum.size(), binEnum.size());
- assertEquals(clsName, binEnum.className());
+ assertEquals(clsName, binEnum.enumClassName());
assertEquals(typeId, binEnum.typeId());
assertEquals(ord, binEnum.enumOrdinal());
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
index 1d80d6ea049..2de71b6558c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
@@ -25,7 +25,7 @@ import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
+import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.junit.Test;
@@ -189,7 +189,7 @@ public abstract class CacheEnumOperationsAbstractTest extends GridCommonAbstract
assertEquals(expVal.ordinal(), enumObj.enumOrdinal());
assertTrue(enumObj.type().isEnum());
- assertTrue(enumObj instanceof BinaryEnumObjectImpl);
+ assertTrue(BinaryUtils.isBinaryEnumObject(enumObj));
}
/**
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
index bb82bf00087..56f9bb9fde3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadSelfTest.java
@@ -42,7 +42,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.events.Event;
import org.apache.ignite.events.EventType;
import org.apache.ignite.internal.IgniteKernal;
-import org.apache.ignite.internal.binary.BinaryEnumObjectImpl;
+import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.processors.cache.GridCacheAdapter;
import org.apache.ignite.internal.processors.cache.GridCacheEntryEx;
import org.apache.ignite.internal.util.lang.GridAbsPredicate;
@@ -325,7 +325,7 @@ public class GridCacheReplicatedPreloadSelfTest extends GridCommonAbstractTest {
assertEquals(0, enumObj.enumOrdinal());
assertTrue(enumObj.type().isEnum());
- assertTrue(enumObj instanceof BinaryEnumObjectImpl);
+ assertTrue(BinaryUtils.isBinaryEnumObject(enumObj));
assert e2 != null;
assert e2.toString().equals(e1.toString());
diff --git a/modules/json/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImplSerializer.java b/modules/json/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImplSerializer.java
index 20d2d131b18..eb843e76a4a 100644
--- a/modules/json/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImplSerializer.java
+++ b/modules/json/src/main/java/org/apache/ignite/internal/binary/BinaryObjectImplSerializer.java
@@ -51,7 +51,7 @@ class BinaryObjectImplSerializer extends JsonSerializer<BinaryObjectImpl> {
}
}
- if (val instanceof BinaryEnumObjectImpl) {
+ if (BinaryUtils.isBinaryEnumObject(val)) {
gen.writeObjectField(name, ((BinaryObject)val).enumName());
}
else {