You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2014/12/05 00:24:29 UTC
[37/53] [abbrv] incubator-ignite git commit: # gg-9470-rename
# gg-9470-rename
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a7c947cc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a7c947cc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a7c947cc
Branch: refs/heads/master
Commit: a7c947cc2c147f1219506a8753d092209cd5ec91
Parents: f586cfc
Author: sboikov <sb...@gridgain.com>
Authored: Thu Dec 4 22:35:25 2014 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu Dec 4 22:35:25 2014 +0300
----------------------------------------------------------------------
.../optimized/GridOptimizedMarshallerUtils.java | 450 --------
.../GridOptimizedObjectInputStream.java | 1008 ------------------
.../GridOptimizedObjectOutputStream.java | 831 ---------------
.../GridOptimizedObjectStreamRegistry.java | 215 ----
.../IgniteOptimizedClassDescriptor.java | 8 +-
.../optimized/IgniteOptimizedClassResolver.java | 18 +-
.../optimized/IgniteOptimizedMarshaller.java | 32 +-
.../IgniteOptimizedMarshallerUtils.java | 450 ++++++++
.../IgniteOptimizedObjectInputStream.java | 1008 ++++++++++++++++++
.../IgniteOptimizedObjectOutputStream.java | 831 +++++++++++++++
.../IgniteOptimizedObjectStreamRegistry.java | 215 ++++
.../optimized/GridOptimizedMarshallerTest.java | 10 +-
.../GridOptimizedObjectStreamSelfTest.java | 20 +-
13 files changed, 2548 insertions(+), 2548 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedMarshallerUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedMarshallerUtils.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedMarshallerUtils.java
deleted file mode 100644
index de90035..0000000
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedMarshallerUtils.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.apache.ignite.marshaller.optimized;
-
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.typedef.*;
-import org.jdk8.backport.*;
-import org.jetbrains.annotations.*;
-import sun.misc.*;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.nio.charset.*;
-import java.security.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.apache.ignite.marshaller.optimized.IgniteOptimizedMarshallable.*;
-
-/**
- * Miscellaneous utility methods to facilitate {@link IgniteOptimizedMarshaller}.
- */
-class GridOptimizedMarshallerUtils {
- /** Unsafe. */
- private static final Unsafe UNSAFE = GridUnsafe.unsafe();
-
- /** {@code Null} object reference. */
- static final byte NULL = (byte)0x70;
-
- /** Handle reference. */
- static final byte HANDLE = (byte)0x71;
-
- /** Object reference. */
- static final byte OBJECT = (byte)0x72;
-
- /** UTF-8 character name. */
- static final Charset UTF_8 = Charset.forName("UTF-8");
-
- /** Class descriptors cache. */
- private static final ConcurrentMap<Class<?>, IgniteOptimizedClassDescriptor> CLS_DESC_CACHE =
- new ConcurrentHashMap8<>(256);
-
- /** Classes cache by name. */
- private static final ConcurrentHashMap8<ClassLoader, ConcurrentHashMap8<String, Class<?>>> CLS_BY_NAME_CACHE =
- new ConcurrentHashMap8<>();
-
- /**
- * Suppresses default constructor, ensuring non-instantiability.
- */
- private GridOptimizedMarshallerUtils() {
- // No-op.
- }
-
- /**
- * Gets class for given name and class loader.
- *
- * @param name Class name.
- * @param ldr Class loader.
- * @return Class.
- * @throws ClassNotFoundException If class was not found.
- */
- static Class<?> forName(String name, ClassLoader ldr) throws ClassNotFoundException {
- assert ldr != null;
- assert name != null;
-
- ConcurrentHashMap8<String, Class<?>> cache = CLS_BY_NAME_CACHE.get(ldr);
-
- Class<?> cls = null;
-
- if (cache == null) {
- cache = new ConcurrentHashMap8<>();
-
- ConcurrentHashMap8<String, Class<?>> old = CLS_BY_NAME_CACHE.putIfAbsent(ldr, cache);
-
- if (old != null) {
- cache = old;
-
- cls = cache.get(name);
- }
- }
- else
- cls = cache.get(name);
-
- if (cls == null) {
- cls = Class.forName(name, true, ldr);
-
- cache.put(name, cls);
- }
-
- return cls;
- }
-
- /**
- * Gets descriptor for provided class.
- *
- * @param cls Class.
- * @param obj Object.
- * @return Descriptor.
- * @throws IOException In case of error.
- */
- static IgniteOptimizedClassDescriptor classDescriptor(Class<?> cls, @Nullable Object obj) throws IOException {
- if (obj != null) {
- if (obj instanceof IgniteOptimizedMarshallable) {
- IgniteOptimizedMarshallable m = (IgniteOptimizedMarshallable)obj;
-
- Object clsId = m.ggClassId();
-
- if (clsId != null && !(clsId instanceof IgniteOptimizedClassDescriptor))
- throw new IOException("Method '" + obj.getClass().getName() + ".ggClassId() must return " +
- "the value of the field '" + CLS_ID_FIELD_NAME + "'.");
-
- IgniteOptimizedClassDescriptor desc = (IgniteOptimizedClassDescriptor)clsId;
-
- if (desc == null) {
- desc = new IgniteOptimizedClassDescriptor(cls);
-
- try {
- Field field = obj.getClass().getDeclaredField(CLS_ID_FIELD_NAME);
-
- field.setAccessible(true);
-
- Object o = field.get(null);
-
- if (o == null) {
- if ((field.getModifiers() & Modifier.STATIC) == 0)
- throw new IOException("Field '" + CLS_ID_FIELD_NAME + "' must be declared static: " +
- obj.getClass().getName());
-
- field.set(null, desc);
-
- if (m.ggClassId() == null)
- throw new IOException( "Method '" + obj.getClass().getName() + ".ggClassId() must " +
- "return the value of the field '" + CLS_ID_FIELD_NAME + "': "
- + obj.getClass().getName());
- }
- else if (!(o instanceof IgniteOptimizedClassDescriptor))
- throw new IOException("Field '" + CLS_ID_FIELD_NAME + "' must be declared with " +
- "null value: " + obj.getClass().getName());
- }
- catch (NoSuchFieldException e) {
- throw new IOException("GridOptimizedMarshallable classes must have static field declared " +
- "[fieldName=" + CLS_ID_FIELD_NAME + ", cls=" + obj.getClass().getName() + ']', e);
- }
- catch (IllegalAccessException e) {
- throw new IOException("Failed to set field '" + CLS_ID_FIELD_NAME + "' on '" +
- obj.getClass().getName() + "' class.", e);
- }
- }
-
- return desc;
- }
- }
-
- IgniteOptimizedClassDescriptor desc = CLS_DESC_CACHE.get(cls);
-
- if (desc == null) {
- IgniteOptimizedClassDescriptor existing = CLS_DESC_CACHE.putIfAbsent(cls,
- desc = new IgniteOptimizedClassDescriptor(cls));
-
- if (existing != null)
- desc = existing;
- }
-
- return desc;
- }
-
- /**
- * Undeployment callback.
- *
- * @param ldr Undeployed class loader.
- */
- public static void onUndeploy(ClassLoader ldr) {
- CLS_BY_NAME_CACHE.remove(ldr);
-
- for (Class<?> cls : CLS_DESC_CACHE.keySet()) {
- if (ldr.equals(cls.getClassLoader()))
- CLS_DESC_CACHE.remove(cls);
- }
- }
-
- /**
- * Intended for test purposes only.
- */
- public static void clearCache() {
- CLS_BY_NAME_CACHE.clear();
- CLS_DESC_CACHE.clear();
- }
-
- /**
- *
- */
- public static void printMemoryStats() {
- X.println(">>>");
- X.println(">>> GridOptimizedMarshallerUtils memory stats:");
- X.println(" Cache size: " + CLS_DESC_CACHE.size());
-
- for (Map.Entry<Class<?>, IgniteOptimizedClassDescriptor> e : CLS_DESC_CACHE.entrySet())
- X.println(" " + e.getKey() + " : " + e.getValue());
- }
-
- /**
- * Computes the serial version UID value for the given class.
- * The code is taken from {@link ObjectStreamClass#computeDefaultSUID(Class)}.
- *
- * @param cls A class.
- * @param fields Fields.
- * @return A serial version UID.
- * @throws IOException If failed.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- static Long computeSerialVersionUid(Class cls, List<Field> fields) throws IOException {
- if (Serializable.class.isAssignableFrom(cls) && !Enum.class.isAssignableFrom(cls))
- return ObjectStreamClass.lookup(cls).getSerialVersionUID();
-
- MessageDigest md;
-
- try {
- md = MessageDigest.getInstance("SHA");
- }
- catch (NoSuchAlgorithmException e) {
- throw new IOException("Failed to get digest for SHA.", e);
- }
-
- md.update(cls.getName().getBytes(UTF_8));
-
- if (!F.isEmpty(fields)) {
- for (int i = 0; i < fields.size(); i++) {
- Field f = fields.get(i);
-
- md.update(f.getName().getBytes(UTF_8));
- md.update(f.getType().getName().getBytes(UTF_8));
- }
- }
-
- byte[] hashBytes = md.digest();
-
- long hash = 0;
-
- // Composes a single-long hash from the byte[] hash.
- for (int i = Math.min(hashBytes.length, 8) - 1; i >= 0; i--)
- hash = (hash << 8) | (hashBytes[i] & 0xFF);
-
- return hash;
- }
-
- /**
- * Gets byte field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Byte value.
- */
- static byte getByte(Object obj, long off) {
- return UNSAFE.getByte(obj, off);
- }
-
- /**
- * Sets byte field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setByte(Object obj, long off, byte val) {
- UNSAFE.putByte(obj, off, val);
- }
-
- /**
- * Gets short field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Short value.
- */
- static short getShort(Object obj, long off) {
- return UNSAFE.getShort(obj, off);
- }
-
- /**
- * Sets short field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setShort(Object obj, long off, short val) {
- UNSAFE.putShort(obj, off, val);
- }
-
- /**
- * Gets integer field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Integer value.
- */
- static int getInt(Object obj, long off) {
- return UNSAFE.getInt(obj, off);
- }
-
- /**
- * Sets integer field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setInt(Object obj, long off, int val) {
- UNSAFE.putInt(obj, off, val);
- }
-
- /**
- * Gets long field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Long value.
- */
- static long getLong(Object obj, long off) {
- return UNSAFE.getLong(obj, off);
- }
-
- /**
- * Sets long field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setLong(Object obj, long off, long val) {
- UNSAFE.putLong(obj, off, val);
- }
-
- /**
- * Gets float field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Float value.
- */
- static float getFloat(Object obj, long off) {
- return UNSAFE.getFloat(obj, off);
- }
-
- /**
- * Sets float field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setFloat(Object obj, long off, float val) {
- UNSAFE.putFloat(obj, off, val);
- }
-
- /**
- * Gets double field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Double value.
- */
- static double getDouble(Object obj, long off) {
- return UNSAFE.getDouble(obj, off);
- }
-
- /**
- * Sets double field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setDouble(Object obj, long off, double val) {
- UNSAFE.putDouble(obj, off, val);
- }
-
- /**
- * Gets char field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Char value.
- */
- static char getChar(Object obj, long off) {
- return UNSAFE.getChar(obj, off);
- }
-
- /**
- * Sets char field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setChar(Object obj, long off, char val) {
- UNSAFE.putChar(obj, off, val);
- }
-
- /**
- * Gets boolean field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Boolean value.
- */
- static boolean getBoolean(Object obj, long off) {
- return UNSAFE.getBoolean(obj, off);
- }
-
- /**
- * Sets boolean field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setBoolean(Object obj, long off, boolean val) {
- UNSAFE.putBoolean(obj, off, val);
- }
-
- /**
- * Gets field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @return Value.
- */
- static Object getObject(Object obj, long off) {
- return UNSAFE.getObject(obj, off);
- }
-
- /**
- * Sets field value.
- *
- * @param obj Object.
- * @param off Field offset.
- * @param val Value.
- */
- static void setObject(Object obj, long off, Object val) {
- UNSAFE.putObject(obj, off, val);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectInputStream.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectInputStream.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectInputStream.java
deleted file mode 100644
index 9aae0ab..0000000
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectInputStream.java
+++ /dev/null
@@ -1,1008 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.apache.ignite.marshaller.optimized;
-
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.io.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import sun.misc.*;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.*;
-
-import static org.apache.ignite.marshaller.optimized.GridOptimizedMarshallerUtils.*;
-
-/**
- * Optimized object input stream.
- */
-class GridOptimizedObjectInputStream extends ObjectInputStream {
- /** Unsafe. */
- private static final Unsafe UNSAFE = GridUnsafe.unsafe();
-
- /** Dummy object for HashSet. */
- private static final Object DUMMY = new Object();
-
- /** */
- private final HandleTable handles = new HandleTable(10);
-
- /** */
- private ClassLoader clsLdr;
-
- /** */
- private GridDataInput in;
-
- /** */
- private Object curObj;
-
- /** */
- private List<T2<IgniteOptimizedFieldType, Long>> curFields;
-
- /** */
- private List<IgniteBiTuple<Integer, IgniteOptimizedFieldType>> curFieldInfoList;
-
- /** */
- private Map<String, IgniteBiTuple<Integer, IgniteOptimizedFieldType>> curFieldInfoMap;
-
- /** */
- private Class<?> curCls;
-
- /**
- * @param in Input.
- * @throws IOException In case of error.
- */
- GridOptimizedObjectInputStream(GridDataInput in) throws IOException {
- this.in = in;
- }
-
- /**
- * @throws IOException In case of error.
- */
- GridOptimizedObjectInputStream() throws IOException {
- // No-op.
- }
-
- /**
- * @param clsLdr Class loader.
- */
- void classLoader(ClassLoader clsLdr) {
- this.clsLdr = clsLdr;
- }
-
- /**
- * @return Class loader.
- */
- ClassLoader classLoader() {
- return clsLdr;
- }
-
- /**
- * @return Input.
- */
- public GridDataInput in() {
- return in;
- }
-
- /**
- * @param in Input.
- */
- public void in(GridDataInput in) {
- this.in = in;
- }
-
- /** {@inheritDoc} */
- @Override public void close() throws IOException {
- reset();
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
- @Override public void reset() throws IOException {
- in.reset();
- handles.clear();
-
- curObj = null;
- curFields = null;
- curFieldInfoList = null;
- curFieldInfoMap = null;
- }
-
- /** {@inheritDoc} */
- @Override public Object readObjectOverride() throws ClassNotFoundException, IOException {
- curObj = null;
- curFields = null;
- curFieldInfoList = null;
- curFieldInfoMap = null;
-
- byte ref = in.readByte();
-
- switch (ref) {
- case NULL:
- return null;
-
- case HANDLE:
- return handles.lookup(readInt());
-
- case OBJECT:
- IgniteOptimizedClassDescriptor desc = IgniteOptimizedClassResolver.readClass(this, clsLdr);
-
- curCls = desc.describedClass();
-
- return desc.read(this);
-
- default:
- SB msg = new SB("Unexpected error occurred during unmarshalling");
-
- if (curCls != null)
- msg.a(" of an instance of the class: ").a(curCls.getName());
-
- msg.a(". Check that all nodes are running the same version of GridGain and that all nodes have " +
- "GridOptimizedMarshaller configured with identical optimized classes lists, if any " +
- "(see setClassNames and setClassNamesPath methods). If your serialized classes implement " +
- "java.io.Externalizable interface, verify that serialization logic is correct.");
-
- throw new IOException(msg.toString());
- }
- }
-
- /**
- * Reads array from this stream.
- *
- * @param compType Array component type.
- * @return Array.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- <T> T[] readArray(Class<T> compType) throws ClassNotFoundException, IOException {
- int len = in.readInt();
-
- T[] arr = (T[])Array.newInstance(compType, len);
-
- handles.assign(arr);
-
- for (int i = 0; i < len; i++)
- arr[i] = (T)readObject();
-
- return arr;
- }
-
- /**
- * Reads {@link UUID} from this stream.
- *
- * @return UUID.
- * @throws IOException In case of error.
- */
- UUID readUuid() throws IOException {
- UUID uuid = new UUID(readLong(), readLong());
-
- handles.assign(uuid);
-
- return uuid;
- }
-
- /**
- * Reads {@link Properties} from this stream.
- *
- * @return Properties.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- Properties readProperties() throws ClassNotFoundException, IOException {
- Properties dflts = readBoolean() ? null : (Properties)readObject();
-
- Properties props = new Properties(dflts);
-
- int size = in.readInt();
-
- for (int i = 0; i < size; i++)
- props.setProperty(readUTF(), readUTF());
-
- handles.assign(props);
-
- return props;
- }
-
- /**
- * Reads and sets all non-static and non-transient field values from this stream.
- *
- * @param obj Object.
- * @param fieldOffs Field offsets.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- void readFields(Object obj, List<T2<IgniteOptimizedFieldType, Long>> fieldOffs) throws ClassNotFoundException,
- IOException {
- for (int i = 0; i < fieldOffs.size(); i++) {
- T2<IgniteOptimizedFieldType, Long> t = fieldOffs.get(i);
-
- switch ((t.get1())) {
- case BYTE:
- setByte(obj, t.get2(), readByte());
-
- break;
-
- case SHORT:
- setShort(obj, t.get2(), readShort());
-
- break;
-
- case INT:
- setInt(obj, t.get2(), readInt());
-
- break;
-
- case LONG:
- setLong(obj, t.get2(), readLong());
-
- break;
-
- case FLOAT:
- setFloat(obj, t.get2(), readFloat());
-
- break;
-
- case DOUBLE:
- setDouble(obj, t.get2(), readDouble());
-
- break;
-
- case CHAR:
- setChar(obj, t.get2(), readChar());
-
- break;
-
- case BOOLEAN:
- setBoolean(obj, t.get2(), readBoolean());
-
- break;
-
- case OTHER:
- setObject(obj, t.get2(), readObject());
- }
- }
- }
-
- /**
- * Reads {@link Externalizable} object.
- *
- * @param constructor Constructor.
- * @param readResolveMtd {@code readResolve} method.
- * @return Object.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- Object readExternalizable(Constructor<?> constructor, Method readResolveMtd)
- throws ClassNotFoundException, IOException {
- Object obj;
-
- try {
- obj = constructor.newInstance();
- }
- catch (InstantiationException | InvocationTargetException | IllegalAccessException e) {
- throw new IOException(e);
- }
-
- int handle = handles.assign(obj);
-
- Externalizable extObj = ((Externalizable)obj);
-
- extObj.readExternal(this);
-
- if (readResolveMtd != null) {
- try {
- obj = readResolveMtd.invoke(obj);
-
- handles.set(handle, obj);
- }
- catch (IllegalAccessException | InvocationTargetException e) {
- throw new IOException(e);
- }
- }
-
- return obj;
- }
-
- /**
- * Reads serializable object.
- *
- * @param cls Class.
- * @param mtds {@code readObject} methods.
- * @param readResolveMtd {@code readResolve} method.
- * @param fields class fields details.
- * @return Object.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- Object readSerializable(Class<?> cls, List<Method> mtds, Method readResolveMtd,
- IgniteOptimizedClassDescriptor.Fields fields) throws ClassNotFoundException, IOException {
- Object obj;
-
- try {
- obj = UNSAFE.allocateInstance(cls);
- }
- catch (InstantiationException e) {
- throw new IOException(e);
- }
-
- int handle = handles.assign(obj);
-
- for (int i = 0; i < mtds.size(); i++) {
- Method mtd = mtds.get(i);
-
- if (mtd != null) {
- curObj = obj;
- curFields = fields.fieldOffs(i);
- curFieldInfoList = fields.fieldInfoList(i);
- curFieldInfoMap = fields.fieldInfoMap(i);
-
- try {
- mtd.invoke(obj, this);
- }
- catch (IllegalAccessException | InvocationTargetException e) {
- throw new IOException(e);
- }
- }
- else
- readFields(obj, fields.fieldOffs(i));
- }
-
- if (readResolveMtd != null) {
- try {
- obj = readResolveMtd.invoke(obj);
-
- handles.set(handle, obj);
- }
- catch (IllegalAccessException | InvocationTargetException e) {
- throw new IOException(e);
- }
- }
-
- return obj;
- }
-
- /**
- * Reads {@link ArrayList}.
- *
- * @return List.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- ArrayList<?> readArrayList() throws ClassNotFoundException, IOException {
- int size = readInt();
-
- ArrayList<Object> list = new ArrayList<>(size);
-
- handles.assign(list);
-
- for (int i = 0; i < size; i++)
- list.add(readObject());
-
- return list;
- }
-
- /**
- * Reads {@link HashMap}.
- *
- * @param set Whether reading underlying map from {@link HashSet}.
- * @return Map.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- HashMap<?, ?> readHashMap(boolean set) throws ClassNotFoundException, IOException {
- int size = readInt();
- float loadFactor = readFloat();
-
- HashMap<Object, Object> map = new HashMap<>(size, loadFactor);
-
- if (!set)
- handles.assign(map);
-
- for (int i = 0; i < size; i++) {
- Object key = readObject();
- Object val = !set ? readObject() : DUMMY;
-
- map.put(key, val);
- }
-
- return map;
- }
-
- /**
- * Reads {@link HashSet}.
- *
- * @param mapFieldOff Map field offset.
- * @return Set.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- HashSet<?> readHashSet(long mapFieldOff) throws ClassNotFoundException, IOException {
- try {
- HashSet<Object> set = (HashSet<Object>)UNSAFE.allocateInstance(HashSet.class);
-
- handles.assign(set);
-
- setObject(set, mapFieldOff, readHashMap(true));
-
- return set;
- }
- catch (InstantiationException e) {
- throw new IOException(e);
- }
- }
-
- /**
- * Reads {@link LinkedList}.
- *
- * @return List.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- LinkedList<?> readLinkedList() throws ClassNotFoundException, IOException {
- int size = readInt();
-
- LinkedList<Object> list = new LinkedList<>();
-
- handles.assign(list);
-
- for (int i = 0; i < size; i++)
- list.add(readObject());
-
- return list;
- }
-
- /**
- * Reads {@link LinkedHashMap}.
- *
- * @param set Whether reading underlying map from {@link LinkedHashSet}.
- * @return Map.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- LinkedHashMap<?, ?> readLinkedHashMap(boolean set) throws ClassNotFoundException, IOException {
- int size = readInt();
- float loadFactor = readFloat();
- boolean accessOrder = readBoolean();
-
- LinkedHashMap<Object, Object> map = new LinkedHashMap<>(size, loadFactor, accessOrder);
-
- if (!set)
- handles.assign(map);
-
- for (int i = 0; i < size; i++) {
- Object key = readObject();
- Object val = !set ? readObject() : DUMMY;
-
- map.put(key, val);
- }
-
- return map;
- }
-
- /**
- * Reads {@link LinkedHashSet}.
- *
- * @param mapFieldOff Map field offset.
- * @return Set.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- LinkedHashSet<?> readLinkedHashSet(long mapFieldOff) throws ClassNotFoundException, IOException {
- try {
- LinkedHashSet<Object> set = (LinkedHashSet<Object>)UNSAFE.allocateInstance(LinkedHashSet.class);
-
- handles.assign(set);
-
- setObject(set, mapFieldOff, readLinkedHashMap(true));
-
- return set;
- }
- catch (InstantiationException e) {
- throw new IOException(e);
- }
- }
-
- /**
- * Reads {@link Date}.
- *
- * @return Date.
- * @throws ClassNotFoundException If class not found.
- * @throws IOException In case of error.
- */
- Date readDate() throws ClassNotFoundException, IOException {
- Date date = new Date(readLong());
-
- handles.assign(date);
-
- return date;
- }
-
- /**
- * Reads array of {@code byte}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- byte[] readByteArray() throws IOException {
- byte[] arr = in.readByteArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code short}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- short[] readShortArray() throws IOException {
- short[] arr = in.readShortArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code int}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- int[] readIntArray() throws IOException {
- int[] arr = in.readIntArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code long}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- long[] readLongArray() throws IOException {
- long[] arr = in.readLongArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code float}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- float[] readFloatArray() throws IOException {
- float[] arr = in.readFloatArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code double}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- double[] readDoubleArray() throws IOException {
- double[] arr = in.readDoubleArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code char}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- char[] readCharArray() throws IOException {
- char[] arr = in.readCharArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads array of {@code boolean}s.
- *
- * @return Array.
- * @throws IOException In case of error.
- */
- boolean[] readBooleanArray() throws IOException {
- boolean[] arr = in.readBooleanArray();
-
- handles.assign(arr);
-
- return arr;
- }
-
- /**
- * Reads {@link String}.
- *
- * @return String.
- * @throws IOException In case of error.
- */
- public String readString() throws IOException {
- String str = in.readUTF();
-
- handles.assign(str);
-
- return str;
- }
-
- /** {@inheritDoc} */
- @Override public void readFully(byte[] b) throws IOException {
- in.readFully(b);
- }
-
- /** {@inheritDoc} */
- @Override public void readFully(byte[] b, int off, int len) throws IOException {
- in.readFully(b, off, len);
- }
-
- /** {@inheritDoc} */
- @Override public int skipBytes(int n) throws IOException {
- return in.skipBytes(n);
- }
-
- /** {@inheritDoc} */
- @Override public boolean readBoolean() throws IOException {
- return in.readBoolean();
- }
-
- /** {@inheritDoc} */
- @Override public byte readByte() throws IOException {
- return in.readByte();
- }
-
- /** {@inheritDoc} */
- @Override public int readUnsignedByte() throws IOException {
- return in.readUnsignedByte();
- }
-
- /** {@inheritDoc} */
- @Override public short readShort() throws IOException {
- return in.readShort();
- }
-
- /** {@inheritDoc} */
- @Override public int readUnsignedShort() throws IOException {
- return in.readUnsignedShort();
- }
-
- /** {@inheritDoc} */
- @Override public char readChar() throws IOException {
- return in.readChar();
- }
-
- /** {@inheritDoc} */
- @Override public int readInt() throws IOException {
- return in.readInt();
- }
-
- /** {@inheritDoc} */
- @Override public long readLong() throws IOException {
- return in.readLong();
- }
-
- /** {@inheritDoc} */
- @Override public float readFloat() throws IOException {
- return in.readFloat();
- }
-
- /** {@inheritDoc} */
- @Override public double readDouble() throws IOException {
- return in.readDouble();
- }
-
- /** {@inheritDoc} */
- @Override public int read() throws IOException {
- return in.read();
- }
-
- /** {@inheritDoc} */
- @Override public int read(byte[] b) throws IOException {
- return in.read(b);
- }
-
- /** {@inheritDoc} */
- @Override public int read(byte[] b, int off, int len) throws IOException {
- return in.read(b, off, len);
- }
-
- /** {@inheritDoc} */
- @SuppressWarnings("deprecation")
- @Override public String readLine() throws IOException {
- return in.readLine();
- }
-
- /** {@inheritDoc} */
- @Override public String readUTF() throws IOException {
- return in.readUTF();
- }
-
- /** {@inheritDoc} */
- @Override public Object readUnshared() throws IOException, ClassNotFoundException {
- return readObject();
- }
-
- /** {@inheritDoc} */
- @Override public void defaultReadObject() throws IOException, ClassNotFoundException {
- if (curObj == null)
- throw new NotActiveException("Not in readObject() call.");
-
- readFields(curObj, curFields);
- }
-
- /** {@inheritDoc} */
- @Override public ObjectInputStream.GetField readFields() throws IOException, ClassNotFoundException {
- if (curObj == null)
- throw new NotActiveException("Not in readObject() call.");
-
- return new GetFieldImpl(this);
- }
-
- /** {@inheritDoc} */
- @Override public void registerValidation(ObjectInputValidation obj, int pri) {
- // No-op.
- }
-
- /** {@inheritDoc} */
- @Override public int available() throws IOException {
- return -1;
- }
-
- /**
- * Returns objects that were added to handles table.
- * Used ONLY for test purposes.
- *
- * @return Handled objects.
- */
- Object[] handledObjects() {
- return handles.entries;
- }
-
- /**
- * Lightweight identity hash table which maps objects to integer handles,
- * assigned in ascending order.
- */
- private static class HandleTable {
- /** Array mapping handle -> object/exception (depending on status). */
- private Object[] entries;
-
- /** Number of handles in table. */
- private int size;
-
- /**
- * Creates handle table with the given initial capacity.
- *
- * @param initCap Initial capacity.
- */
- HandleTable(int initCap) {
- entries = new Object[initCap];
- }
-
- /**
- * Assigns next available handle to given object, and returns assigned
- * handle.
- *
- * @param obj Object.
- * @return Handle.
- */
- int assign(Object obj) {
- if (size >= entries.length)
- grow();
-
- entries[size] = obj;
-
- return size++;
- }
-
- /**
- * Assigns new object to existing handle. Old object is forgotten.
- *
- * @param handle Handle.
- * @param obj Object.
- */
- void set(int handle, Object obj) {
- entries[handle] = obj;
- }
-
- /**
- * Looks up and returns object associated with the given handle.
- *
- * @param handle Handle.
- * @return Object.
- */
- Object lookup(int handle) {
- return entries[handle];
- }
-
- /**
- * Resets table to its initial state.
- */
- void clear() {
- Arrays.fill(entries, 0, size, null);
-
- size = 0;
- }
-
- /**
- * Expands capacity of internal arrays.
- */
- private void grow() {
- int newCap = (entries.length << 1) + 1;
-
- Object[] newEntries = new Object[newCap];
-
- System.arraycopy(entries, 0, newEntries, 0, size);
-
- entries = newEntries;
- }
- }
-
- /**
- * {@link GetField} implementation.
- */
- private static class GetFieldImpl extends GetField {
- /** Field info map. */
- private final Map<String, IgniteBiTuple<Integer, IgniteOptimizedFieldType>> fieldInfoMap;
-
- /** Values. */
- private final Object[] objs;
-
- /**
- * @param in Stream.
- * @throws IOException In case of error.
- * @throws ClassNotFoundException If class not found.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- private GetFieldImpl(GridOptimizedObjectInputStream in) throws IOException, ClassNotFoundException {
- fieldInfoMap = in.curFieldInfoMap;
-
- List<IgniteBiTuple<Integer, IgniteOptimizedFieldType>> infos = in.curFieldInfoList;
-
- objs = new Object[infos.size()];
-
- for (int i = 0; i < infos.size(); i++) {
- IgniteBiTuple<Integer, IgniteOptimizedFieldType> t = infos.get(i);
-
- Object obj = null;
-
- switch (t.get2()) {
- case BYTE:
- obj = in.readByte();
-
- break;
-
- case SHORT:
- obj = in.readShort();
-
- break;
-
- case INT:
- obj = in.readInt();
-
- break;
-
- case LONG:
- obj = in.readLong();
-
- break;
-
- case FLOAT:
- obj = in.readFloat();
-
- break;
-
- case DOUBLE:
- obj = in.readDouble();
-
- break;
-
- case CHAR:
- obj = in.readChar();
-
- break;
-
- case BOOLEAN:
- obj = in.readBoolean();
-
- break;
-
- case OTHER:
- obj = in.readObject();
- }
-
- objs[t.get1()] = obj;
- }
- }
-
- /** {@inheritDoc} */
- @Override public ObjectStreamClass getObjectStreamClass() {
- throw new UnsupportedOperationException();
- }
-
- /** {@inheritDoc} */
- @Override public boolean defaulted(String name) throws IOException {
- return objs[fieldInfoMap.get(name).get1()] == null;
- }
-
- /** {@inheritDoc} */
- @Override public boolean get(String name, boolean dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public byte get(String name, byte dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public char get(String name, char dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public short get(String name, short dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public int get(String name, int dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public long get(String name, long dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public float get(String name, float dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public double get(String name, double dflt) throws IOException {
- return value(name, dflt);
- }
-
- /** {@inheritDoc} */
- @Override public Object get(String name, Object dflt) throws IOException {
- return value(name, dflt);
- }
-
- /**
- * @param name Field name.
- * @param dflt Default value.
- * @return Value.
- */
- private <T> T value(String name, T dflt) {
- return objs[fieldInfoMap.get(name).get1()] != null ? (T)objs[fieldInfoMap.get(name).get1()] : dflt;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectOutputStream.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectOutputStream.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectOutputStream.java
deleted file mode 100644
index bd78c36..0000000
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectOutputStream.java
+++ /dev/null
@@ -1,831 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.apache.ignite.marshaller.optimized;
-
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.io.*;
-import org.gridgain.grid.util.typedef.*;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.*;
-
-import static org.apache.ignite.marshaller.optimized.GridOptimizedMarshallerUtils.*;
-
-/**
- * Optimized object output stream.
- */
-class GridOptimizedObjectOutputStream extends ObjectOutputStream {
- /** */
- private static final Collection<String> CONVERTED_ERR = F.asList(
- "weblogic/management/ManagementException",
- "Externalizable class doesn't have default constructor: class " +
- "org.gridgain.grid.kernal.processors.email.GridEmailProcessor$2"
- );
-
- /** */
- private final GridHandleTable handles = new GridHandleTable(10, 3.00f);
-
- /** */
- private boolean requireSer;
-
- /** */
- private GridDataOutput out;
-
- /** */
- private Object curObj;
-
- /** */
- private List<T2<IgniteOptimizedFieldType, Long>> curFields;
-
- /** */
- private Map<String, IgniteBiTuple<Integer, IgniteOptimizedFieldType>> curFieldInfoMap;
-
- /** */
- private PutFieldImpl curPut;
-
-
- /**
- * @throws IOException In case of error.
- */
- GridOptimizedObjectOutputStream() throws IOException {
- // No-op.
- }
-
- /**
- * @param out Output.
- * @throws IOException In case of error.
- */
- GridOptimizedObjectOutputStream(GridDataOutput out) throws IOException {
- this.out = out;
- }
-
- /**
- * @param requireSer Require {@link Serializable} flag.
- */
- void requireSerializable(boolean requireSer) {
- this.requireSer = requireSer;
- }
-
- /**
- * @return Require {@link Serializable} flag.
- */
- boolean requireSerializable() {
- return requireSer;
- }
-
- /**
- * @param out Output.
- */
- public void out(GridDataOutput out) {
- this.out = out;
- }
-
- /**
- * @return Output.
- */
- public GridDataOutput out() {
- return out;
- }
-
- /** {@inheritDoc} */
- @Override public void close() throws IOException {
- reset();
- }
-
- /** {@inheritDoc} */
- @Override public void write(byte[] b) throws IOException {
- out.write(b);
- }
-
- /** {@inheritDoc} */
- @Override public void write(byte[] b, int off, int len) throws IOException {
- out.write(b, off, len);
- }
-
- /** {@inheritDoc} */
- @Override protected void writeObjectOverride(Object obj) throws IOException {
- try {
- writeObject0(obj);
- }
- catch (IOException e) {
- Throwable t = e;
-
- do {
- if (CONVERTED_ERR.contains(t.getMessage()))
- throw new IOException("You are trying to serialize internal classes that are not supposed " +
- "to be serialized. Check that all non-serializable fields are transient. Consider using " +
- "static inner classes instead of non-static inner classes and anonymous classes.", e);
- }
- while ((t = t.getCause()) != null);
-
- throw e;
- }
- }
-
- /**
- * Writes object to stream.
- *
- * @param obj Object.
- * @throws IOException In case of error.
- */
- private void writeObject0(Object obj) throws IOException {
- curObj = null;
- curFields = null;
- curPut = null;
- curFieldInfoMap = null;
-
- if (obj == null)
- writeByte(NULL);
- else {
- Class<?> cls = obj.getClass();
-
- IgniteOptimizedClassDescriptor desc = classDescriptor(cls, obj);
-
- if (desc.excluded()) {
- writeByte(NULL);
-
- return;
- }
-
- Object obj0 = desc.replace(obj);
-
- if (obj0 == null) {
- writeByte(NULL);
-
- return;
- }
-
- int handle = -1;
-
- if (!desc.isPrimitive() && !desc.isEnum() && !desc.isClass())
- handle = handles.lookup(obj);
-
- if (obj0 != obj) {
- obj = obj0;
-
- desc = classDescriptor(obj.getClass(), obj);
- }
-
- if (handle >= 0) {
- writeByte(HANDLE);
- writeInt(handle);
- }
- else {
- writeByte(OBJECT);
-
- IgniteOptimizedClassResolver.writeClass(this, desc);
-
- desc.write(this, obj);
- }
- }
- }
-
- /**
- * Writes array to this stream.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- void writeArray(Object[] arr) throws IOException {
- int len = arr.length;
-
- writeInt(len);
-
- for (int i = 0; i < len; i++) {
- Object obj = arr[i];
-
- writeObject0(obj);
- }
- }
-
- /**
- * Writes {@link UUID} to this stream.
- *
- * @param uuid UUID.
- * @throws IOException In case of error.
- */
- void writeUuid(UUID uuid) throws IOException {
- writeLong(uuid.getMostSignificantBits());
- writeLong(uuid.getLeastSignificantBits());
- }
-
- /**
- * Writes {@link Properties} to this stream.
- *
- * @param props Properties.
- * @param dfltsFieldOff Defaults field offset.
- * @throws IOException In case of error.
- */
- void writeProperties(Properties props, long dfltsFieldOff) throws IOException {
- Properties dflts = (Properties)getObject(props, dfltsFieldOff);
-
- if (dflts == null)
- writeBoolean(true);
- else {
- writeBoolean(false);
-
- writeObject0(dflts);
- }
-
- Set<String> names = props.stringPropertyNames();
-
- writeInt(names.size());
-
- for (String name : names) {
- writeUTF(name);
- writeUTF(props.getProperty(name));
- }
- }
-
- /**
- * Writes externalizable object.
- *
- * @param obj Object.
- * @throws IOException In case of error.
- */
- void writeExternalizable(Object obj) throws IOException {
- Externalizable extObj = (Externalizable)obj;
-
- extObj.writeExternal(this);
- }
-
- /**
- * Writes serializable object.
- *
- * @param obj Object.
- * @param mtds {@code writeObject} methods.
- * @param fields class fields details.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- void writeSerializable(Object obj, List<Method> mtds, IgniteOptimizedClassDescriptor.Fields fields)
- throws IOException {
- for (int i = 0; i < mtds.size(); i++) {
- Method mtd = mtds.get(i);
-
- if (mtd != null) {
- curObj = obj;
- curFields = fields.fieldOffs(i);
- curFieldInfoMap = fields.fieldInfoMap(i);
-
- try {
- mtd.invoke(obj, this);
- }
- catch (IllegalAccessException e) {
- throw new IOException(e);
- }
- catch (InvocationTargetException e) {
- throw new IOException(e.getCause());
- }
- }
- else
- writeFields(obj, fields.fieldOffs(i));
- }
- }
-
- /**
- * Writes {@link ArrayList}.
- *
- * @param list List.
- * @throws IOException In case of error.
- */
- @SuppressWarnings({"ForLoopReplaceableByForEach", "TypeMayBeWeakened"})
- void writeArrayList(ArrayList<?> list) throws IOException {
- int size = list.size();
-
- writeInt(size);
-
- for (int i = 0; i < size; i++)
- writeObject0(list.get(i));
- }
-
- /**
- * Writes {@link HashMap}.
- *
- * @param map Map.
- * @param loadFactorFieldOff Load factor field offset.
- * @param set Whether writing underlying map from {@link HashSet}.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("TypeMayBeWeakened")
- void writeHashMap(HashMap<?, ?> map, long loadFactorFieldOff, boolean set) throws IOException {
- int size = map.size();
-
- writeInt(size);
- writeFloat(getFloat(map, loadFactorFieldOff));
-
- for (Map.Entry<?, ?> e : map.entrySet()) {
- writeObject0(e.getKey());
-
- if (!set)
- writeObject0(e.getValue());
- }
- }
-
- /**
- * Writes {@link HashSet}.
- *
- * @param set Set.
- * @param mapFieldOff Map field offset.
- * @param loadFactorFieldOff Load factor field offset.
- * @throws IOException In case of error.
- */
- void writeHashSet(HashSet<?> set, long mapFieldOff, long loadFactorFieldOff) throws IOException {
- writeHashMap((HashMap<?, ?>)getObject(set, mapFieldOff), loadFactorFieldOff, true);
- }
-
- /**
- * Writes {@link LinkedList}.
- *
- * @param list List.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("TypeMayBeWeakened")
- void writeLinkedList(LinkedList<?> list) throws IOException {
- int size = list.size();
-
- writeInt(size);
-
- for (Object obj : list)
- writeObject0(obj);
- }
-
- /**
- * Writes {@link LinkedHashMap}.
- *
- * @param map Map.
- * @param loadFactorFieldOff Load factor field offset.
- * @param accessOrderFieldOff access order field offset.
- * @param set Whether writing underlying map from {@link LinkedHashSet}.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("TypeMayBeWeakened")
- void writeLinkedHashMap(LinkedHashMap<?, ?> map, long loadFactorFieldOff, long accessOrderFieldOff, boolean set)
- throws IOException {
- int size = map.size();
-
- writeInt(size);
- writeFloat(getFloat(map, loadFactorFieldOff));
-
- if (accessOrderFieldOff >= 0)
- writeBoolean(getBoolean(map, accessOrderFieldOff));
- else
- writeBoolean(false);
-
- for (Map.Entry<?, ?> e : map.entrySet()) {
- writeObject0(e.getKey());
-
- if (!set)
- writeObject0(e.getValue());
- }
- }
-
- /**
- * Writes {@link LinkedHashSet}.
- *
- * @param set Set.
- * @param mapFieldOff Map field offset.
- * @param loadFactorFieldOff Load factor field offset.
- * @throws IOException In case of error.
- */
- void writeLinkedHashSet(LinkedHashSet<?> set, long mapFieldOff, long loadFactorFieldOff) throws IOException {
- LinkedHashMap<?, ?> map = (LinkedHashMap<?, ?>)getObject(set, mapFieldOff);
-
- writeLinkedHashMap(map, loadFactorFieldOff, -1, true);
- }
-
- /**
- * Writes {@link Date}.
- *
- * @param date Date.
- * @throws IOException In case of error.
- */
- void writeDate(Date date) throws IOException {
- writeLong(date.getTime());
- }
-
- /**
- * Writes all non-static and non-transient field values to this stream.
- *
- * @param obj Object.
- * @param fieldOffs Field offsets.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("ForLoopReplaceableByForEach")
- private void writeFields(Object obj, List<T2<IgniteOptimizedFieldType, Long>> fieldOffs) throws IOException {
- for (int i = 0; i < fieldOffs.size(); i++) {
- T2<IgniteOptimizedFieldType, Long> t = fieldOffs.get(i);
-
- switch (t.get1()) {
- case BYTE:
- writeByte(getByte(obj, t.get2()));
-
- break;
-
- case SHORT:
- writeShort(getShort(obj, t.get2()));
-
- break;
-
- case INT:
- writeInt(getInt(obj, t.get2()));
-
- break;
-
- case LONG:
- writeLong(getLong(obj, t.get2()));
-
- break;
-
- case FLOAT:
- writeFloat(getFloat(obj, t.get2()));
-
- break;
-
- case DOUBLE:
- writeDouble(getDouble(obj, t.get2()));
-
- break;
-
- case CHAR:
- writeChar(getChar(obj, t.get2()));
-
- break;
-
- case BOOLEAN:
- writeBoolean(getBoolean(obj, t.get2()));
-
- break;
-
- case OTHER:
- writeObject0(getObject(obj, t.get2()));
- }
- }
- }
-
- /**
- * Writes array of {@code byte}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeByteArray(byte[] arr) throws IOException {
- out.writeByteArray(arr);
- }
-
- /**
- * Writes array of {@code short}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeShortArray(short[] arr) throws IOException {
- out.writeShortArray(arr);
- }
-
- /**
- * Writes array of {@code int}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeIntArray(int[] arr) throws IOException {
- out.writeIntArray(arr);
- }
-
- /**
- * Writes array of {@code long}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeLongArray(long[] arr) throws IOException {
- out.writeLongArray(arr);
- }
-
- /**
- * Writes array of {@code float}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeFloatArray(float[] arr) throws IOException {
- out.writeFloatArray(arr);
- }
-
- /**
- * Writes array of {@code double}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeDoubleArray(double[] arr) throws IOException {
- out.writeDoubleArray(arr);
- }
-
- /**
- * Writes array of {@code char}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeCharArray(char[] arr) throws IOException {
- out.writeCharArray(arr);
- }
-
- /**
- * Writes array of {@code boolean}s.
- *
- * @param arr Array.
- * @throws IOException In case of error.
- */
- void writeBooleanArray(boolean[] arr) throws IOException {
- out.writeBooleanArray(arr);
- }
-
- /**
- * Writes {@link String}.
- *
- * @param str String.
- * @throws IOException In case of error.
- */
- void writeString(String str) throws IOException {
- out.writeUTF(str);
- }
-
- /** {@inheritDoc} */
- @Override public void writeBoolean(boolean v) throws IOException {
- out.writeBoolean(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeByte(int v) throws IOException {
- out.writeByte(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeShort(int v) throws IOException {
- out.writeShort(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeChar(int v) throws IOException {
- out.writeChar(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeInt(int v) throws IOException {
- out.writeInt(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeLong(long v) throws IOException {
- out.writeLong(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeFloat(float v) throws IOException {
- out.writeFloat(v);
- }
-
- /** {@inheritDoc} */
- @Override public void writeDouble(double v) throws IOException {
- out.writeDouble(v);
- }
-
- /** {@inheritDoc} */
- @Override public void write(int b) throws IOException {
- writeByte(b);
- }
-
- /** {@inheritDoc} */
- @Override public void writeBytes(String s) throws IOException {
- out.writeBytes(s);
- }
-
- /** {@inheritDoc} */
- @Override public void writeChars(String s) throws IOException {
- out.writeChars(s);
- }
-
- /** {@inheritDoc} */
- @Override public void writeUTF(String s) throws IOException {
- out.writeUTF(s);
- }
-
- /** {@inheritDoc} */
- @Override public void useProtocolVersion(int ver) throws IOException {
- // No-op.
- }
-
- /** {@inheritDoc} */
- @Override public void writeUnshared(Object obj) throws IOException {
- writeObject0(obj);
- }
-
- /** {@inheritDoc} */
- @Override public void defaultWriteObject() throws IOException {
- if (curObj == null)
- throw new NotActiveException("Not in writeObject() call.");
-
- writeFields(curObj, curFields);
- }
-
- /** {@inheritDoc} */
- @Override public ObjectOutputStream.PutField putFields() throws IOException {
- if (curObj == null)
- throw new NotActiveException("Not in writeObject() call or fields already written.");
-
- if (curPut == null)
- curPut = new PutFieldImpl(this);
-
- return curPut;
- }
-
- /** {@inheritDoc} */
- @Override public void writeFields() throws IOException {
- if (curObj == null)
- throw new NotActiveException("Not in writeObject() call.");
-
- if (curPut == null)
- throw new NotActiveException("putFields() was not called.");
-
- for (IgniteBiTuple<IgniteOptimizedFieldType, Object> t : curPut.objs) {
- switch (t.get1()) {
- case BYTE:
- writeByte((Byte)t.get2());
-
- break;
-
- case SHORT:
- writeShort((Short)t.get2());
-
- break;
-
- case INT:
- writeInt((Integer)t.get2());
-
- break;
-
- case LONG:
- writeLong((Long)t.get2());
-
- break;
-
- case FLOAT:
- writeFloat((Float)t.get2());
-
- break;
-
- case DOUBLE:
- writeDouble((Double)t.get2());
-
- break;
-
- case CHAR:
- writeChar((Character)t.get2());
-
- break;
-
- case BOOLEAN:
- writeBoolean((Boolean)t.get2());
-
- break;
-
- case OTHER:
- writeObject0(t.get2());
- }
- }
- }
-
- /** {@inheritDoc} */
- @Override public void reset() throws IOException {
- out.reset();
- handles.clear();
-
- curObj = null;
- curFields = null;
- curPut = null;
- curFieldInfoMap = null;
- }
-
- /** {@inheritDoc} */
- @Override public void flush() throws IOException {
- // No-op.
- }
-
- /** {@inheritDoc} */
- @Override public void drain() throws IOException {
- // No-op.
- }
-
- /**
- * Returns objects that were added to handles table.
- * Used ONLY for test purposes.
- *
- * @return Handled objects.
- */
- Object[] handledObjects() {
- return handles.objects();
- }
-
- /**
- * {@link PutField} implementation.
- */
- private static class PutFieldImpl extends PutField {
- /** Stream. */
- private final GridOptimizedObjectOutputStream out;
-
- /** Field info map. */
- private final Map<String, IgniteBiTuple<Integer, IgniteOptimizedFieldType>> fieldInfoMap;
-
- /** Values. */
- private final IgniteBiTuple<IgniteOptimizedFieldType, Object>[] objs;
-
- /**
- * @param out Output stream.
- * @throws IOException In case of error.
- */
- @SuppressWarnings("unchecked")
- private PutFieldImpl(GridOptimizedObjectOutputStream out) {
- this.out = out;
-
- fieldInfoMap = out.curFieldInfoMap;
-
- objs = new IgniteBiTuple[fieldInfoMap.size()];
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, boolean val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, byte val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, char val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, short val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, int val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, long val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, float val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, double val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void put(String name, Object val) {
- value(name, val);
- }
-
- /** {@inheritDoc} */
- @Override public void write(ObjectOutput out) throws IOException {
- if (out != this.out)
- throw new IllegalArgumentException("Wrong stream.");
-
- this.out.writeFields();
- }
-
- /**
- * @param name Field name.
- * @param val Value.
- */
- private void value(String name, Object val) {
- IgniteBiTuple<Integer, IgniteOptimizedFieldType> info = fieldInfoMap.get(name);
-
- objs[info.get1()] = F.t(info.get2(), val);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectStreamRegistry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectStreamRegistry.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectStreamRegistry.java
deleted file mode 100644
index bc7a586..0000000
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/GridOptimizedObjectStreamRegistry.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/* @java.file.header */
-
-/* _________ _____ __________________ _____
- * __ ____/___________(_)______ /__ ____/______ ____(_)_______
- * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \
- * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / /
- * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/
- */
-
-package org.apache.ignite.marshaller.optimized;
-
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.grid.util.io.*;
-
-import java.io.*;
-import java.util.concurrent.*;
-
-/**
- * Storage for object streams.
- */
-class GridOptimizedObjectStreamRegistry {
- /** Holders. */
- private static final ThreadLocal<StreamHolder> holders = new ThreadLocal<>();
-
- /** Holders pool. */
- private static BlockingQueue<StreamHolder> pool;
-
- /**
- * Ensures singleton.
- */
- private GridOptimizedObjectStreamRegistry() {
- // No-op.
- }
-
- /**
- * Sets streams pool size.
- *
- * @param size Streams pool size.
- */
- static void poolSize(int size) {
- if (size > 0) {
- pool = new LinkedBlockingQueue<>(size);
-
- for (int i = 0; i < size; i++) {
- boolean b = pool.offer(new StreamHolder());
-
- assert b;
- }
- }
- else
- pool = null;
- }
-
- /**
- * Gets output stream.
- *
- * @return Object output stream.
- * @throws GridInterruptedException If thread is interrupted while trying to take holder from pool.
- */
- static GridOptimizedObjectOutputStream out() throws GridInterruptedException {
- return holder().acquireOut();
- }
-
- /**
- * Gets input stream.
- *
- * @return Object input stream.
- * @throws GridInterruptedException If thread is interrupted while trying to take holder from pool.
- */
- static GridOptimizedObjectInputStream in() throws GridInterruptedException {
- return holder().acquireIn();
- }
-
- /**
- * Closes and releases output stream.
- *
- * @param out Object output stream.
- */
- static void closeOut(GridOptimizedObjectOutputStream out) {
- U.close(out, null);
-
- StreamHolder holder = holders.get();
-
- holder.releaseOut();
-
- if (pool != null) {
- holders.remove();
-
- boolean b = pool.offer(holder);
-
- assert b;
- }
- }
-
- /**
- * Closes and releases input stream.
- *
- * @param in Object input stream.
- */
- @SuppressWarnings("TypeMayBeWeakened")
- static void closeIn(GridOptimizedObjectInputStream in) {
- U.close(in, null);
-
- StreamHolder holder = holders.get();
-
- holder.releaseIn();
-
- if (pool != null) {
- holders.remove();
-
- boolean b = pool.offer(holder);
-
- assert b;
- }
- }
-
- /**
- * Gets holder from pool or thread local.
- *
- * @return Stream holder.
- * @throws GridInterruptedException If thread is interrupted while trying to take holder from pool.
- */
- private static StreamHolder holder() throws GridInterruptedException {
- StreamHolder holder = holders.get();
-
- if (holder == null) {
- try {
- holders.set(holder = pool != null ? pool.take() : new StreamHolder());
- }
- catch (InterruptedException e) {
- throw new GridInterruptedException("Failed to take object stream from pool (thread interrupted).", e);
- }
- }
-
- return holder;
- }
-
- /**
- * Streams holder.
- */
- private static class StreamHolder {
- /** Output stream. */
- private final GridOptimizedObjectOutputStream out = createOut();
-
- /** Input stream. */
- private final GridOptimizedObjectInputStream in = createIn();
-
- /** Output streams counter. */
- private int outAcquireCnt;
-
- /** Input streams counter. */
- private int inAcquireCnt;
-
- /**
- * Gets output stream.
- *
- * @return Object output stream.
- */
- GridOptimizedObjectOutputStream acquireOut() {
- return outAcquireCnt++ > 0 ? createOut() : out;
- }
-
- /**
- * Gets input stream.
- *
- * @return Object input stream.
- */
- GridOptimizedObjectInputStream acquireIn() {
- return inAcquireCnt++ > 0 ? createIn() : in;
- }
-
- /**
- * Releases output stream.
- */
- void releaseOut() {
- outAcquireCnt--;
- }
-
- /**
- * Releases input stream.
- */
- void releaseIn() {
- inAcquireCnt--;
- }
-
- /**
- * Creates output stream.
- *
- * @return Object output stream.
- */
- private GridOptimizedObjectOutputStream createOut() {
- try {
- return new GridOptimizedObjectOutputStream(new GridUnsafeDataOutput(4 * 1024));
- }
- catch (IOException e) {
- throw new GridRuntimeException("Failed to create object output stream.", e);
- }
- }
-
- /**
- * Creates input stream.
- *
- * @return Object input stream.
- */
- private GridOptimizedObjectInputStream createIn() {
- try {
- return new GridOptimizedObjectInputStream(new GridUnsafeDataInput());
- }
- catch (IOException e) {
- throw new GridRuntimeException("Failed to create object input stream.", e);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassDescriptor.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassDescriptor.java
index eafa113..e68d8cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassDescriptor.java
@@ -550,7 +550,7 @@ class IgniteOptimizedClassDescriptor {
}
}
- shortId = GridOptimizedMarshallerUtils.computeSerialVersionUid(cls, fields != null ? fields.ownFields() : null).shortValue();
+ shortId = IgniteOptimizedMarshallerUtils.computeSerialVersionUid(cls, fields != null ? fields.ownFields() : null).shortValue();
}
/**
@@ -651,7 +651,7 @@ class IgniteOptimizedClassDescriptor {
* @throws IOException In case of error.
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
- void write(GridOptimizedObjectOutputStream out, Object obj) throws IOException {
+ void write(IgniteOptimizedObjectOutputStream out, Object obj) throws IOException {
switch (type) {
case TYPE_BYTE:
out.writeByte((Byte)obj);
@@ -794,7 +794,7 @@ class IgniteOptimizedClassDescriptor {
break;
case TYPE_CLS:
- IgniteOptimizedClassResolver.writeClass(out, GridOptimizedMarshallerUtils.classDescriptor((Class<?>) obj, obj));
+ IgniteOptimizedClassResolver.writeClass(out, IgniteOptimizedMarshallerUtils.classDescriptor((Class<?>) obj, obj));
break;
@@ -826,7 +826,7 @@ class IgniteOptimizedClassDescriptor {
* @throws ClassNotFoundException If class not found.
* @throws IOException In case of error.
*/
- Object read(GridOptimizedObjectInputStream in) throws ClassNotFoundException, IOException {
+ Object read(IgniteOptimizedObjectInputStream in) throws ClassNotFoundException, IOException {
switch (type) {
case TYPE_BYTE:
return in.readByte();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassResolver.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassResolver.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassResolver.java
index eb01ff4..beb172b 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedClassResolver.java
@@ -175,7 +175,7 @@ class IgniteOptimizedClassResolver {
BufferedReader reader = new BufferedReader(new InputStreamReader(
IgniteOptimizedClassResolver.class.getResourceAsStream(FILE_NAME),
- GridOptimizedMarshallerUtils.UTF_8));
+ IgniteOptimizedMarshallerUtils.UTF_8));
List<T3<String, Class<?>, IgniteOptimizedClassDescriptor>> ggId2name0 =
new LinkedList<>();
@@ -238,7 +238,7 @@ class IgniteOptimizedClassResolver {
IgniteOptimizedClassDescriptor desc = ggxT.get2();
if (desc == null) {
- desc = GridOptimizedMarshallerUtils.classDescriptor(ggxT.get1(), null);
+ desc = IgniteOptimizedMarshallerUtils.classDescriptor(ggxT.get1(), null);
ggxT.set2(desc);
}
@@ -276,14 +276,14 @@ class IgniteOptimizedClassResolver {
ggT.set2(cls);
}
- desc = GridOptimizedMarshallerUtils.classDescriptor(cls, null);
+ desc = IgniteOptimizedMarshallerUtils.classDescriptor(cls, null);
ggT.set3(desc);
}
else {
cls = forName(name, clsLdr);
- desc = GridOptimizedMarshallerUtils.classDescriptor(cls, null);
+ desc = IgniteOptimizedMarshallerUtils.classDescriptor(cls, null);
}
}
@@ -317,7 +317,7 @@ class IgniteOptimizedClassResolver {
usrT.set2(cls);
}
- desc = GridOptimizedMarshallerUtils.classDescriptor(cls, null);
+ desc = IgniteOptimizedMarshallerUtils.classDescriptor(cls, null);
usrT.set3(desc);
}
@@ -331,14 +331,14 @@ class IgniteOptimizedClassResolver {
cls = forName(name, clsLdr);
- return GridOptimizedMarshallerUtils.classDescriptor(cls, null);
+ return IgniteOptimizedMarshallerUtils.classDescriptor(cls, null);
case HEADER_NAME:
name = in.readUTF();
cls = forName(name, clsLdr);
- desc = GridOptimizedMarshallerUtils.classDescriptor(cls, null);
+ desc = IgniteOptimizedMarshallerUtils.classDescriptor(cls, null);
break;
@@ -380,7 +380,7 @@ class IgniteOptimizedClassResolver {
return;
case HEADER_ARRAY:
- writeClass(out, GridOptimizedMarshallerUtils.classDescriptor(desc.componentType(), null));
+ writeClass(out, IgniteOptimizedMarshallerUtils.classDescriptor(desc.componentType(), null));
return;
@@ -428,7 +428,7 @@ class IgniteOptimizedClassResolver {
Class<?> cls = primitive(name);
if (cls == null)
- cls = GridOptimizedMarshallerUtils.forName(name, ldr);
+ cls = IgniteOptimizedMarshallerUtils.forName(name, ldr);
return cls;
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a7c947cc/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedMarshaller.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedMarshaller.java b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedMarshaller.java
index 80d30cc..bfd186a 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedMarshaller.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedMarshaller.java
@@ -208,7 +208,7 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
try {
clsNames = new LinkedList<>();
- try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), GridOptimizedMarshallerUtils.UTF_8))) {
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), IgniteOptimizedMarshallerUtils.UTF_8))) {
String clsName;
while ((clsName = reader.readLine()) != null)
@@ -238,7 +238,7 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
* @param poolSize Streams pool size. If {@code 0}, pool is not used.
*/
public void setPoolSize(int poolSize) {
- GridOptimizedObjectStreamRegistry.poolSize(poolSize);
+ IgniteOptimizedObjectStreamRegistry.poolSize(poolSize);
}
/**
@@ -263,10 +263,10 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
@Override public void marshal(@Nullable Object obj, OutputStream out) throws GridException {
assert out != null;
- GridOptimizedObjectOutputStream objOut = null;
+ IgniteOptimizedObjectOutputStream objOut = null;
try {
- objOut = GridOptimizedObjectStreamRegistry.out();
+ objOut = IgniteOptimizedObjectStreamRegistry.out();
objOut.requireSerializable(requireSer);
@@ -278,16 +278,16 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
throw new GridException("Failed to serialize object: " + obj, e);
}
finally {
- GridOptimizedObjectStreamRegistry.closeOut(objOut);
+ IgniteOptimizedObjectStreamRegistry.closeOut(objOut);
}
}
/** {@inheritDoc} */
@Override public byte[] marshal(@Nullable Object obj) throws GridException {
- GridOptimizedObjectOutputStream objOut = null;
+ IgniteOptimizedObjectOutputStream objOut = null;
try {
- objOut = GridOptimizedObjectStreamRegistry.out();
+ objOut = IgniteOptimizedObjectStreamRegistry.out();
objOut.requireSerializable(requireSer);
@@ -299,7 +299,7 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
throw new GridException("Failed to serialize object: " + obj, e);
}
finally {
- GridOptimizedObjectStreamRegistry.closeOut(objOut);
+ IgniteOptimizedObjectStreamRegistry.closeOut(objOut);
}
}
@@ -307,10 +307,10 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
@Override public <T> T unmarshal(InputStream in, @Nullable ClassLoader clsLdr) throws GridException {
assert in != null;
- GridOptimizedObjectInputStream objIn = null;
+ IgniteOptimizedObjectInputStream objIn = null;
try {
- objIn = GridOptimizedObjectStreamRegistry.in();
+ objIn = IgniteOptimizedObjectStreamRegistry.in();
objIn.classLoader(clsLdr != null ? clsLdr : dfltClsLdr);
@@ -327,7 +327,7 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
clsLdr, e);
}
finally {
- GridOptimizedObjectStreamRegistry.closeIn(objIn);
+ IgniteOptimizedObjectStreamRegistry.closeIn(objIn);
}
}
@@ -335,10 +335,10 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
@Override public <T> T unmarshal(byte[] arr, @Nullable ClassLoader clsLdr) throws GridException {
assert arr != null;
- GridOptimizedObjectInputStream objIn = null;
+ IgniteOptimizedObjectInputStream objIn = null;
try {
- objIn = GridOptimizedObjectStreamRegistry.in();
+ objIn = IgniteOptimizedObjectStreamRegistry.in();
objIn.classLoader(clsLdr != null ? clsLdr : dfltClsLdr);
@@ -355,7 +355,7 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
clsLdr, e);
}
finally {
- GridOptimizedObjectStreamRegistry.closeIn(objIn);
+ IgniteOptimizedObjectStreamRegistry.closeIn(objIn);
}
}
@@ -396,13 +396,13 @@ public class IgniteOptimizedMarshaller extends GridAbstractMarshaller {
* @param ldr Class loader being undeployed.
*/
public static void onUndeploy(ClassLoader ldr) {
- GridOptimizedMarshallerUtils.onUndeploy(ldr);
+ IgniteOptimizedMarshallerUtils.onUndeploy(ldr);
}
/**
* Clears internal caches and frees memory. Usually called on system stop.
*/
public static void clearCache() {
- GridOptimizedMarshallerUtils.clearCache();
+ IgniteOptimizedMarshallerUtils.clearCache();
}
}