You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by pi...@apache.org on 2018/04/06 18:52:14 UTC
[geode] branch develop updated: GEODE-4518: Replace DSCODE with an
enumeration. (#1738)
This is an automated email from the ASF dual-hosted git repository.
pivotalsarge pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 804c053 GEODE-4518: Replace DSCODE with an enumeration. (#1738)
804c053 is described below
commit 804c053fdfbce4b7f1f810b1019f778c02f50020
Author: Michael "Sarge" Dodge <md...@pivotal.io>
AuthorDate: Fri Apr 6 11:52:09 2018 -0700
GEODE-4518: Replace DSCODE with an enumeration. (#1738)
* GEODE-4518: Replace DSCODE with an enumeration.
- Deprecate DSCODE interface.
- Introduce HeaderByte enum.
- Replace explicit references to DSCODE with
explicit references to HeaderByte.
* GEODE-4518: Update analysis files.
* GEODE-4518: Add unit test for value uniqueness.
* GEODE-4518: Convert DSCODE into enum that replaces HeaderByte.
---
.../main/java/org/apache/geode/DataSerializer.java | 20 +-
.../java/org/apache/geode/internal/DSCODE.java | 160 ++---
.../geode/internal/InternalDataSerializer.java | 655 ++++++++++++---------
.../internal/cache/CacheDistributionAdvisor.java | 2 +-
.../cache/CachedDeserializableFactory.java | 2 +-
.../geode/internal/cache/GemFireCacheImpl.java | 2 +-
.../org/apache/geode/internal/cache/Token.java | 2 +-
.../cache/snapshot/RegionSnapshotServiceImpl.java | 2 +-
.../cache/tier/sockets/ChunkedMessage.java | 4 +-
.../tier/sockets/ClientUpdateMessageImpl.java | 4 +-
.../cache/tier/sockets/HAEventWrapper.java | 4 +-
.../geode/internal/cache/tier/sockets/Part.java | 2 +-
.../internal/offheap/AbstractStoredObject.java | 3 +-
.../apache/geode/internal/offheap/DataType.java | 403 +++++++------
.../internal/offheap/OffHeapRegionEntryHelper.java | 4 +-
.../internal/offheap/OffHeapStoredObject.java | 2 +-
.../org/apache/geode/internal/util/BlobHelper.java | 2 +-
.../main/java/org/apache/geode/pdx/FieldType.java | 4 +-
.../org/apache/geode/pdx/internal/EnumInfo.java | 2 -
.../apache/geode/pdx/internal/PdxInstanceEnum.java | 2 +-
.../apache/geode/pdx/internal/PdxInstanceImpl.java | 4 +-
.../apache/geode/pdx/internal/PdxReaderImpl.java | 7 +-
.../org/apache/geode/pdx/internal/PdxString.java | 18 +-
.../apache/geode/pdx/internal/PdxWriterImpl.java | 6 +-
.../java/org/apache/geode/internal/DSCODETest.java | 39 ++
.../geode/internal/offheap/DataTypeJUnitTest.java | 40 +-
.../internal/offheap/MemoryBlockNodeJUnitTest.java | 2 +-
.../offheap/OffHeapRegionEntryHelperJUnitTest.java | 2 +-
.../offheap/OffHeapStoredObjectJUnitTest.java | 8 +-
.../offheap/TinyStoredObjectJUnitTest.java | 3 +-
.../apache/geode/pdx/PdxSerializableJUnitTest.java | 20 +-
.../apache/geode/codeAnalysis/excludedClasses.txt | 3 +-
.../codeAnalysis/sanctionedDataSerializables.txt | 2 +-
33 files changed, 799 insertions(+), 636 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/DataSerializer.java b/geode-core/src/main/java/org/apache/geode/DataSerializer.java
index 5627b68..c974287 100644
--- a/geode-core/src/main/java/org/apache/geode/DataSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/DataSerializer.java
@@ -220,7 +220,7 @@ public abstract class DataSerializer {
// if readObject/writeObject is called:
// the first CLASS byte indicates it's a Class, the second
// one indicates it's a non-primitive Class
- out.writeByte(DSCODE.CLASS);
+ out.writeByte(DSCODE.CLASS.toByte());
String cname = c.getName();
cname = InternalDataSerializer.processOutgoingClassName(cname, out);
writeString(cname, out);
@@ -260,7 +260,7 @@ public abstract class DataSerializer {
InternalDataSerializer.checkIn(in);
byte typeCode = in.readByte();
- if (typeCode == DSCODE.CLASS) {
+ if (typeCode == DSCODE.CLASS.toByte()) {
String className = readString(in);
Class<?> c = InternalDataSerializer.getCachedClass(className); // fix for bug 41206
return c;
@@ -505,7 +505,7 @@ public abstract class DataSerializer {
if (isTraceSerialzerVerbose) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Writing NULL_STRING");
}
- out.writeByte(DSCODE.NULL_STRING);
+ out.writeByte(DSCODE.NULL_STRING.toByte());
} else {
// writeUTF is expensive - it creates a char[] to fetch
@@ -538,14 +538,14 @@ public abstract class DataSerializer {
if (isTraceSerialzerVerbose) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Writing utf HUGE_STRING of len={}", len);
}
- out.writeByte(DSCODE.HUGE_STRING);
+ out.writeByte(DSCODE.HUGE_STRING.toByte());
out.writeInt(len);
out.writeChars(value);
} else {
if (isTraceSerialzerVerbose) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Writing utf STRING of len={}", len);
}
- out.writeByte(DSCODE.STRING);
+ out.writeByte(DSCODE.STRING.toByte());
out.writeUTF(value);
}
} else {
@@ -553,14 +553,14 @@ public abstract class DataSerializer {
if (isTraceSerialzerVerbose) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Writing HUGE_STRING_BYTES of len={}", len);
}
- out.writeByte(DSCODE.HUGE_STRING_BYTES);
+ out.writeByte(DSCODE.HUGE_STRING_BYTES.toByte());
out.writeInt(len);
out.writeBytes(value);
} else {
if (isTraceSerialzerVerbose) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Writing STRING_BYTES of len={}", len);
}
- out.writeByte(DSCODE.STRING_BYTES);
+ out.writeByte(DSCODE.STRING_BYTES.toByte());
out.writeShort(len);
out.writeBytes(value);
}
@@ -1833,14 +1833,14 @@ public abstract class DataSerializer {
Class<?> c = null;
byte typeCode = in.readByte();
String typeString = null;
- if (typeCode == DSCODE.CLASS) {
+ if (typeCode == DSCODE.CLASS.toByte()) {
typeString = readString(in);
}
InternalCache cache = GemFireCacheImpl.getInstance();
boolean lookForPdxInstance = false;
ClassNotFoundException cnfEx = null;
- if (typeCode == DSCODE.CLASS && cache != null
+ if (typeCode == DSCODE.CLASS.toByte() && cache != null
&& cache.getPdxReadSerializedByAnyGemFireServices()) {
try {
c = InternalDataSerializer.getCachedClass(typeString);
@@ -1850,7 +1850,7 @@ public abstract class DataSerializer {
cnfEx = ignore;
}
} else {
- if (typeCode == DSCODE.CLASS) {
+ if (typeCode == DSCODE.CLASS.toByte()) {
c = InternalDataSerializer.getCachedClass(typeString);
} else {
c = InternalDataSerializer.decodePrimitiveClass(typeCode);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java b/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java
index b918c4d..e4762d3 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/DSCODE.java
@@ -17,20 +17,20 @@ package org.apache.geode.internal;
import org.apache.geode.DataSerializer;
/**
- * An interface that contains a bunch of static final values used for the implementation of
- * {@link DataSerializer}. It is basically an Enum and could be changed to one once we drop 1.4. The
- * allowed range of these codes is -128..127 inclusive (i.e. byte).
+ * An enumeration that contains a bunch of pre-defined values for use in the implementation of
+ * {@link DataSerializer}.
+ * The allowed range of these values is -128..127 inclusive (i.e., one byte).
*
* @since GemFire 5.7
*/
-public interface DSCODE {
+public enum DSCODE {
/**
* This byte value, -128, has never been used in any GemFire release so far. It might get used in
* the future to introduce DataSerializer versioning.
*/
- byte RESERVED_FOR_FUTURE_USE = -128;
+ RESERVED_FOR_FUTURE_USE(-128),
- byte ILLEGAL = -127;
+ ILLEGAL(-127),
// -126..0 unused
@@ -40,28 +40,28 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte DS_FIXED_ID_BYTE = 1;
+ DS_FIXED_ID_BYTE(1),
/**
* A header byte meaning that the next element in the stream is a {@link DataSerializableFixedID}
* whose id is a single signed short.
*
* @since GemFire 5.7
*/
- byte DS_FIXED_ID_SHORT = 2;
+ DS_FIXED_ID_SHORT(2),
/**
* A header byte meaning that the next element in the stream is a {@link DataSerializableFixedID}
* whose id is a single signed int.
*
* @since GemFire 5.7
*/
- byte DS_FIXED_ID_INT = 3;
+ DS_FIXED_ID_INT(3),
/**
* A header byte meaning that the next element in the stream is a {@link DataSerializableFixedID}
* whose id is <code>NO_FIXED_ID</code>.
*
* @since GemFire 5.7
*/
- byte DS_NO_FIXED_ID = 4;
+ DS_NO_FIXED_ID(4),
/**
* A header byte meaning that the object was serialized by a user's <code>DataSerializer</code>
@@ -69,7 +69,7 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte USER_CLASS_2 = 5;
+ USER_CLASS_2(5),
/**
* A header byte meaning that the object was serialized by a user's <code>DataSerializer</code>
@@ -77,7 +77,7 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte USER_CLASS_4 = 6;
+ USER_CLASS_4(6),
// TypeIds 7 and 8 reserved for use by C# Serializable and XmlSerializable.
@@ -86,14 +86,14 @@ public interface DSCODE {
/**
* A header byte meaning that the next element in the stream is a <code>LinkedList</code>.
*/
- byte LINKED_LIST = 10;
+ LINKED_LIST(10),
/**
* A header byte meaning that the next element in the stream is a <code>Properties</code>.
*
* @since GemFire 5.7
*/
- byte PROPERTIES = 11;
+ PROPERTIES(11),
// 12..16 unused
@@ -101,24 +101,16 @@ public interface DSCODE {
* Codes for the primitive classes, which cannot be recreated with
* <code>Class.forName(String,boolean,ClassLoader)</code> like other classes
*/
- byte BOOLEAN_TYPE = 17;
- byte CHARACTER_TYPE = 18;
- byte BYTE_TYPE = 19;
- byte SHORT_TYPE = 20;
- byte INTEGER_TYPE = 21;
- byte LONG_TYPE = 22;
- byte FLOAT_TYPE = 23;
- byte DOUBLE_TYPE = 24;
- byte VOID_TYPE = 25;
+ BOOLEAN_TYPE(17), CHARACTER_TYPE(18), BYTE_TYPE(19), SHORT_TYPE(20), INTEGER_TYPE(21), LONG_TYPE(22), FLOAT_TYPE(23), DOUBLE_TYPE(24), VOID_TYPE(25),
/**
* @since GemFire 5.7
*/
- byte BOOLEAN_ARRAY = 26;
+ BOOLEAN_ARRAY(26),
/**
* @since GemFire 5.7
*/
- byte CHAR_ARRAY = 27;
+ CHAR_ARRAY(27),
// 28..36 unused
@@ -128,7 +120,7 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte USER_DATA_SERIALIZABLE_4 = 37;
+ USER_DATA_SERIALIZABLE_4(37),
/**
* A header byte meaning that a DataSerializable that was registered with the Instantiator was
@@ -136,213 +128,213 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte USER_DATA_SERIALIZABLE_2 = 38;
+ USER_DATA_SERIALIZABLE_2(38),
/**
* A header byte meaning that a DataSerializable that was registered with the Instantiator was
* data serialized using a single byte for its ID.
*/
- byte USER_DATA_SERIALIZABLE = 39;
+ USER_DATA_SERIALIZABLE(39),
/**
* A header byte meaning that the object was serialized by a user's <code>DataSerializer</code>.
*/
- byte USER_CLASS = 40;
+ USER_CLASS(40),
/**
* A header byte meaning that the next element in the stream is a <code>null</code>
*/
- byte NULL = 41;
+ NULL(41),
/**
* A header byte meaning that the next element in the stream is a String
*/
- byte STRING = 42;
+ STRING(42),
/**
* A header byte meaning that the next element in the stream is a (non-primitive) Class
*/
- byte CLASS = 43;
+ CLASS(43),
/**
* A header byte meaning that the next element in the stream is a serialized object
*/
- byte SERIALIZABLE = 44;
+ SERIALIZABLE(44),
/**
* A header byte meaning that the next element in the stream is a DataSerializable object
*/
- byte DATA_SERIALIZABLE = 45;
+ DATA_SERIALIZABLE(45),
/**
* A header byte meaning that the next element in the stream is a <code>byte</code> array.
*/
- byte BYTE_ARRAY = 46;
+ BYTE_ARRAY(46),
/**
* A header byte meaning that the next element in the stream is a <code>short</code> array.
*/
- byte SHORT_ARRAY = 47;
+ SHORT_ARRAY(47),
/**
* A header byte meaning that the next element in the stream is a <code>int</code> array.
*/
- byte INT_ARRAY = 48;
+ INT_ARRAY(48),
/**
* A header byte meaning that the next element in the stream is a <code>long</code> array.
*/
- byte LONG_ARRAY = 49;
+ LONG_ARRAY(49),
/**
* A header byte meaning that the next element in the stream is a <code>float</code> array.
*/
- byte FLOAT_ARRAY = 50;
+ FLOAT_ARRAY(50),
/**
* A header byte meaning that the next element in the stream is a <code>double</code> array.
*/
- byte DOUBLE_ARRAY = 51;
+ DOUBLE_ARRAY(51),
/**
* A header byte meaning that the next element in the stream is a <code>Object</code> array.
*/
- byte OBJECT_ARRAY = 52;
+ OBJECT_ARRAY(52),
/**
* A header boolean meaning that the next element in the stream is a <code>Boolean</code>.
*/
- byte BOOLEAN = 53;
+ BOOLEAN(53),
/**
* A header byte meaning that the next element in the stream is a <code>Character</code>.
*/
- byte CHARACTER = 54;
+ CHARACTER(54),
/**
* A header byte meaning that the next element in the stream is a <code>Byte</code>.
*/
- byte BYTE = 55;
+ BYTE(55),
/**
* A header byte meaning that the next element in the stream is a <code>Short</code>.
*/
- byte SHORT = 56;
+ SHORT(56),
/**
* A header byte meaning that the next element in the stream is a <code>Integer</code>.
*/
- byte INTEGER = 57;
+ INTEGER(57),
/**
* A header byte meaning that the next element in the stream is a <code>Long</code>.
*/
- byte LONG = 58;
+ LONG(58),
/**
* A header byte meaning that the next element in the stream is a <code>Float</code>.
*/
- byte FLOAT = 59;
+ FLOAT(59),
/**
* A header byte meaning that the next element in the stream is a <code>Double</code>.
*/
- byte DOUBLE = 60;
+ DOUBLE(60),
/**
* A header byte meaning that the next element in the stream is a <code>Date</code>.
*/
- byte DATE = 61;
+ DATE(61),
/**
* A header byte meaning that the next element in the stream is a <code>InetAddress</code>.
*/
- byte INET_ADDRESS = 62;
+ INET_ADDRESS(62),
/**
* A header byte meaning that the next element in the stream is a <code>File</code>.
*/
- byte FILE = 63;
+ FILE(63),
/**
* A header byte meaning that the next element in the stream is a <code>String</code> array.
*/
- byte STRING_ARRAY = 64;
+ STRING_ARRAY(64),
/**
* A header byte meaning that the next element in the stream is a <code>ArrayList</code>.
*/
- byte ARRAY_LIST = 65;
+ ARRAY_LIST(65),
/**
* A header byte meaning that the next element in the stream is a <code>HashSet</code>.
*/
- byte HASH_SET = 66;
+ HASH_SET(66),
/**
* A header byte meaning that the next element in the stream is a <code>HashMap</code>.
*/
- byte HASH_MAP = 67;
+ HASH_MAP(67),
/**
* A header byte meaning that the next element in the stream is a <code>TimeUnit</code>.
*/
- byte TIME_UNIT = 68;
+ TIME_UNIT(68),
/**
* A header byte meaning that the next element in the stream is a <code>null</code>
* <code>String</code>.
*/
- byte NULL_STRING = 69;
+ NULL_STRING(69),
/**
* A header byte meaning that the next element in the stream is a <code>Hashtable</code>.
*
* @since GemFire 5.7
*/
- byte HASH_TABLE = 70;
+ HASH_TABLE(70),
/**
* A header byte meaning that the next element in the stream is a <code>Vector</code>.
*
* @since GemFire 5.7
*/
- byte VECTOR = 71;
+ VECTOR(71),
/**
* A header byte meaning that the next element in the stream is a <code>IdentityHashMap</code>.
*
* @since GemFire 5.7
*/
- byte IDENTITY_HASH_MAP = 72;
+ IDENTITY_HASH_MAP(72),
/**
* A header byte meaning that the next element in the stream is a <code>LinkedHashSet</code>.
*
* @since GemFire 5.7
*/
- byte LINKED_HASH_SET = 73;
+ LINKED_HASH_SET(73),
/**
* A header byte meaning that the next element in the stream is a <code>Stack</code>.
*
* @since GemFire 5.7
*/
- byte STACK = 74;
+ STACK(74),
/**
* A header byte meaning that the next element in the stream is a <code>TreeMap</code>.
*
* @since GemFire 5.7
*/
- byte TREE_MAP = 75;
+ TREE_MAP(75),
/**
* A header byte meaning that the next element in the stream is a <code>TreeSet</code>.
*
* @since GemFire 5.7
*/
- byte TREE_SET = 76;
+ TREE_SET(76),
// 75..86 unused
@@ -350,7 +342,7 @@ public interface DSCODE {
* A header byte meaning that the next element in the stream is a buffer of 1-byte characters to
* turn into a String whose length is <= 0xFFFF
*/
- byte STRING_BYTES = 87;
+ STRING_BYTES(87),
/**
* A header byte meaning that the next element in the stream is a buffer of 1-byte characters to
@@ -358,7 +350,7 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte HUGE_STRING_BYTES = 88;
+ HUGE_STRING_BYTES(88),
/**
* A header byte meaning that the next element in the stream is a buffer of 2-byte characters to
@@ -366,14 +358,14 @@ public interface DSCODE {
*
* @since GemFire 5.7
*/
- byte HUGE_STRING = 89;
+ HUGE_STRING(89),
// 90 unused
/**
* A header byte meaning that the next element in the stream is a <code>byte[][]</code>.
*/
- byte ARRAY_OF_BYTE_ARRAYS = 91;
+ ARRAY_OF_BYTE_ARRAYS(91),
// 92 unused
@@ -382,7 +374,7 @@ public interface DSCODE {
*
* @since GemFire 6.6
*/
- byte PDX = 93;
+ PDX(93),
/**
* A header byte meaning that the next element in the stream is an enum whose type is defined in
@@ -390,20 +382,20 @@ public interface DSCODE {
*
* @since GemFire 6.6.2
*/
- byte PDX_ENUM = 94;
+ PDX_ENUM(94),
/**
* java.math.BigInteger
*
* @since GemFire 6.6.2
*/
- byte BIG_INTEGER = 95;
+ BIG_INTEGER(95),
/**
* java.math.BigDecimal
*
* @since GemFire 6.6.2
*/
- byte BIG_DECIMAL = 96;
+ BIG_DECIMAL(96),
/**
* This code can only be used by PDX. It can't be used for normal DataSerializer writeObject
@@ -412,43 +404,53 @@ public interface DSCODE {
*
* @since GemFire 6.6
*/
- byte CONCURRENT_HASH_MAP = 97;
+ CONCURRENT_HASH_MAP(97),
/**
* java.util.UUID
*
* @since GemFire 6.6.2
*/
- byte UUID = 98;
+ UUID(98),
/**
* java.sql.Timestamp
*
* @since GemFire 6.6.2
*/
- byte TIMESTAMP = 99;
+ TIMESTAMP(99),
/**
* Used for enums that need to always be deserialized into their enum domain class.
*
* @since GemFire 6.6.2
*/
- byte GEMFIRE_ENUM = 100;
+ GEMFIRE_ENUM(100),
/**
* Used for enums that need to be encoded inline because the pdx registry may not be available.
* During deserialization this type of enum may be deserialized as a PdxInstance.
*
* @since GemFire 6.6.2
*/
- byte PDX_INLINE_ENUM = 101;
+ PDX_INLINE_ENUM(101),
/**
* Used for wildcard searches in soplogs with composite keys.
*
* @since GemFire 8.0
*/
- byte WILDCARD = 102;
+ WILDCARD(102);
// 103..127 unused
// DO NOT USE CODES > 127. They are not "byte".
+
+ private byte value;
+
+ DSCODE(int value) {
+ this.value = (byte) value;
+ }
+
+ public byte toByte() {
+ return value;
+ }
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
index 993c2d5..334c058 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
@@ -130,7 +130,7 @@ import org.apache.geode.pdx.internal.TypeRegistry;
*
* @since GemFire 3.5
*/
-public abstract class InternalDataSerializer extends DataSerializer implements DSCODE {
+public abstract class InternalDataSerializer extends DataSerializer {
private static final Logger logger = LogService.getLogger();
/**
@@ -386,7 +386,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
InetAddress address = (InetAddress) o;
- out.writeByte(INET_ADDRESS);
+ out.writeByte(DSCODE.INET_ADDRESS.toByte());
writeInetAddress(address, out);
return true;
}
@@ -395,7 +395,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
InetAddress address = (InetAddress) o;
- out.writeByte(INET_ADDRESS);
+ out.writeByte(DSCODE.INET_ADDRESS.toByte());
writeInetAddress(address, out);
return true;
}
@@ -404,7 +404,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
InetAddress address = (InetAddress) o;
- out.writeByte(INET_ADDRESS);
+ out.writeByte(DSCODE.INET_ADDRESS.toByte());
writeInetAddress(address, out);
return true;
}
@@ -416,7 +416,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
if (c.isPrimitive()) {
writePrimitiveClass(c, out);
} else {
- out.writeByte(CLASS);
+ out.writeByte(DSCODE.CLASS.toByte());
writeClass(c, out);
}
return true;
@@ -426,7 +426,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Boolean value = (Boolean) o;
- out.writeByte(BOOLEAN);
+ out.writeByte(DSCODE.BOOLEAN.toByte());
writeBoolean(value, out);
return true;
}
@@ -435,7 +435,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Character value = (Character) o;
- out.writeByte(CHARACTER);
+ out.writeByte(DSCODE.CHARACTER.toByte());
writeCharacter(value, out);
return true;
}
@@ -444,7 +444,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Byte value = (Byte) o;
- out.writeByte(BYTE);
+ out.writeByte(DSCODE.BYTE.toByte());
writeByte(value, out);
return true;
}
@@ -453,7 +453,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Short value = (Short) o;
- out.writeByte(SHORT);
+ out.writeByte(DSCODE.SHORT.toByte());
writeShort(value, out);
return true;
}
@@ -462,7 +462,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Integer value = (Integer) o;
- out.writeByte(INTEGER);
+ out.writeByte(DSCODE.INTEGER.toByte());
writeInteger(value, out);
return true;
}
@@ -471,7 +471,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Long value = (Long) o;
- out.writeByte(LONG);
+ out.writeByte(DSCODE.LONG.toByte());
writeLong(value, out);
return true;
}
@@ -480,7 +480,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Float value = (Float) o;
- out.writeByte(FLOAT);
+ out.writeByte(DSCODE.FLOAT.toByte());
writeFloat(value, out);
return true;
}
@@ -489,7 +489,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Double value = (Double) o;
- out.writeByte(DOUBLE);
+ out.writeByte(DSCODE.DOUBLE.toByte());
writeDouble(value, out);
return true;
}
@@ -498,7 +498,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
new WellKnownPdxDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(BOOLEAN_ARRAY);
+ out.writeByte(DSCODE.BOOLEAN_ARRAY.toByte());
writeBooleanArray((boolean[]) o, out);
return true;
}
@@ -508,7 +508,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
byte[] array = (byte[]) o;
- out.writeByte(BYTE_ARRAY);
+ out.writeByte(DSCODE.BYTE_ARRAY.toByte());
writeByteArray(array, out);
return true;
}
@@ -517,7 +517,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
new WellKnownPdxDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(CHAR_ARRAY);
+ out.writeByte(DSCODE.CHAR_ARRAY.toByte());
writeCharArray((char[]) o, out);
return true;
}
@@ -527,7 +527,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
double[] array = (double[]) o;
- out.writeByte(DOUBLE_ARRAY);
+ out.writeByte(DSCODE.DOUBLE_ARRAY.toByte());
writeDoubleArray(array, out);
return true;
}
@@ -537,7 +537,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
float[] array = (float[]) o;
- out.writeByte(FLOAT_ARRAY);
+ out.writeByte(DSCODE.FLOAT_ARRAY.toByte());
writeFloatArray(array, out);
return true;
}
@@ -547,7 +547,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
int[] array = (int[]) o;
- out.writeByte(INT_ARRAY);
+ out.writeByte(DSCODE.INT_ARRAY.toByte());
writeIntArray(array, out);
return true;
}
@@ -557,7 +557,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
long[] array = (long[]) o;
- out.writeByte(LONG_ARRAY);
+ out.writeByte(DSCODE.LONG_ARRAY.toByte());
writeLongArray(array, out);
return true;
}
@@ -567,7 +567,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
short[] array = (short[]) o;
- out.writeByte(SHORT_ARRAY);
+ out.writeByte(DSCODE.SHORT_ARRAY.toByte());
writeShortArray(array, out);
return true;
}
@@ -577,7 +577,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
String[] array = (String[]) o;
- out.writeByte(STRING_ARRAY);
+ out.writeByte(DSCODE.STRING_ARRAY.toByte());
writeStringArray(array, out);
return true;
}
@@ -585,7 +585,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put(TimeUnit.NANOSECONDS.getClass().getName(), new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TIME_UNIT);
+ out.writeByte(DSCODE.TIME_UNIT.toByte());
out.writeByte(TIME_UNIT_NANOSECONDS);
return true;
}
@@ -593,7 +593,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put(TimeUnit.MICROSECONDS.getClass().getName(), new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TIME_UNIT);
+ out.writeByte(DSCODE.TIME_UNIT.toByte());
out.writeByte(TIME_UNIT_MICROSECONDS);
return true;
}
@@ -601,7 +601,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put(TimeUnit.MILLISECONDS.getClass().getName(), new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TIME_UNIT);
+ out.writeByte(DSCODE.TIME_UNIT.toByte());
out.writeByte(TIME_UNIT_MILLISECONDS);
return true;
}
@@ -609,7 +609,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put(TimeUnit.SECONDS.getClass().getName(), new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TIME_UNIT);
+ out.writeByte(DSCODE.TIME_UNIT.toByte());
out.writeByte(TIME_UNIT_SECONDS);
return true;
}
@@ -618,7 +618,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Date date = (Date) o;
- out.writeByte(DATE);
+ out.writeByte(DSCODE.DATE.toByte());
writeDate(date, out);
return true;
}
@@ -627,7 +627,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
File file = (File) o;
- out.writeByte(FILE);
+ out.writeByte(DSCODE.FILE.toByte());
writeFile(file, out);
return true;
}
@@ -636,7 +636,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
ArrayList list = (ArrayList) o;
- out.writeByte(ARRAY_LIST);
+ out.writeByte(DSCODE.ARRAY_LIST.toByte());
writeArrayList(list, out);
return true;
}
@@ -645,7 +645,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
LinkedList list = (LinkedList) o;
- out.writeByte(LINKED_LIST);
+ out.writeByte(DSCODE.LINKED_LIST.toByte());
writeLinkedList(list, out);
return true;
}
@@ -653,7 +653,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.Vector", new WellKnownPdxDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(VECTOR);
+ out.writeByte(DSCODE.VECTOR.toByte());
writeVector((Vector) o, out);
return true;
}
@@ -661,7 +661,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.Stack", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(STACK);
+ out.writeByte(DSCODE.STACK.toByte());
writeStack((Stack) o, out);
return true;
}
@@ -670,7 +670,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
HashSet list = (HashSet) o;
- out.writeByte(HASH_SET);
+ out.writeByte(DSCODE.HASH_SET.toByte());
writeHashSet(list, out);
return true;
}
@@ -678,7 +678,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.LinkedHashSet", new WellKnownPdxDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(LINKED_HASH_SET);
+ out.writeByte(DSCODE.LINKED_HASH_SET.toByte());
writeLinkedHashSet((LinkedHashSet) o, out);
return true;
}
@@ -687,7 +687,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
HashMap list = (HashMap) o;
- out.writeByte(HASH_MAP);
+ out.writeByte(DSCODE.HASH_MAP.toByte());
writeHashMap(list, out);
return true;
}
@@ -695,7 +695,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.IdentityHashMap", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(IDENTITY_HASH_MAP);
+ out.writeByte(DSCODE.IDENTITY_HASH_MAP.toByte());
writeIdentityHashMap((IdentityHashMap) o, out);
return true;
}
@@ -703,7 +703,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.Hashtable", new WellKnownPdxDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(HASH_TABLE);
+ out.writeByte(DSCODE.HASH_TABLE.toByte());
writeHashtable((Hashtable) o, out);
return true;
}
@@ -712,7 +712,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
Properties props = (Properties) o;
- out.writeByte(PROPERTIES);
+ out.writeByte(DSCODE.PROPERTIES.toByte());
writeProperties(props, out);
return true;
}
@@ -720,7 +720,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.TreeMap", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TREE_MAP);
+ out.writeByte(DSCODE.TREE_MAP.toByte());
writeTreeMap((TreeMap) o, out);
return true;
}
@@ -728,7 +728,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.TreeSet", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TREE_SET);
+ out.writeByte(DSCODE.TREE_SET.toByte());
writeTreeSet((TreeSet) o, out);
return true;
}
@@ -737,7 +737,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.math.BigInteger", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(BIG_INTEGER);
+ out.writeByte(DSCODE.BIG_INTEGER.toByte());
writeBigInteger((BigInteger) o, out);
return true;
}
@@ -745,7 +745,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.math.BigDecimal", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(BIG_DECIMAL);
+ out.writeByte(DSCODE.BIG_DECIMAL.toByte());
writeBigDecimal((BigDecimal) o, out);
return true;
}
@@ -753,7 +753,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.util.UUID", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(UUID);
+ out.writeByte(DSCODE.UUID.toByte());
writeUUID((UUID) o, out);
return true;
}
@@ -761,7 +761,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
classesToSerializers.put("java.sql.Timestamp", new WellKnownDS() {
@Override
public boolean toData(Object o, DataOutput out) throws IOException {
- out.writeByte(TIMESTAMP);
+ out.writeByte(DSCODE.TIMESTAMP.toByte());
writeTimestamp((Timestamp) o, out);
return true;
}
@@ -1497,13 +1497,13 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
.toLocalizedString());
}
if (dsfid <= Byte.MAX_VALUE && dsfid >= Byte.MIN_VALUE) {
- out.writeByte(DS_FIXED_ID_BYTE);
+ out.writeByte(DSCODE.DS_FIXED_ID_BYTE.toByte());
out.writeByte(dsfid);
} else if (dsfid <= Short.MAX_VALUE && dsfid >= Short.MIN_VALUE) {
- out.writeByte(DS_FIXED_ID_SHORT);
+ out.writeByte(DSCODE.DS_FIXED_ID_SHORT.toByte());
out.writeShort(dsfid);
} else {
- out.writeByte(DS_FIXED_ID_INT);
+ out.writeByte(DSCODE.DS_FIXED_ID_INT.toByte());
out.writeInt(dsfid);
}
}
@@ -1527,7 +1527,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
}
}
if (dsfid == DataSerializableFixedID.NO_FIXED_ID) {
- out.writeByte(DS_NO_FIXED_ID);
+ out.writeByte(DSCODE.DS_NO_FIXED_ID.toByte());
DataSerializer.writeClass(o.getClass(), out);
} else {
writeDSFIDHeader(dsfid, out);
@@ -1584,13 +1584,13 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
checkPdxCompatible(o, ensurePdxCompatibility);
// id will be 0 if it is a WellKnowDS
if (id <= Byte.MAX_VALUE && id >= Byte.MIN_VALUE) {
- out.writeByte(USER_CLASS);
+ out.writeByte(DSCODE.USER_CLASS.toByte());
out.writeByte((byte) id);
} else if (id <= Short.MAX_VALUE && id >= Short.MIN_VALUE) {
- out.writeByte(USER_CLASS_2);
+ out.writeByte(DSCODE.USER_CLASS_2.toByte());
out.writeShort(id);
} else {
- out.writeByte(USER_CLASS_4);
+ out.writeByte(DSCODE.USER_CLASS_4.toByte());
out.writeInt(id);
}
} else {
@@ -1644,12 +1644,12 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
// Do byte[][] and Object[] here to fix bug 44060
} else if (o instanceof byte[][]) {
byte[][] byteArrays = (byte[][]) o;
- out.writeByte(ARRAY_OF_BYTE_ARRAYS);
+ out.writeByte(DSCODE.ARRAY_OF_BYTE_ARRAYS.toByte());
writeArrayOfByteArrays(byteArrays, out);
return true;
} else if (o instanceof Object[]) {
Object[] array = (Object[]) o;
- out.writeByte(OBJECT_ARRAY);
+ out.writeByte(DSCODE.OBJECT_ARRAY.toByte());
writeObjectArray(array, out, ensurePdxCompatibility);
return true;
} else if (is662SerializationEnabled()
@@ -1956,25 +1956,25 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
*/
public static void writePrimitiveClass(Class c, DataOutput out) throws IOException {
if (c == Boolean.TYPE) {
- out.writeByte(BOOLEAN_TYPE);
+ out.writeByte(DSCODE.BOOLEAN_TYPE.toByte());
} else if (c == Character.TYPE) {
- out.writeByte(CHARACTER_TYPE);
+ out.writeByte(DSCODE.CHARACTER_TYPE.toByte());
} else if (c == Byte.TYPE) {
- out.writeByte(BYTE_TYPE);
+ out.writeByte(DSCODE.BYTE_TYPE.toByte());
} else if (c == Short.TYPE) {
- out.writeByte(SHORT_TYPE);
+ out.writeByte(DSCODE.SHORT_TYPE.toByte());
} else if (c == Integer.TYPE) {
- out.writeByte(INTEGER_TYPE);
+ out.writeByte(DSCODE.INTEGER_TYPE.toByte());
} else if (c == Long.TYPE) {
- out.writeByte(LONG_TYPE);
+ out.writeByte(DSCODE.LONG_TYPE.toByte());
} else if (c == Float.TYPE) {
- out.writeByte(FLOAT_TYPE);
+ out.writeByte(DSCODE.FLOAT_TYPE.toByte());
} else if (c == Double.TYPE) {
- out.writeByte(DOUBLE_TYPE);
+ out.writeByte(DSCODE.DOUBLE_TYPE.toByte());
} else if (c == Void.TYPE) {
- out.writeByte(VOID_TYPE);
+ out.writeByte(DSCODE.VOID_TYPE.toByte());
} else if (c == null) {
- out.writeByte(NULL);
+ out.writeByte(DSCODE.NULL.toByte());
} else {
throw new InternalGemFireError(
LocalizedStrings.InternalDataSerializer_UNKNOWN_PRIMITIVE_TYPE_0
@@ -1983,31 +1983,38 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
}
public static Class decodePrimitiveClass(byte typeCode) {
- switch (typeCode) {
- case BOOLEAN_TYPE:
- return Boolean.TYPE;
- case CHARACTER_TYPE:
- return Character.TYPE;
- case BYTE_TYPE:
- return Byte.TYPE;
- case SHORT_TYPE:
- return Short.TYPE;
- case INTEGER_TYPE:
- return Integer.TYPE;
- case LONG_TYPE:
- return Long.TYPE;
- case FLOAT_TYPE:
- return Float.TYPE;
- case DOUBLE_TYPE:
- return Double.TYPE;
- case VOID_TYPE:
- return Void.TYPE;
- case NULL:
- return null;
- default:
- throw new InternalGemFireError(LocalizedStrings.InternalDataSerializer_UNEXPECTED_TYPECODE_0
- .toLocalizedString(typeCode));
+ if (typeCode == DSCODE.BOOLEAN_TYPE.toByte()) {
+ return Boolean.TYPE;
+ }
+ if (typeCode == DSCODE.CHARACTER_TYPE.toByte()) {
+ return Character.TYPE;
+ }
+ if (typeCode == DSCODE.BYTE_TYPE.toByte()) {
+ return Byte.TYPE;
+ }
+ if (typeCode == DSCODE.SHORT_TYPE.toByte()) {
+ return Short.TYPE;
+ }
+ if (typeCode == DSCODE.INTEGER_TYPE.toByte()) {
+ return Integer.TYPE;
+ }
+ if (typeCode == DSCODE.LONG_TYPE.toByte()) {
+ return Long.TYPE;
+ }
+ if (typeCode == DSCODE.FLOAT_TYPE.toByte()) {
+ return Float.TYPE;
}
+ if (typeCode == DSCODE.DOUBLE_TYPE.toByte()) {
+ return Double.TYPE;
+ }
+ if (typeCode == DSCODE.VOID_TYPE.toByte()) {
+ return Void.TYPE;
+ }
+ if (typeCode == DSCODE.NULL.toByte()) {
+ return null;
+ }
+ throw new InternalGemFireError(
+ LocalizedStrings.InternalDataSerializer_UNEXPECTED_TYPECODE_0.toLocalizedString(typeCode));
}
private static final byte TIME_UNIT_NANOSECONDS = -1;
@@ -2133,13 +2140,13 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
public static void writeUserDataSerializableHeader(int classId, DataOutput out)
throws IOException {
if (classId <= Byte.MAX_VALUE && classId >= Byte.MIN_VALUE) {
- out.writeByte(USER_DATA_SERIALIZABLE);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE.toByte());
out.writeByte(classId);
} else if (classId <= Short.MAX_VALUE && classId >= Short.MIN_VALUE) {
- out.writeByte(USER_DATA_SERIALIZABLE_2);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_2.toByte());
out.writeShort(classId);
} else {
- out.writeByte(USER_DATA_SERIALIZABLE_4);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_4.toByte());
out.writeInt(classId);
}
}
@@ -2175,7 +2182,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
* @param serializedForm the serialized byte array
*/
public static boolean isSerializedNull(byte[] serializedForm) {
- return serializedForm.length == 1 && serializedForm[0] == NULL;
+ return serializedForm.length == 1 && serializedForm[0] == DSCODE.NULL.toByte();
}
public static void basicWriteObject(Object o, DataOutput out, boolean ensurePdxCompatibility)
@@ -2189,7 +2196,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
// Handle special objects first
if (o == null) {
- out.writeByte(NULL);
+ out.writeByte(DSCODE.NULL.toByte());
} else if (o instanceof DataSerializableFixedID) {
checkPdxCompatible(o, ensurePdxCompatibility);
@@ -2218,7 +2225,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
if (classId != 0) {
writeUserDataSerializableHeader(classId, out);
} else {
- out.writeByte(DATA_SERIALIZABLE);
+ out.writeByte(DSCODE.DATA_SERIALIZABLE.toByte());
DataSerializer.writeClass(c, out);
}
DataSerializable ds = (DataSerializable) o;
@@ -2274,7 +2281,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
}
public static void writePdxEnumId(int eId, DataOutput out) throws IOException {
- out.writeByte(PDX_ENUM);
+ out.writeByte(DSCODE.PDX_ENUM.toByte());
out.writeByte(eId >> 24);
writeArrayLength(eId & 0xFFFFFF, out);
}
@@ -2302,7 +2309,8 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
private static void writeGemFireEnum(Enum<?> e, DataOutput out) throws IOException {
boolean isGemFireObject = isGemfireObject(e);
- DataSerializer.writePrimitiveByte(isGemFireObject ? GEMFIRE_ENUM : PDX_INLINE_ENUM, out);
+ DataSerializer.writePrimitiveByte(
+ isGemFireObject ? DSCODE.GEMFIRE_ENUM.toByte() : DSCODE.PDX_INLINE_ENUM.toByte(), out);
DataSerializer.writeString(e.getDeclaringClass().getName(), out);
DataSerializer.writeString(e.name(), out);
if (!isGemFireObject) {
@@ -2342,7 +2350,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
* @param out the data output to serialize to
*/
public static void writeSerializableObject(Object o, DataOutput out) throws IOException {
- out.writeByte(SERIALIZABLE);
+ out.writeByte(DSCODE.SERIALIZABLE.toByte());
if (out instanceof ObjectOutputStream) {
((ObjectOutputStream) out).writeObject(o);
} else {
@@ -2699,13 +2707,13 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "readDSFID: header={}", header);
}
- if (header == DS_FIXED_ID_BYTE) {
+ if (header == DSCODE.DS_FIXED_ID_BYTE.toByte()) {
return DSFIDFactory.create(in.readByte(), in);
- } else if (header == DS_FIXED_ID_SHORT) {
+ } else if (header == DSCODE.DS_FIXED_ID_SHORT.toByte()) {
return DSFIDFactory.create(in.readShort(), in);
- } else if (header == DS_NO_FIXED_ID) {
+ } else if (header == DSCODE.DS_NO_FIXED_ID.toByte()) {
return readDataSerializableFixedID(in);
- } else if (header == DS_FIXED_ID_INT) {
+ } else if (header == DSCODE.DS_FIXED_ID_INT.toByte()) {
return DSFIDFactory.create(in.readInt(), in);
} else {
throw new IllegalStateException("unexpected byte: " + header + " while reading dsfid");
@@ -2715,14 +2723,14 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
public static int readDSFIDHeader(final DataInput in) throws IOException {
checkIn(in);
byte header = in.readByte();
- if (header == DS_FIXED_ID_BYTE) {
+ if (header == DSCODE.DS_FIXED_ID_BYTE.toByte()) {
return in.readByte();
- } else if (header == DS_FIXED_ID_SHORT) {
+ } else if (header == DSCODE.DS_FIXED_ID_SHORT.toByte()) {
return in.readShort();
- } else if (header == DS_NO_FIXED_ID) {
+ } else if (header == DSCODE.DS_NO_FIXED_ID.toByte()) {
// is that correct??
return Integer.MAX_VALUE;
- } else if (header == DS_FIXED_ID_INT) {
+ } else if (header == DSCODE.DS_FIXED_ID_INT.toByte()) {
return in.readInt();
} else {
throw new IllegalStateException("unexpected byte: " + header + " while reading dsfid");
@@ -2738,7 +2746,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
* @since GemFire 5.7
*/
public static String readString(DataInput in, byte header) throws IOException {
- if (header == DSCODE.STRING_BYTES) {
+ if (header == DSCODE.STRING_BYTES.toByte()) {
int len = in.readUnsignedShort();
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading STRING_BYTES of len={}", len);
@@ -2746,17 +2754,17 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
byte[] buf = new byte[len];
in.readFully(buf, 0, len);
return new String(buf, 0); // intentionally using deprecated constructor
- } else if (header == DSCODE.STRING) {
+ } else if (header == DSCODE.STRING.toByte()) {
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading utf STRING");
}
return in.readUTF();
- } else if (header == DSCODE.NULL_STRING) {
+ } else if (header == DSCODE.NULL_STRING.toByte()) {
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading NULL_STRING");
}
return null;
- } else if (header == DSCODE.HUGE_STRING_BYTES) {
+ } else if (header == DSCODE.HUGE_STRING_BYTES.toByte()) {
int len = in.readInt();
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading HUGE_STRING_BYTES of len={}", len);
@@ -2764,7 +2772,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
byte[] buf = new byte[len];
in.readFully(buf, 0, len);
return new String(buf, 0); // intentionally using deprecated constructor
- } else if (header == DSCODE.HUGE_STRING) {
+ } else if (header == DSCODE.HUGE_STRING.toByte()) {
int len = in.readInt();
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "Reading HUGE_STRING of len={}", len);
@@ -2816,198 +2824,257 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
if (logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE)) {
logger.trace(LogMarker.SERIALIZER_VERBOSE, "basicReadObject: header={}", header);
}
- switch (header) {
- case DS_FIXED_ID_BYTE:
- return DSFIDFactory.create(in.readByte(), in);
- case DS_FIXED_ID_SHORT:
- return DSFIDFactory.create(in.readShort(), in);
- case DS_FIXED_ID_INT:
- return DSFIDFactory.create(in.readInt(), in);
- case DS_NO_FIXED_ID:
- return readDataSerializableFixedID(in);
- case NULL:
- return null;
- case NULL_STRING:
- case STRING:
- case HUGE_STRING:
- case STRING_BYTES:
- case HUGE_STRING_BYTES:
- return readString(in, header);
- case CLASS:
- return readClass(in);
- case DATE:
- return readDate(in);
- case FILE:
- return readFile(in);
- case INET_ADDRESS:
- return readInetAddress(in);
- case BOOLEAN:
- return readBoolean(in);
- case CHARACTER:
- return readCharacter(in);
- case BYTE:
- return readByte(in);
- case SHORT:
- return readShort(in);
- case INTEGER:
- return readInteger(in);
- case LONG:
- return readLong(in);
- case FLOAT:
- return readFloat(in);
- case DOUBLE:
- return readDouble(in);
- case BYTE_ARRAY:
- return readByteArray(in);
- case ARRAY_OF_BYTE_ARRAYS:
- return readArrayOfByteArrays(in);
- case SHORT_ARRAY:
- return readShortArray(in);
- case STRING_ARRAY:
- return readStringArray(in);
- case INT_ARRAY:
- return readIntArray(in);
- case LONG_ARRAY:
- return readLongArray(in);
- case FLOAT_ARRAY:
- return readFloatArray(in);
- case DOUBLE_ARRAY:
- return readDoubleArray(in);
- case BOOLEAN_ARRAY:
- return readBooleanArray(in);
- case CHAR_ARRAY:
- return readCharArray(in);
- case OBJECT_ARRAY:
- return readObjectArray(in);
- case ARRAY_LIST:
- return readArrayList(in);
- case LINKED_LIST:
- return readLinkedList(in);
- case HASH_SET:
- return readHashSet(in);
- case LINKED_HASH_SET:
- return readLinkedHashSet(in);
- case HASH_MAP:
- return readHashMap(in);
- case IDENTITY_HASH_MAP:
- return readIdentityHashMap(in);
- case HASH_TABLE:
- return readHashtable(in);
- case CONCURRENT_HASH_MAP:
- return readConcurrentHashMap(in);
- case PROPERTIES:
- return readProperties(in);
- case TIME_UNIT:
- return readTimeUnit(in);
- case USER_CLASS:
- return readUserObject(in, in.readByte());
- case USER_CLASS_2:
- return readUserObject(in, in.readShort());
- case USER_CLASS_4:
- return readUserObject(in, in.readInt());
- case VECTOR:
- return readVector(in);
- case STACK:
- return readStack(in);
- case TREE_MAP:
- return readTreeMap(in);
- case TREE_SET:
- return readTreeSet(in);
- case BOOLEAN_TYPE:
- return Boolean.TYPE;
- case CHARACTER_TYPE:
- return Character.TYPE;
- case BYTE_TYPE:
- return Byte.TYPE;
- case SHORT_TYPE:
- return Short.TYPE;
- case INTEGER_TYPE:
- return Integer.TYPE;
- case LONG_TYPE:
- return Long.TYPE;
- case FLOAT_TYPE:
- return Float.TYPE;
- case DOUBLE_TYPE:
- return Double.TYPE;
- case VOID_TYPE:
- return Void.TYPE;
-
- case USER_DATA_SERIALIZABLE:
- return readUserDataSerializable(in, in.readByte());
- case USER_DATA_SERIALIZABLE_2:
- return readUserDataSerializable(in, in.readShort());
- case USER_DATA_SERIALIZABLE_4:
- return readUserDataSerializable(in, in.readInt());
-
- case DATA_SERIALIZABLE:
- return readDataSerializable(in);
-
- case SERIALIZABLE: {
- final boolean isDebugEnabled_SERIALIZER =
- logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE);
- Object serializableResult;
- if (in instanceof DSObjectInputStream) {
- serializableResult = ((DSObjectInputStream) in).readObject();
+ if (header == DSCODE.DS_FIXED_ID_BYTE.toByte()) {
+ return DSFIDFactory.create(in.readByte(), in);
+ }
+ if (header == DSCODE.DS_FIXED_ID_SHORT.toByte()) {
+ return DSFIDFactory.create(in.readShort(), in);
+ }
+ if (header == DSCODE.DS_FIXED_ID_INT.toByte()) {
+ return DSFIDFactory.create(in.readInt(), in);
+ }
+ if (header == DSCODE.DS_NO_FIXED_ID.toByte()) {
+ return readDataSerializableFixedID(in);
+ }
+ if (header == DSCODE.NULL.toByte()) {
+ return null;
+ }
+ if (header == DSCODE.NULL_STRING.toByte() || header == DSCODE.STRING.toByte()
+ || header == DSCODE.HUGE_STRING.toByte() || header == DSCODE.STRING_BYTES.toByte()
+ || header == DSCODE.HUGE_STRING_BYTES.toByte()) {
+ return readString(in, header);
+ }
+ if (header == DSCODE.CLASS.toByte()) {
+ return readClass(in);
+ }
+ if (header == DSCODE.DATE.toByte()) {
+ return readDate(in);
+ }
+ if (header == DSCODE.FILE.toByte()) {
+ return readFile(in);
+ }
+ if (header == DSCODE.INET_ADDRESS.toByte()) {
+ return readInetAddress(in);
+ }
+ if (header == DSCODE.BOOLEAN.toByte()) {
+ return readBoolean(in);
+ }
+ if (header == DSCODE.CHARACTER.toByte()) {
+ return readCharacter(in);
+ }
+ if (header == DSCODE.BYTE.toByte()) {
+ return readByte(in);
+ }
+ if (header == DSCODE.SHORT.toByte()) {
+ return readShort(in);
+ }
+ if (header == DSCODE.INTEGER.toByte()) {
+ return readInteger(in);
+ }
+ if (header == DSCODE.LONG.toByte()) {
+ return readLong(in);
+ }
+ if (header == DSCODE.FLOAT.toByte()) {
+ return readFloat(in);
+ }
+ if (header == DSCODE.DOUBLE.toByte()) {
+ return readDouble(in);
+ }
+ if (header == DSCODE.BYTE_ARRAY.toByte()) {
+ return readByteArray(in);
+ }
+ if (header == DSCODE.ARRAY_OF_BYTE_ARRAYS.toByte()) {
+ return readArrayOfByteArrays(in);
+ }
+ if (header == DSCODE.SHORT_ARRAY.toByte()) {
+ return readShortArray(in);
+ }
+ if (header == DSCODE.STRING_ARRAY.toByte()) {
+ return readStringArray(in);
+ }
+ if (header == DSCODE.INT_ARRAY.toByte()) {
+ return readIntArray(in);
+ }
+ if (header == DSCODE.LONG_ARRAY.toByte()) {
+ return readLongArray(in);
+ }
+ if (header == DSCODE.FLOAT_ARRAY.toByte()) {
+ return readFloatArray(in);
+ }
+ if (header == DSCODE.DOUBLE_ARRAY.toByte()) {
+ return readDoubleArray(in);
+ }
+ if (header == DSCODE.BOOLEAN_ARRAY.toByte()) {
+ return readBooleanArray(in);
+ }
+ if (header == DSCODE.CHAR_ARRAY.toByte()) {
+ return readCharArray(in);
+ }
+ if (header == DSCODE.OBJECT_ARRAY.toByte()) {
+ return readObjectArray(in);
+ }
+ if (header == DSCODE.ARRAY_LIST.toByte()) {
+ return readArrayList(in);
+ }
+ if (header == DSCODE.LINKED_LIST.toByte()) {
+ return readLinkedList(in);
+ }
+ if (header == DSCODE.HASH_SET.toByte()) {
+ return readHashSet(in);
+ }
+ if (header == DSCODE.LINKED_HASH_SET.toByte()) {
+ return readLinkedHashSet(in);
+ }
+ if (header == DSCODE.HASH_MAP.toByte()) {
+ return readHashMap(in);
+ }
+ if (header == DSCODE.IDENTITY_HASH_MAP.toByte()) {
+ return readIdentityHashMap(in);
+ }
+ if (header == DSCODE.HASH_TABLE.toByte()) {
+ return readHashtable(in);
+ }
+ if (header == DSCODE.CONCURRENT_HASH_MAP.toByte()) {
+ return readConcurrentHashMap(in);
+ }
+ if (header == DSCODE.PROPERTIES.toByte()) {
+ return readProperties(in);
+ }
+ if (header == DSCODE.TIME_UNIT.toByte()) {
+ return readTimeUnit(in);
+ }
+ if (header == DSCODE.USER_CLASS.toByte()) {
+ return readUserObject(in, in.readByte());
+ }
+ if (header == DSCODE.USER_CLASS_2.toByte()) {
+ return readUserObject(in, in.readShort());
+ }
+ if (header == DSCODE.USER_CLASS_4.toByte()) {
+ return readUserObject(in, in.readInt());
+ }
+ if (header == DSCODE.VECTOR.toByte()) {
+ return readVector(in);
+ }
+ if (header == DSCODE.STACK.toByte()) {
+ return readStack(in);
+ }
+ if (header == DSCODE.TREE_MAP.toByte()) {
+ return readTreeMap(in);
+ }
+ if (header == DSCODE.TREE_SET.toByte()) {
+ return readTreeSet(in);
+ }
+ if (header == DSCODE.BOOLEAN_TYPE.toByte()) {
+ return Boolean.TYPE;
+ }
+ if (header == DSCODE.CHARACTER_TYPE.toByte()) {
+ return Character.TYPE;
+ }
+ if (header == DSCODE.BYTE_TYPE.toByte()) {
+ return Byte.TYPE;
+ }
+ if (header == DSCODE.SHORT_TYPE.toByte()) {
+ return Short.TYPE;
+ }
+ if (header == DSCODE.INTEGER_TYPE.toByte()) {
+ return Integer.TYPE;
+ }
+ if (header == DSCODE.LONG_TYPE.toByte()) {
+ return Long.TYPE;
+ }
+ if (header == DSCODE.FLOAT_TYPE.toByte()) {
+ return Float.TYPE;
+ }
+ if (header == DSCODE.DOUBLE_TYPE.toByte()) {
+ return Double.TYPE;
+ }
+ if (header == DSCODE.VOID_TYPE.toByte()) {
+ return Void.TYPE;
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE.toByte()) {
+ return readUserDataSerializable(in, in.readByte());
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE_2.toByte()) {
+ return readUserDataSerializable(in, in.readShort());
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE_4.toByte()) {
+ return readUserDataSerializable(in, in.readInt());
+ }
+ if (header == DSCODE.DATA_SERIALIZABLE.toByte()) {
+ return readDataSerializable(in);
+ }
+ if (header == DSCODE.SERIALIZABLE.toByte()) {
+ final boolean isDebugEnabled_SERIALIZER = logger.isTraceEnabled(LogMarker.SERIALIZER_VERBOSE);
+ Object serializableResult;
+ if (in instanceof DSObjectInputStream) {
+ serializableResult = ((DSObjectInputStream) in).readObject();
+ } else {
+ InputStream stream;
+ if (in instanceof InputStream) {
+ stream = (InputStream) in;
} else {
- InputStream stream;
- if (in instanceof InputStream) {
- stream = (InputStream) in;
- } else {
- stream = new InputStream() {
- @Override
- public int read() throws IOException {
- try {
- return in.readUnsignedByte(); // fix for bug 47249
- } catch (EOFException ignored) {
- return -1;
- }
+ stream = new InputStream() {
+ @Override
+ public int read() throws IOException {
+ try {
+ return in.readUnsignedByte(); // fix for bug 47249
+ } catch (EOFException ignored) {
+ return -1;
}
-
- };
- }
-
- ObjectInput ois = new DSObjectInputStream(stream);
- serializationFilter.setFilterOn((ObjectInputStream) ois);
- if (stream instanceof VersionedDataStream) {
- Version v = ((VersionedDataStream) stream).getVersion();
- if (v != null && v != Version.CURRENT) {
- ois = new VersionedObjectInput(ois, v);
}
- }
- serializableResult = ois.readObject();
+ };
+ }
- if (isDebugEnabled_SERIALIZER) {
- logger.trace(LogMarker.SERIALIZER_VERBOSE, "Read Serializable object: {}",
- serializableResult);
+ ObjectInput ois = new DSObjectInputStream(stream);
+ serializationFilter.setFilterOn((ObjectInputStream) ois);
+ if (stream instanceof VersionedDataStream) {
+ Version v = ((VersionedDataStream) stream).getVersion();
+ if (v != null && v != Version.CURRENT) {
+ ois = new VersionedObjectInput(ois, v);
}
}
+
+ serializableResult = ois.readObject();
+
if (isDebugEnabled_SERIALIZER) {
- logger.trace(LogMarker.SERIALIZER_VERBOSE, "deserialized instanceof {}",
- serializableResult.getClass());
+ logger.trace(LogMarker.SERIALIZER_VERBOSE, "Read Serializable object: {}",
+ serializableResult);
}
- return serializableResult;
- }
- case PDX:
- return readPdxSerializable(in);
- case PDX_ENUM:
- return readPdxEnum(in);
- case GEMFIRE_ENUM:
- return readGemFireEnum(in);
- case PDX_INLINE_ENUM:
- return readPdxInlineEnum(in);
- case BIG_INTEGER:
- return readBigInteger(in);
- case BIG_DECIMAL:
- return readBigDecimal(in);
- case UUID:
- return readUUID(in);
- case TIMESTAMP:
- return readTimestamp(in);
- default:
- String s = "Unknown header byte: " + header;
- throw new IOException(s);
+ }
+ if (isDebugEnabled_SERIALIZER) {
+ logger.trace(LogMarker.SERIALIZER_VERBOSE, "deserialized instanceof {}",
+ serializableResult.getClass());
+ }
+ return serializableResult;
+ }
+ if (header == DSCODE.PDX.toByte()) {
+ return readPdxSerializable(in);
+ }
+ if (header == DSCODE.PDX_ENUM.toByte()) {
+ return readPdxEnum(in);
+ }
+ if (header == DSCODE.GEMFIRE_ENUM.toByte()) {
+ return readGemFireEnum(in);
}
+ if (header == DSCODE.PDX_INLINE_ENUM.toByte()) {
+ return readPdxInlineEnum(in);
+ }
+ if (header == DSCODE.BIG_INTEGER.toByte()) {
+ return readBigInteger(in);
+ }
+ if (header == DSCODE.BIG_DECIMAL.toByte()) {
+ return readBigDecimal(in);
+ }
+ if (header == DSCODE.UUID.toByte()) {
+ return readUUID(in);
+ }
+ if (header == DSCODE.TIMESTAMP.toByte()) {
+ return readTimestamp(in);
+ }
+
+ String s = "Unknown header byte: " + header;
+ throw new IOException(s);
}
private static Object readUserDataSerializable(final DataInput in, int classId)
@@ -3195,7 +3262,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
public static PdxInstance readPdxInstance(final byte[] dataBytes, InternalCache internalCache) {
try {
byte type = dataBytes[0];
- if (type == PDX) {
+ if (type == DSCODE.PDX.toByte()) {
PdxInputStream in = new PdxInputStream(dataBytes);
in.readByte(); // throw away the type byte
int len = in.readInt();
@@ -3206,7 +3273,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
}
return new PdxInstanceImpl(pdxType, in, len);
- } else if (type == DSCODE.PDX_ENUM) {
+ } else if (type == DSCODE.PDX_ENUM.toByte()) {
PdxInputStream in = new PdxInputStream(dataBytes);
in.readByte(); // throw away the type byte
int dsId = in.readByte();
@@ -3218,7 +3285,7 @@ public abstract class InternalDataSerializer extends DataSerializer implements D
throw new IllegalStateException("Unknown pdx enum id=" + enumId);
}
return ei.getPdxInstance(enumId);
- } else if (type == DSCODE.PDX_INLINE_ENUM) {
+ } else if (type == DSCODE.PDX_INLINE_ENUM.toByte()) {
PdxInputStream in = new PdxInputStream(dataBytes);
in.readByte(); // throw away the type byte
String className = DataSerializer.readString(in);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
index d190e8c..ed52f28 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CacheDistributionAdvisor.java
@@ -845,7 +845,7 @@ public class CacheDistributionAdvisor extends DistributionAdvisor {
private void writeSet(Set<?> set, DataOutput out) throws IOException {
// to fix bug 47205 always serialize the Set as a HashSet.
- out.writeByte(DSCODE.HASH_SET);
+ out.writeByte(DSCODE.HASH_SET.toByte());
InternalDataSerializer.writeSet(set, out);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
index 5d3cf27..b3202c8 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/CachedDeserializableFactory.java
@@ -59,7 +59,7 @@ public class CachedDeserializableFactory {
private static boolean isPdxEncoded(byte[] v) {
// assert v != null;
if (v.length > 0) {
- return v[0] == DSCODE.PDX;
+ return v[0] == DSCODE.PDX.toByte();
}
return false;
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
index 9ec44f1..f8140ce 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
@@ -5376,7 +5376,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
public void registerPdxMetaData(Object instance) {
try {
byte[] blob = BlobHelper.serializeToBlob(instance);
- if (blob.length == 0 || blob[0] != DSCODE.PDX) {
+ if (blob.length == 0 || blob[0] != DSCODE.PDX.toByte()) {
throw new SerializationException("The instance is not PDX serializable");
}
} catch (IOException e) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
index 9fa5759..88e85c1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/Token.java
@@ -141,7 +141,7 @@ public abstract class Token {
public boolean isSerializedValue(byte[] value) {
ByteBuffer buf = ByteBuffer.wrap(value);
- return buf.capacity() == 3 && buf.get() == DSCODE.DS_FIXED_ID_SHORT
+ return buf.capacity() == 3 && buf.get() == DSCODE.DS_FIXED_ID_SHORT.toByte()
&& buf.getShort() == getDSFID();
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
index 4b65d8c..19e03c6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/snapshot/RegionSnapshotServiceImpl.java
@@ -261,7 +261,7 @@ public class RegionSnapshotServiceImpl<K, V> implements RegionSnapshotService<K,
// If the underlying object is a byte[], we can't wrap it in a
// CachedDeserializable. Somewhere along the line the header bytes
// get lost and we start seeing serialization problems.
- if (data.length > 0 && data[0] == DSCODE.BYTE_ARRAY) {
+ if (data.length > 0 && data[0] == DSCODE.BYTE_ARRAY.toByte()) {
// It would be faster to use System.arraycopy() directly but since
// length field is variable it's probably safest and simplest to
// keep the logic in the InternalDataSerializer.
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
index b12b8b8..753fcc1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ChunkedMessage.java
@@ -282,7 +282,7 @@ public class ChunkedMessage extends Message {
public void sendHeader() throws IOException {
if (this.socket != null) {
synchronized (getCommBuffer()) {
- getHeaderBytesForWrite();
+ getDSCODEsForWrite();
flushBuffer();
// Darrel says: I see no need for the following os.flush() call
// so I've deadcoded it for performance.
@@ -353,7 +353,7 @@ public class ChunkedMessage extends Message {
/**
* Converts the header of this message into a <code>byte</code> array using a {@link ByteBuffer}.
*/
- protected void getHeaderBytesForWrite() {
+ protected void getDSCODEsForWrite() {
final ByteBuffer cb = getCommBuffer();
cb.clear();
cb.putInt(this.messageType);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
index 11ad04f..5b94a15 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ClientUpdateMessageImpl.java
@@ -1475,7 +1475,7 @@ public class ClientUpdateMessageImpl implements ClientUpdateMessage, Sizeable, N
@Override
public void sendTo(DataOutput out) throws IOException {
// When serialized it needs to look just as if writeObject was called on a HASH_MAP
- out.writeByte(DSCODE.HASH_MAP);
+ out.writeByte(DSCODE.HASH_MAP.toByte());
int size = size();
InternalDataSerializer.writeArrayLength(size, out);
if (size > 0) {
@@ -1547,7 +1547,7 @@ public class ClientUpdateMessageImpl implements ClientUpdateMessage, Sizeable, N
@Override
public void sendTo(DataOutput out) throws IOException {
// When serialized it needs to look just as if writeObject was called on a HASH_MAP
- out.writeByte(DSCODE.HASH_MAP);
+ out.writeByte(DSCODE.HASH_MAP.toByte());
DataSerializer.writeHashMap(this, out);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
index fc69216..1977c9e 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/HAEventWrapper.java
@@ -331,7 +331,7 @@ public class HAEventWrapper implements Conflatable, DataSerializableFixedID, Siz
CqNameToOp value;
{
byte typeByte = in.readByte();
- if (typeByte == DSCODE.HASH_MAP) {
+ if (typeByte == DSCODE.HASH_MAP.toByte()) {
int cqNamesSize = InternalDataSerializer.readArrayLength(in);
if (cqNamesSize == -1) {
throw new IllegalStateException(
@@ -350,7 +350,7 @@ public class HAEventWrapper implements Conflatable, DataSerializableFixedID, Siz
value.add(cqNamesKey, cqNamesValue);
}
}
- } else if (typeByte == DSCODE.NULL) {
+ } else if (typeByte == DSCODE.NULL.toByte()) {
throw new IllegalStateException(
"The value of a ConcurrentHashMap is not allowed to be null.");
} else {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
index d701f2e..9606e6f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/Part.java
@@ -85,7 +85,7 @@ public class Part {
}
if (isObject() && this.part instanceof byte[]) {
byte[] b = (byte[]) this.part;
- if (b.length == 1 && b[0] == DSCODE.NULL) {
+ if (b.length == 1 && b[0] == DSCODE.NULL.toByte()) {
return true;
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
index 7d22b21..028e431 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/AbstractStoredObject.java
@@ -117,7 +117,8 @@ public abstract class AbstractStoredObject implements StoredObject {
return false;
}
byte dsCode = this.readDataByte(0);
- return dsCode == DSCODE.PDX || dsCode == DSCODE.PDX_ENUM || dsCode == DSCODE.PDX_INLINE_ENUM;
+ return dsCode == DSCODE.PDX.toByte() || dsCode == DSCODE.PDX_ENUM.toByte()
+ || dsCode == DSCODE.PDX_INLINE_ENUM.toByte();
}
@Override
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
index 8513d23..35183a5 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/DataType.java
@@ -32,7 +32,7 @@ import org.apache.geode.internal.InternalInstantiator;
*
* @since Geode 1.0
*/
-public class DataType implements DSCODE {
+public class DataType {
public static String getDataType(byte[] bytes) {
final DataInput in = getDataInput(bytes);
@@ -43,182 +43,233 @@ public class DataType implements DSCODE {
return "IOException: " + e.getMessage();
}
try {
- switch (header) {
- case DS_FIXED_ID_BYTE: {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readByte(), in).getClass().getName();
- }
- case DS_FIXED_ID_SHORT: {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readShort(), in).getClass().getName();
- }
- case DS_FIXED_ID_INT: {
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DSFIDFactory.create(in.readInt(), in).getClass().getName();
- }
- case DS_NO_FIXED_ID:
- return "org.apache.geode.internal.DataSerializableFixedID:"
- + DataSerializer.readClass(in).getName();
- case NULL:
- return "null";
- case NULL_STRING:
- case STRING:
- case HUGE_STRING:
- case STRING_BYTES:
- case HUGE_STRING_BYTES:
- return "java.lang.String";
- case CLASS:
- return "java.lang.Class";
- case DATE:
- return "java.util.Date";
- case FILE:
- return "java.io.File";
- case INET_ADDRESS:
- return "java.net.InetAddress";
- case BOOLEAN:
- return "java.lang.Boolean";
- case CHARACTER:
- return "java.lang.Character";
- case BYTE:
- return "java.lang.Byte";
- case SHORT:
- return "java.lang.Short";
- case INTEGER:
- return "java.lang.Integer";
- case LONG:
- return "java.lang.Long";
- case FLOAT:
- return "java.lang.Float";
- case DOUBLE:
- return "java.lang.Double";
- case BYTE_ARRAY:
- return "byte[]";
- case ARRAY_OF_BYTE_ARRAYS:
- return "byte[][]";
- case SHORT_ARRAY:
- return "short[]";
- case STRING_ARRAY:
- return "java.lang.String[]";
- case INT_ARRAY:
- return "int[]";
- case LONG_ARRAY:
- return "long[]";
- case FLOAT_ARRAY:
- return "float[]";
- case DOUBLE_ARRAY:
- return "double[]";
- case BOOLEAN_ARRAY:
- return "boolean[]";
- case CHAR_ARRAY:
- return "char[]";
- case OBJECT_ARRAY:
- return "java.lang.Object[]";
- case ARRAY_LIST:
- return "java.util.ArrayList";
- case LINKED_LIST:
- return "java.util.LinkedList";
- case HASH_SET:
- return "java.util.HashSet";
- case LINKED_HASH_SET:
- return "java.util.LinkedHashSet";
- case HASH_MAP:
- return "java.util.HashMap";
- case IDENTITY_HASH_MAP:
- return "java.util.IdentityHashMap";
- case HASH_TABLE:
- return "java.util.Hashtable";
- // ConcurrentHashMap is written as java.io.serializable
- // case CONCURRENT_HASH_MAP:
- // return "java.util.concurrent.ConcurrentHashMap";
- case PROPERTIES:
- return "java.util.Properties";
- case TIME_UNIT:
- return "java.util.concurrent.TimeUnit";
- case USER_CLASS:
- byte userClassDSId = in.readByte();
- return "DataSerializer: with Id:" + userClassDSId;
- case USER_CLASS_2:
- short userClass2DSId = in.readShort();
- return "DataSerializer: with Id:" + userClass2DSId;
- case USER_CLASS_4:
- int userClass4DSId = in.readInt();
- return "DataSerializer: with Id:" + userClass4DSId;
- case VECTOR:
- return "java.util.Vector";
- case STACK:
- return "java.util.Stack";
- case TREE_MAP:
- return "java.util.TreeMap";
- case TREE_SET:
- return "java.util.TreeSet";
- case BOOLEAN_TYPE:
- return "java.lang.Boolean.class";
- case CHARACTER_TYPE:
- return "java.lang.Character.class";
- case BYTE_TYPE:
- return "java.lang.Byte.class";
- case SHORT_TYPE:
- return "java.lang.Short.class";
- case INTEGER_TYPE:
- return "java.lang.Integer.class";
- case LONG_TYPE:
- return "java.lang.Long.class";
- case FLOAT_TYPE:
- return "java.lang.Float.class";
- case DOUBLE_TYPE:
- return "java.lang.Double.class";
- case VOID_TYPE:
- return "java.lang.Void.class";
- case USER_DATA_SERIALIZABLE: {
- Instantiator instantiator = InternalInstantiator.getInstantiator(in.readByte());
- return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
- }
- case USER_DATA_SERIALIZABLE_2: {
- Instantiator instantiator = InternalInstantiator.getInstantiator(in.readShort());
- return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
- }
- case USER_DATA_SERIALIZABLE_4: {
- Instantiator instantiator = InternalInstantiator.getInstantiator(in.readInt());
- return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
- }
- case DATA_SERIALIZABLE:
- return "org.apache.geode.DataSerializable:" + DataSerializer.readClass(in).getName();
- case SERIALIZABLE: {
- String name = null;
- try {
- Object obj = InternalDataSerializer.basicReadObject(getDataInput(bytes));
- name = obj.getClass().getName();
- } catch (ClassNotFoundException e) {
- name = e.getMessage();
- }
- return "java.io.Serializable:" + name;
- }
- case PDX: {
- int typeId = in.readInt();
- return "pdxType:" + typeId;
- }
- case PDX_ENUM: {
- in.readByte(); // dsId is not needed
- int enumId = InternalDataSerializer.readArrayLength(in);
- return "pdxEnum:" + enumId;
- }
- case GEMFIRE_ENUM: {
- String name = DataSerializer.readString(in);
- return "java.lang.Enum:" + name;
- }
- case PDX_INLINE_ENUM: {
- String name = DataSerializer.readString(in);
- return "java.lang.Enum:" + name;
+ if (header == DSCODE.DS_FIXED_ID_BYTE.toByte()) {
+ return "org.apache.geode.internal.DataSerializableFixedID:"
+ + DSFIDFactory.create(in.readByte(), in).getClass().getName();
+ }
+ if (header == DSCODE.DS_FIXED_ID_SHORT.toByte()) {
+ return "org.apache.geode.internal.DataSerializableFixedID:"
+ + DSFIDFactory.create(in.readShort(), in).getClass().getName();
+ }
+ if (header == DSCODE.DS_FIXED_ID_INT.toByte()) {
+ return "org.apache.geode.internal.DataSerializableFixedID:"
+ + DSFIDFactory.create(in.readInt(), in).getClass().getName();
+ }
+ if (header == DSCODE.DS_NO_FIXED_ID.toByte()) {
+ return "org.apache.geode.internal.DataSerializableFixedID:"
+ + DataSerializer.readClass(in).getName();
+ }
+ if (header == DSCODE.NULL.toByte()) {
+ return "null";
+ }
+ if (header == DSCODE.NULL_STRING.toByte() || header == DSCODE.STRING.toByte()
+ || header == DSCODE.HUGE_STRING.toByte() || header == DSCODE.STRING_BYTES.toByte()
+ || header == DSCODE.HUGE_STRING_BYTES.toByte()) {
+ return "java.lang.String";
+ }
+ if (header == DSCODE.CLASS.toByte()) {
+ return "java.lang.Class";
+ }
+ if (header == DSCODE.DATE.toByte()) {
+ return "java.util.Date";
+ }
+ if (header == DSCODE.FILE.toByte()) {
+ return "java.io.File";
+ }
+ if (header == DSCODE.INET_ADDRESS.toByte()) {
+ return "java.net.InetAddress";
+ }
+ if (header == DSCODE.BOOLEAN.toByte()) {
+ return "java.lang.Boolean";
+ }
+ if (header == DSCODE.CHARACTER.toByte()) {
+ return "java.lang.Character";
+ }
+ if (header == DSCODE.BYTE.toByte()) {
+ return "java.lang.Byte";
+ }
+ if (header == DSCODE.SHORT.toByte()) {
+ return "java.lang.Short";
+ }
+ if (header == DSCODE.INTEGER.toByte()) {
+ return "java.lang.Integer";
+ }
+ if (header == DSCODE.LONG.toByte()) {
+ return "java.lang.Long";
+ }
+ if (header == DSCODE.FLOAT.toByte()) {
+ return "java.lang.Float";
+ }
+ if (header == DSCODE.DOUBLE.toByte()) {
+ return "java.lang.Double";
+ }
+ if (header == DSCODE.BYTE_ARRAY.toByte()) {
+ return "byte[]";
+ }
+ if (header == DSCODE.ARRAY_OF_BYTE_ARRAYS.toByte()) {
+ return "byte[][]";
+ }
+ if (header == DSCODE.SHORT_ARRAY.toByte()) {
+ return "short[]";
+ }
+ if (header == DSCODE.STRING_ARRAY.toByte()) {
+ return "java.lang.String[]";
+ }
+ if (header == DSCODE.INT_ARRAY.toByte()) {
+ return "int[]";
+ }
+ if (header == DSCODE.LONG_ARRAY.toByte()) {
+ return "long[]";
+ }
+ if (header == DSCODE.FLOAT_ARRAY.toByte()) {
+ return "float[]";
+ }
+ if (header == DSCODE.DOUBLE_ARRAY.toByte()) {
+ return "double[]";
+ }
+ if (header == DSCODE.BOOLEAN_ARRAY.toByte()) {
+ return "boolean[]";
+ }
+ if (header == DSCODE.CHAR_ARRAY.toByte()) {
+ return "char[]";
+ }
+ if (header == DSCODE.OBJECT_ARRAY.toByte()) {
+ return "java.lang.Object[]";
+ }
+ if (header == DSCODE.ARRAY_LIST.toByte()) {
+ return "java.util.ArrayList";
+ }
+ if (header == DSCODE.LINKED_LIST.toByte()) {
+ return "java.util.LinkedList";
+ }
+ if (header == DSCODE.HASH_SET.toByte()) {
+ return "java.util.HashSet";
+ }
+ if (header == DSCODE.LINKED_HASH_SET.toByte()) {
+ return "java.util.LinkedHashSet";
+ }
+ if (header == DSCODE.HASH_MAP.toByte()) {
+ return "java.util.HashMap";
+ }
+ if (header == DSCODE.IDENTITY_HASH_MAP.toByte()) {
+ return "java.util.IdentityHashMap";
+ }
+ if (header == DSCODE.HASH_TABLE.toByte()) {
+ return "java.util.Hashtable";
+ }
+ // ConcurrentHashMap is written as java.io.serializable
+ // if (header == DSCODE.CONCURRENT_HASH_MAP.toByte()) {
+ // return "java.util.concurrent.ConcurrentHashMap";
+ if (header == DSCODE.PROPERTIES.toByte()) {
+ return "java.util.Properties";
+ }
+ if (header == DSCODE.TIME_UNIT.toByte()) {
+ return "java.util.concurrent.TimeUnit";
+ }
+ if (header == DSCODE.USER_CLASS.toByte()) {
+ byte userClassDSId = in.readByte();
+ return "DataSerializer: with Id:" + userClassDSId;
+ }
+ if (header == DSCODE.USER_CLASS_2.toByte()) {
+ short userClass2DSId = in.readShort();
+ return "DataSerializer: with Id:" + userClass2DSId;
+ }
+ if (header == DSCODE.USER_CLASS_4.toByte()) {
+ int userClass4DSId = in.readInt();
+ return "DataSerializer: with Id:" + userClass4DSId;
+ }
+ if (header == DSCODE.VECTOR.toByte()) {
+ return "java.util.Vector";
+ }
+ if (header == DSCODE.STACK.toByte()) {
+ return "java.util.Stack";
+ }
+ if (header == DSCODE.TREE_MAP.toByte()) {
+ return "java.util.TreeMap";
+ }
+ if (header == DSCODE.TREE_SET.toByte()) {
+ return "java.util.TreeSet";
+ }
+ if (header == DSCODE.BOOLEAN_TYPE.toByte()) {
+ return "java.lang.Boolean.class";
+ }
+ if (header == DSCODE.CHARACTER_TYPE.toByte()) {
+ return "java.lang.Character.class";
+ }
+ if (header == DSCODE.BYTE_TYPE.toByte()) {
+ return "java.lang.Byte.class";
+ }
+ if (header == DSCODE.SHORT_TYPE.toByte()) {
+ return "java.lang.Short.class";
+ }
+ if (header == DSCODE.INTEGER_TYPE.toByte()) {
+ return "java.lang.Integer.class";
+ }
+ if (header == DSCODE.LONG_TYPE.toByte()) {
+ return "java.lang.Long.class";
+ }
+ if (header == DSCODE.FLOAT_TYPE.toByte()) {
+ return "java.lang.Float.class";
+ }
+ if (header == DSCODE.DOUBLE_TYPE.toByte()) {
+ return "java.lang.Double.class";
+ }
+ if (header == DSCODE.VOID_TYPE.toByte()) {
+ return "java.lang.Void.class";
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE.toByte()) {
+ Instantiator instantiator = InternalInstantiator.getInstantiator(in.readByte());
+ return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE_2.toByte()) {
+ Instantiator instantiator = InternalInstantiator.getInstantiator(in.readShort());
+ return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
+ }
+ if (header == DSCODE.USER_DATA_SERIALIZABLE_4.toByte()) {
+ Instantiator instantiator = InternalInstantiator.getInstantiator(in.readInt());
+ return "org.apache.geode.Instantiator:" + instantiator.getInstantiatedClass().getName();
+ }
+ if (header == DSCODE.DATA_SERIALIZABLE.toByte()) {
+ return "org.apache.geode.DataSerializable:" + DataSerializer.readClass(in).getName();
+ }
+ if (header == DSCODE.SERIALIZABLE.toByte()) {
+ String name = null;
+ try {
+ Object obj = InternalDataSerializer.basicReadObject(getDataInput(bytes));
+ name = obj.getClass().getName();
+ } catch (ClassNotFoundException e) {
+ name = e.getMessage();
}
- case BIG_INTEGER:
- return "java.math.BigInteger";
- case BIG_DECIMAL:
- return "java.math.BigDecimal";
- case UUID:
- return "java.util.UUID";
- case TIMESTAMP:
- return "java.sql.Timestamp";
- default:
+ return "java.io.Serializable:" + name;
+ }
+ if (header == DSCODE.PDX.toByte()) {
+ int typeId = in.readInt();
+ return "pdxType:" + typeId;
+ }
+ if (header == DSCODE.PDX_ENUM.toByte()) {
+ in.readByte(); // dsId is not needed
+ int enumId = InternalDataSerializer.readArrayLength(in);
+ return "pdxEnum:" + enumId;
+ }
+ if (header == DSCODE.GEMFIRE_ENUM.toByte()) {
+ String name = DataSerializer.readString(in);
+ return "java.lang.Enum:" + name;
+ }
+ if (header == DSCODE.PDX_INLINE_ENUM.toByte()) {
+ String name = DataSerializer.readString(in);
+ return "java.lang.Enum:" + name;
+ }
+ if (header == DSCODE.BIG_INTEGER.toByte()) {
+ return "java.math.BigInteger";
+ }
+ if (header == DSCODE.BIG_DECIMAL.toByte()) {
+ return "java.math.BigDecimal";
+ }
+ if (header == DSCODE.UUID.toByte()) {
+ return "java.util.UUID";
+ }
+ if (header == DSCODE.TIMESTAMP.toByte()) {
+ return "java.sql.Timestamp";
}
return "Unknown header byte: " + header;
} catch (IOException e) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
index 08e768b..f203bed 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelper.java
@@ -245,7 +245,7 @@ public class OffHeapRegionEntryHelper {
} else if (isSerialized && !isCompressed) {
// Check for some special types that take more than 7 bytes to serialize
// but that might be able to be inlined with less than 8 bytes.
- if (v[0] == DSCODE.LONG) {
+ if (v[0] == DSCODE.LONG.toByte()) {
// A long is currently always serialized as 8 bytes (9 if you include the dscode).
// But many long values will actually be small enough for is to encode in 7 bytes.
if ((v[1] == 0 && (v[2] & 0x80) == 0) || (v[1] == -1 && (v[2] & 0x80) != 0)) {
@@ -306,7 +306,7 @@ public class OffHeapRegionEntryHelper {
byte[] bytes;
if (isLong) {
bytes = new byte[9];
- bytes[0] = DSCODE.LONG;
+ bytes[0] = DSCODE.LONG.toByte();
for (int i = 8; i >= 2; i--) {
addr >>= 8;
bytes[i] = (byte) (addr & 0x00ff);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
index e370c58..5a77a8d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/offheap/OffHeapStoredObject.java
@@ -290,7 +290,7 @@ public class OffHeapStoredObject extends AbstractStoredObject
if (this.isSerialized()) {
hdos.write(bb);
} else {
- hdos.writeByte(DSCODE.BYTE_ARRAY);
+ hdos.writeByte(DSCODE.BYTE_ARRAY.toByte());
InternalDataSerializer.writeArrayLength(bb.remaining(), hdos);
hdos.write(bb);
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java b/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
index 46a1f67..c955f4c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/util/BlobHelper.java
@@ -81,7 +81,7 @@ public class BlobHelper {
throws IOException, ClassNotFoundException {
Object result;
final long start = startDeserialization();
- if (blob.length > 0 && blob[0] == DSCODE.PDX) {
+ if (blob.length > 0 && blob[0] == DSCODE.PDX.toByte()) {
// If the first byte of blob indicates a pdx then wrap
// blob in a PdxInputStream instead.
// This will prevent us from making a copy of the byte[]
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java b/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
index 521fdbe..5c56c86 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/FieldType.java
@@ -40,8 +40,8 @@ public enum FieldType {
FLOAT(true, DataSize.FLOAT_SIZE, "float", new byte[] {0, 0, 0, 0}, 0),
DOUBLE(true, DataSize.DOUBLE_SIZE, "double", new byte[] {0, 0, 0, 0, 0, 0, 0, 0}, 0),
DATE(true, DataSize.DATE_SIZE, "Date", new byte[] {-1, -1, -1, -1, -1, -1, -1, -1}, null),
- STRING(false, -1, "String", new byte[] {DSCODE.NULL_STRING}, null),
- OBJECT(false, -1, "Object", new byte[] {DSCODE.NULL}, null),
+ STRING(false, -1, "String", new byte[] {DSCODE.NULL_STRING.toByte()}, null),
+ OBJECT(false, -1, "Object", new byte[] {DSCODE.NULL.toByte()}, null),
BOOLEAN_ARRAY(false, -1, "boolean[]", new byte[] {InternalDataSerializer.NULL_ARRAY}, null),
CHAR_ARRAY(false, -1, "char[]", new byte[] {InternalDataSerializer.NULL_ARRAY}, null),
BYTE_ARRAY(false, -1, "byte[]", new byte[] {InternalDataSerializer.NULL_ARRAY}, null),
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
index 1114cfb..1d0da47 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/EnumInfo.java
@@ -24,8 +24,6 @@ import java.util.Collections;
import java.util.List;
import org.apache.geode.DataSerializer;
-import org.apache.geode.internal.ClassPathLoader;
-import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.HeapDataOutputStream;
import org.apache.geode.internal.InternalDataSerializer;
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
index e596eb0..fc2afe3 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceEnum.java
@@ -126,7 +126,7 @@ public class PdxInstanceEnum implements PdxInstance, Sendable, ConvertableToByte
}
public void sendTo(DataOutput out) throws IOException {
- out.writeByte(DSCODE.PDX_INLINE_ENUM);
+ out.writeByte(DSCODE.PDX_INLINE_ENUM.toByte());
DataSerializer.writeString(this.className, out);
DataSerializer.writeString(this.enumName, out);
InternalDataSerializer.writeArrayLength(this.enumOrdinal, out);
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
index f55df95..0c19a79 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxInstanceImpl.java
@@ -161,7 +161,7 @@ public class PdxInstanceImpl extends PdxReaderImpl implements InternalPdxInstanc
PdxWriterImpl writer = convertToTypeWithNoDeletedFields(ur);
writer.sendTo(out);
} else {
- out.write(DSCODE.PDX);
+ out.write(DSCODE.PDX.toByte());
out.writeInt(ur.basicSize());
out.writeInt(ur.getPdxType().getTypeId());
ur.basicSendTo(out);
@@ -177,7 +177,7 @@ public class PdxInstanceImpl extends PdxReaderImpl implements InternalPdxInstanc
} else {
byte[] result = new byte[PdxWriterImpl.HEADER_SIZE + ur.basicSize()];
ByteBuffer bb = ByteBuffer.wrap(result);
- bb.put(DSCODE.PDX);
+ bb.put(DSCODE.PDX.toByte());
bb.putInt(ur.basicSize());
bb.putInt(ur.getPdxType().getTypeId());
ur.basicSendTo(bb);
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
index 8c1e122..88175e6 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxReaderImpl.java
@@ -896,8 +896,9 @@ public class PdxReaderImpl implements InternalPdxReader, java.io.Serializable {
}
int offset = getPositionForField(ft) + buffer.arrayOffset();
// Do not create PdxString if the field is NULL
- if (bytes[offset] == DSCODE.STRING || bytes[offset] == DSCODE.STRING_BYTES
- || bytes[offset] == DSCODE.HUGE_STRING || bytes[offset] == DSCODE.HUGE_STRING_BYTES) {
+ if (bytes[offset] == DSCODE.STRING.toByte() || bytes[offset] == DSCODE.STRING_BYTES.toByte()
+ || bytes[offset] == DSCODE.HUGE_STRING.toByte()
+ || bytes[offset] == DSCODE.HUGE_STRING_BYTES.toByte()) {
return new PdxString(bytes, offset);
}
}
@@ -917,7 +918,7 @@ public class PdxReaderImpl implements InternalPdxReader, java.io.Serializable {
}
int offset = getPositionForField(ft) + buffer.arrayOffset();
// Do not create PdxString if the field is NULL
- if (bytes[offset] == DSCODE.NULL || bytes[offset] == DSCODE.NULL_STRING) {
+ if (bytes[offset] == DSCODE.NULL.toByte() || bytes[offset] == DSCODE.NULL_STRING.toByte()) {
return null;
}
return new PdxString(bytes, offset);
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
index 6d7046b..8cc85fb 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxString.java
@@ -58,12 +58,12 @@ public class PdxString implements Comparable<PdxString>, Sendable {
private int calcOffset(int header, int offset) {
offset++; // increment offset for the header byte
// length is stored as short for small strings
- if (header == DSCODE.STRING_BYTES || header == DSCODE.STRING) {
+ if (header == DSCODE.STRING_BYTES.toByte() || header == DSCODE.STRING.toByte()) {
offset += 2; // position the offset to the start of the String
// (skipping header and length bytes)
}
// length is stored as int for huge strings
- else if (header == DSCODE.HUGE_STRING_BYTES || header == DSCODE.HUGE_STRING) {
+ else if (header == DSCODE.HUGE_STRING_BYTES.toByte() || header == DSCODE.HUGE_STRING.toByte()) {
offset += 4; // position the offset to the start of the String
// (skipping header and length bytes)
}
@@ -73,14 +73,14 @@ public class PdxString implements Comparable<PdxString>, Sendable {
private int getLength() {
int length = 0;
int lenOffset = this.offset;
- if (header == DSCODE.STRING_BYTES || header == DSCODE.STRING) {
+ if (header == DSCODE.STRING_BYTES.toByte() || header == DSCODE.STRING.toByte()) {
lenOffset -= 2;
byte a = bytes[lenOffset];
byte b = bytes[lenOffset + 1];
length = ((a & 0xff) << 8) | (b & 0xff);
}
// length is stored as int for huge strings
- else if (header == DSCODE.HUGE_STRING_BYTES || header == DSCODE.HUGE_STRING) {
+ else if (header == DSCODE.HUGE_STRING_BYTES.toByte() || header == DSCODE.HUGE_STRING.toByte()) {
lenOffset -= 4;
byte a = bytes[lenOffset];
byte b = bytes[lenOffset + 1];
@@ -168,12 +168,13 @@ public class PdxString implements Comparable<PdxString>, Sendable {
int headerOffset = this.offset;
try {
--headerOffset; // for header byte
- if (header == DSCODE.STRING_BYTES || header == DSCODE.STRING) {
+ if (header == DSCODE.STRING_BYTES.toByte() || header == DSCODE.STRING.toByte()) {
headerOffset -= 2; // position the offset to the start of the String (skipping
// header and length bytes)
}
// length is stored as int for huge strings
- else if (header == DSCODE.HUGE_STRING_BYTES || header == DSCODE.HUGE_STRING) {
+ else if (header == DSCODE.HUGE_STRING_BYTES.toByte()
+ || header == DSCODE.HUGE_STRING.toByte()) {
headerOffset -= 4;
}
ByteBuffer stringByteBuffer =
@@ -195,10 +196,11 @@ public class PdxString implements Comparable<PdxString>, Sendable {
int len = getLength();
--offset; // for header byte
len++;
- if (header == DSCODE.STRING_BYTES || header == DSCODE.STRING) {
+ if (header == DSCODE.STRING_BYTES.toByte() || header == DSCODE.STRING.toByte()) {
len += 2;
offset -= 2;
- } else if (header == DSCODE.HUGE_STRING_BYTES || header == DSCODE.HUGE_STRING) {
+ } else if (header == DSCODE.HUGE_STRING_BYTES.toByte()
+ || header == DSCODE.HUGE_STRING.toByte()) {
len += 4;
offset -= 4;
}
diff --git a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
index 4061cae..29dfe20 100644
--- a/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/pdx/internal/PdxWriterImpl.java
@@ -533,7 +533,7 @@ public class PdxWriterImpl implements PdxWriter {
this.lu.update(bits);
} // !alreadyGenerated
- return getCurrentOffset() + 1; // +1 for DSCODE.PDX
+ return getCurrentOffset() + 1; // +1 for DSCODE.PDX.toByte()
}
/**
@@ -839,7 +839,7 @@ public class PdxWriterImpl implements PdxWriter {
private HeapDataOutputStream.LongUpdater lu;
private void writeHeader() {
- this.os.write(DSCODE.PDX);
+ this.os.write(DSCODE.PDX.toByte());
this.lu = this.os.reserveLong(); // dummy length and type id
}
@@ -932,7 +932,7 @@ public class PdxWriterImpl implements PdxWriter {
if (valueBytes == null || valueBytes.length < 1) {
return false;
}
- return valueBytes[0] == DSCODE.PDX;
+ return valueBytes[0] == DSCODE.PDX.toByte();
}
public int position() {
diff --git a/geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java b/geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java
new file mode 100644
index 0000000..6c100e5
--- /dev/null
+++ b/geode-core/src/test/java/org/apache/geode/internal/DSCODETest.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.internal;
+
+import static org.junit.Assert.assertFalse;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.test.junit.categories.UnitTest;
+
+@Category(UnitTest.class)
+public class DSCODETest {
+ @Test
+ public void testNoDuplicateByteValues() throws Exception {
+ Set<Integer> previouslySeen = new HashSet<>();
+ for (DSCODE value : DSCODE.values()) {
+ final int integerValue = (int) value.toByte();
+ assertFalse("Each byte value should only occur with a single header byte enumerate",
+ previouslySeen.contains(integerValue));
+ previouslySeen.add(integerValue);
+ }
+ }
+}
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
index 913e901..f5e8fe7 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/DataTypeJUnitTest.java
@@ -112,7 +112,7 @@ public class DataTypeJUnitTest {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- DataSerializer.writeByte(DSCODE.DS_FIXED_ID_INT, out);
+ DataSerializer.writeByte(DSCODE.DS_FIXED_ID_INT.toByte(), out);
DataSerializer.writeInteger(someDSFIDInt, out);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -124,7 +124,7 @@ public class DataTypeJUnitTest {
public void testDataSerializableFixedIDClass() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- DataSerializer.writeByte(DSCODE.DS_NO_FIXED_ID, out);
+ DataSerializer.writeByte(DSCODE.DS_NO_FIXED_ID.toByte(), out);
DataSerializer.writeClass(Integer.class, out);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -586,7 +586,7 @@ public class DataTypeJUnitTest {
public void testBooleanType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.BOOLEAN_TYPE);
+ out.writeByte(DSCODE.BOOLEAN_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Boolean.class", type);
@@ -596,7 +596,7 @@ public class DataTypeJUnitTest {
public void testCharacterType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.CHARACTER_TYPE);
+ out.writeByte(DSCODE.CHARACTER_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Character.class", type);
@@ -606,7 +606,7 @@ public class DataTypeJUnitTest {
public void testByteType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.BYTE_TYPE);
+ out.writeByte(DSCODE.BYTE_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Byte.class", type);
@@ -616,7 +616,7 @@ public class DataTypeJUnitTest {
public void testShortType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.SHORT_TYPE);
+ out.writeByte(DSCODE.SHORT_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Short.class", type);
@@ -626,7 +626,7 @@ public class DataTypeJUnitTest {
public void testIntegerType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.INTEGER_TYPE);
+ out.writeByte(DSCODE.INTEGER_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Integer.class", type);
@@ -636,7 +636,7 @@ public class DataTypeJUnitTest {
public void testLongType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.LONG_TYPE);
+ out.writeByte(DSCODE.LONG_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Long.class", type);
@@ -646,7 +646,7 @@ public class DataTypeJUnitTest {
public void testFloatType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.FLOAT_TYPE);
+ out.writeByte(DSCODE.FLOAT_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Float.class", type);
@@ -656,7 +656,7 @@ public class DataTypeJUnitTest {
public void testDoubleType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.DOUBLE_TYPE);
+ out.writeByte(DSCODE.DOUBLE_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Double.class", type);
@@ -666,7 +666,7 @@ public class DataTypeJUnitTest {
public void testVoidType() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.VOID_TYPE);
+ out.writeByte(DSCODE.VOID_TYPE.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.lang.Void.class", type);
@@ -679,7 +679,7 @@ public class DataTypeJUnitTest {
byte someUserClassId = 1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_CLASS);
+ out.writeByte(DSCODE.USER_CLASS.toByte());
out.writeByte(someUserClassId);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -691,7 +691,7 @@ public class DataTypeJUnitTest {
short someUserClass2Id = 1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_CLASS_2);
+ out.writeByte(DSCODE.USER_CLASS_2.toByte());
out.writeShort(someUserClass2Id);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -703,7 +703,7 @@ public class DataTypeJUnitTest {
int someUserClass4Id = 1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_CLASS_4);
+ out.writeByte(DSCODE.USER_CLASS_4.toByte());
out.writeInt(someUserClass4Id);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -724,7 +724,7 @@ public class DataTypeJUnitTest {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_DATA_SERIALIZABLE);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE.toByte());
out.writeByte(someClassId);
byte[] bytes = baos.toByteArray();
@@ -748,7 +748,7 @@ public class DataTypeJUnitTest {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_2);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_2.toByte());
out.writeShort(someClassId);
byte[] bytes = baos.toByteArray();
@@ -772,7 +772,7 @@ public class DataTypeJUnitTest {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_4);
+ out.writeByte(DSCODE.USER_DATA_SERIALIZABLE_4.toByte());
out.writeInt(someClassId);
byte[] bytes = baos.toByteArray();
@@ -813,7 +813,7 @@ public class DataTypeJUnitTest {
int somePdxTypeInt = 1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.PDX);
+ out.writeByte(DSCODE.PDX.toByte());
out.writeInt(somePdxTypeInt);
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -840,7 +840,7 @@ public class DataTypeJUnitTest {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.GEMFIRE_ENUM);
+ out.writeByte(DSCODE.GEMFIRE_ENUM.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
@@ -885,7 +885,7 @@ public class DataTypeJUnitTest {
public void testSQLTimestamp() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(baos);
- out.writeByte(DSCODE.TIMESTAMP);
+ out.writeByte(DSCODE.TIMESTAMP.toByte());
byte[] bytes = baos.toByteArray();
String type = DataType.getDataType(bytes);
assertEquals("java.sql.Timestamp", type);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
index 3800f20..48e9f02 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/MemoryBlockNodeJUnitTest.java
@@ -324,7 +324,7 @@ public class MemoryBlockNodeJUnitTest {
public void getDataValueWithIllegalDataTypeCatchesIOException() {
Object obj = getValue();
storedObject = createValueAsSerializedStoredObject(obj);
- storedObject.writeDataByte(0, DSCODE.ILLEGAL);
+ storedObject.writeDataByte(0, DSCODE.ILLEGAL.toByte());
MemoryBlock mb = new MemoryBlockNode(ma, (MemoryBlock) storedObject);
ByteArrayOutputStream errContent = new ByteArrayOutputStream();
System.setErr(new PrintStream(errContent));
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
index 2c38312..a7598a7 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapRegionEntryHelperJUnitTest.java
@@ -150,7 +150,7 @@ public class OffHeapRegionEntryHelperJUnitTest {
@Test
public void encodeDataAsAddressShouldReturnZeroIfValueIsLargerThanEightBytesAndNotLong() {
byte[] someValue = new byte[8];
- someValue[0] = DSCODE.CLASS;
+ someValue[0] = DSCODE.CLASS.toByte();
boolean isSerialized = true;
boolean isCompressed = false;
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
index 1e37e65..1554300 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/OffHeapStoredObjectJUnitTest.java
@@ -375,19 +375,19 @@ public class OffHeapStoredObjectJUnitTest extends AbstractStoredObjectTestBase {
OffHeapStoredObject chunk = createValueAsSerializedStoredObject(getValue());
byte[] serailizedValue = chunk.getSerializedValue();
- serailizedValue[0] = DSCODE.PDX;
+ serailizedValue[0] = DSCODE.PDX.toByte();
chunk.setSerializedValue(serailizedValue);
assertThat(chunk.isSerializedPdxInstance()).isTrue();
serailizedValue = chunk.getSerializedValue();
- serailizedValue[0] = DSCODE.PDX_ENUM;
+ serailizedValue[0] = DSCODE.PDX_ENUM.toByte();
chunk.setSerializedValue(serailizedValue);
assertThat(chunk.isSerializedPdxInstance()).isTrue();
serailizedValue = chunk.getSerializedValue();
- serailizedValue[0] = DSCODE.PDX_INLINE_ENUM;
+ serailizedValue[0] = DSCODE.PDX_INLINE_ENUM.toByte();
chunk.setSerializedValue(serailizedValue);
assertThat(chunk.isSerializedPdxInstance()).isTrue();
@@ -572,7 +572,7 @@ public class OffHeapStoredObjectJUnitTest extends AbstractStoredObjectTestBase {
byte[] actual = dataOutput.toByteArray();
byte[] expected = new byte[regionEntryValue.length + 2];
- expected[0] = DSCODE.BYTE_ARRAY;
+ expected[0] = DSCODE.BYTE_ARRAY.toByte();
expected[1] = (byte) regionEntryValue.length;
System.arraycopy(regionEntryValue, 0, expected, 2, regionEntryValue.length);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
index 7d2efac..c20cff0 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/offheap/TinyStoredObjectJUnitTest.java
@@ -23,6 +23,7 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.apache.geode.compression.Compressor;
+import org.apache.geode.internal.DSCODE;
import org.apache.geode.internal.cache.BytesAndBitsForCompactor;
import org.apache.geode.internal.cache.CachePerfStats;
import org.apache.geode.internal.cache.EntryEventImpl;
@@ -346,7 +347,7 @@ public class TinyStoredObjectJUnitTest extends AbstractStoredObjectTestBase {
byte[] serializedValue = EntryEventImpl.serialize(regionEntryValueAsBytes);
// store -127 (DSCODE.ILLEGAL) - in order the deserialize to throw exception
- serializedValue[0] = -127;
+ serializedValue[0] = DSCODE.ILLEGAL.toByte();
// encode a un serialized entry value to address
long encodedAddress =
diff --git a/geode-core/src/test/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java b/geode-core/src/test/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
index 37ac5f9..04b44fd 100644
--- a/geode-core/src/test/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/pdx/PdxSerializableJUnitTest.java
@@ -293,13 +293,13 @@ public class PdxSerializableJUnitTest {
DataSerializer.writeObject(object, out);
int typeId = getPdxTypeIdForClass(SimpleClass.class);
byte[] actual = out.toByteArray();
- byte[] expected = new byte[] {DSCODE.PDX, // byte
+ byte[] expected = new byte[] {DSCODE.PDX.toByte(), // byte
0, 0, 0, 4 + 1 + 1, // int - length of byte stream = 4(myInt) + 1(myByte) + 1 (myEnum)
(byte) (typeId >> 24), (byte) (typeId >> 16), (byte) (typeId >> 8), (byte) typeId, // int -
// typeId
0, 0, 0, 1, // int - myInt = 1
5, // byte - myByte = 5
- DSCODE.NULL};
+ DSCODE.NULL.toByte()};
StringBuffer msg = new StringBuffer("Actual output: ");
for (byte val : actual) {
@@ -364,7 +364,7 @@ public class PdxSerializableJUnitTest {
int offset3 = offset1 + 8 + str1Bytes.length + str2Bytes.length;
byte[] actual = out.toByteArray();
int floatBytes = Float.floatToRawIntBits(myFloat);
- Byte[] expected = new Byte[] {DSCODE.PDX, // byte
+ Byte[] expected = new Byte[] {DSCODE.PDX.toByte(), // byte
(byte) (length >> 24), (byte) (length >> 16), (byte) (length >> 8), (byte) length, // int -
// length
// of
@@ -392,7 +392,7 @@ public class PdxSerializableJUnitTest {
// for:
// 1
// for
- // DSCODE.PDX
+ // DSCODE.PDX.toByte()
// and
// 4
// for
@@ -591,7 +591,7 @@ public class PdxSerializableJUnitTest {
int offset3 = offset1 + 8 + str1Bytes.length + str2Bytes.length;
byte[] actual = out.toByteArray();
int floatBytes = Float.floatToRawIntBits(myFloat);
- Byte[] expected = new Byte[] {DSCODE.PDX, // byte
+ Byte[] expected = new Byte[] {DSCODE.PDX.toByte(), // byte
(byte) (length >> 24), (byte) (length >> 16), (byte) (length >> 8), (byte) length, // int -
// length
// of
@@ -619,7 +619,7 @@ public class PdxSerializableJUnitTest {
// for:
// 1
// for
- // DSCODE.PDX
+ // DSCODE.PDX.toByte()
// and
// 4
// for
@@ -803,7 +803,7 @@ public class PdxSerializableJUnitTest {
int offset3 = offset1 + 8 + str1Bytes.length + mapBytes.length;
byte[] actual = out.toByteArray();
int floatBytes = Float.floatToRawIntBits(myFloat);
- Byte[] expected = new Byte[] {DSCODE.PDX, // byte
+ Byte[] expected = new Byte[] {DSCODE.PDX.toByte(), // byte
(byte) (length >> 24), (byte) (length >> 16), (byte) (length >> 8), (byte) length, // int -
// length
// of
@@ -901,7 +901,7 @@ public class PdxSerializableJUnitTest {
int offset3 = offset1 + 8 + str1Bytes.length + dsBytes.length;
byte[] actual = out.toByteArray();
int floatBytes = Float.floatToRawIntBits(myFloat);
- Byte[] expected = new Byte[] {DSCODE.PDX, // byte
+ Byte[] expected = new Byte[] {DSCODE.PDX.toByte(), // byte
(byte) (length >> 24), (byte) (length >> 16), (byte) (length >> 8), (byte) length, // int -
// length
// of
@@ -925,7 +925,7 @@ public class PdxSerializableJUnitTest {
// for:
// 1
// for
- // DSCODE.PDX
+ // DSCODE.PDX.toByte()
// and
// 4
// for
@@ -1012,7 +1012,7 @@ public class PdxSerializableJUnitTest {
byte[] actual = out.toByteArray();
int floatBytes = Float.floatToRawIntBits(myFloat);
- Byte[] expected = new Byte[] {DSCODE.DATA_SERIALIZABLE, // byte
+ Byte[] expected = new Byte[] {DSCODE.DATA_SERIALIZABLE.toByte(), // byte
(byte) (myLong >> 56), (byte) (myLong >> 48), (byte) (myLong >> 40), (byte) (myLong >> 32),
(byte) (myLong >> 24), (byte) (myLong >> 16), (byte) (myLong >> 8), (byte) myLong, // long -
// myLong
diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
index fdc1c43..fef1243 100644
--- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
+++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/excludedClasses.txt
@@ -12,6 +12,7 @@ org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager$Bo
org/apache/geode/distributed/internal/tcpserver/LocatorCancelException
org/apache/geode/internal/AbstractConfig$SortedProperties
org/apache/geode/internal/AvailablePort$Keeper
+org/apache/geode/internal/DSCODE
org/apache/geode/internal/ExitCode
org/apache/geode/internal/JarDeployer
org/apache/geode/internal/ObjIdConcurrentMap
@@ -90,4 +91,4 @@ org/apache/geode/cache/query/internal/types/TypeUtils$ComparisonStrategy$3
org/apache/geode/cache/query/internal/types/TypeUtils$ComparisonStrategy$4
org/apache/geode/cache/query/internal/types/TypeUtils$ComparisonStrategy$5
org/apache/geode/cache/client/internal/pooling/ConnectionManagerImpl$ClosedPoolConnectionList
-org/apache/geode/cache/query/internal/parse/ASTArithmeticOp
\ No newline at end of file
+org/apache/geode/cache/query/internal/parse/ASTArithmeticOp
diff --git a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
index 62f44ff..f22486f 100644
--- a/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
+++ b/geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
@@ -1912,7 +1912,7 @@ fromData,171
toData,162
org/apache/geode/internal/cache/tier/sockets/HAEventWrapper,2
-fromData,432
+fromData,440
toData,90
org/apache/geode/internal/cache/tier/sockets/InterestResultPolicyImpl,2
--
To stop receiving notification emails like this one, please contact
pivotalsarge@apache.org.