This is an automated email from the ASF dual-hosted git repository.
nizhikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 0a619b027af [MINOR] Use CommonUtils instead of U in binary (#12279)
0a619b027af is described below
commit 0a619b027af50f29d95196532602c5ba1e18e99b
Author: Nikolay <[email protected]>
AuthorDate: Tue Aug 19 19:00:36 2025 +0300
[MINOR] Use CommonUtils instead of U in binary (#12279)
---
.../apache/ignite/internal/util/CommonUtils.java | 169 ++++++++++++++++++++
.../apache/ignite/internal/binary/BinaryArray.java | 4 +-
.../internal/binary/BinaryClassDescriptor.java | 13 +-
.../ignite/internal/binary/BinaryContext.java | 25 +--
.../internal/binary/BinaryFieldAccessor.java | 4 +-
.../ignite/internal/binary/BinaryMetadata.java | 5 +-
.../internal/binary/BinaryObjectOffheapImpl.java | 4 +-
.../ignite/internal/binary/BinaryReaderExImpl.java | 5 +-
.../apache/ignite/internal/binary/BinaryUtils.java | 39 ++---
.../ignite/internal/binary/BinaryWriterExImpl.java | 5 +-
.../internal/binary/GridBinaryMarshaller.java | 4 +-
.../internal/binary/builder/BinaryBuilderEnum.java | 5 +-
.../binary/builder/BinaryBuilderReader.java | 6 +-
.../binary/builder/BinaryBuilderSerializer.java | 4 +-
.../binary/builder/BinaryEnumArrayLazyValue.java | 5 +-
.../internal/binary/builder/BinaryLazySet.java | 4 +-
.../binary/builder/BinaryObjectArrayLazyValue.java | 5 +-
.../binary/builder/BinaryObjectBuilderImpl.java | 7 +-
.../binary/CacheObjectBinaryProcessorImpl.java | 2 +-
.../apache/ignite/internal/util/IgniteUtils.java | 175 ---------------------
.../apache/ignite/internal/util/GridUnsafe.java | 13 ++
21 files changed, 258 insertions(+), 245 deletions(-)
diff --git
a/modules/commons/src/main/java/org/apache/ignite/internal/util/CommonUtils.java
b/modules/commons/src/main/java/org/apache/ignite/internal/util/CommonUtils.java
index 0a8f4174100..891cdddc7a0 100644
---
a/modules/commons/src/main/java/org/apache/ignite/internal/util/CommonUtils.java
+++
b/modules/commons/src/main/java/org/apache/ignite/internal/util/CommonUtils.java
@@ -25,6 +25,7 @@ import java.io.PrintStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.net.DatagramSocket;
import java.net.Socket;
import java.net.SocketException;
@@ -37,7 +38,13 @@ import java.security.PrivilegedAction;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.UUID;
@@ -814,6 +821,66 @@ public abstract class CommonUtils {
return new HashMap<>(capacity(expSize));
}
+ /**
+ * Creates new {@link LinkedHashMap} with expected size.
+ *
+ * @param expSize Expected size of created map.
+ * @param <K> Type of map keys.
+ * @param <V> Type of map values.
+ * @return New map.
+ */
+ public static <K, V> LinkedHashMap<K, V> newLinkedHashMap(int expSize) {
+ return new LinkedHashMap<>(capacity(expSize));
+ }
+
+ /**
+ * Creates new {@link HashSet} with expected size.
+ *
+ * @param expSize Expected size of created map.
+ * @param <T> Type of elements.
+ * @return New set.
+ */
+ public static <T> HashSet<T> newHashSet(int expSize) {
+ return new HashSet<>(capacity(expSize));
+ }
+
+ /**
+ * Creates new {@link LinkedHashSet} with expected size.
+ *
+ * @param expSize Expected size of created map.
+ * @param <T> Type of elements.
+ * @return New set.
+ */
+ public static <T> LinkedHashSet<T> newLinkedHashSet(int expSize) {
+ return new LinkedHashSet<>(capacity(expSize));
+ }
+
+ /**
+ * Creates new map that limited by size.
+ *
+ * @param limit Limit for size.
+ */
+ public static <K, V> Map<K, V> limitedMap(int limit) {
+ if (limit == 0)
+ return Collections.emptyMap();
+
+ if (limit < 5)
+ return new GridLeanMap<>(limit);
+
+ return new HashMap<>(capacity(limit), 0.75f);
+ }
+
+ /**
+ * @param col non-null collection with one element
+ * @return a SingletonList containing the element in the original
collection
+ */
+ public static <T> Collection<T> convertToSingletonList(Collection<T> col) {
+ if (col.size() != 1) {
+ throw new IllegalArgumentException("Unexpected collection size for
singleton list, expecting 1 but was: " + col.size());
+ }
+ return Collections.singletonList(col.iterator().next());
+ }
+
/**
* Closes given resource logging possible checked exception.
*
@@ -1215,4 +1282,106 @@ public abstract class CommonUtils {
return sCls != null && sCls.isEnum();
}
+
+ /**
+ * Returns a first non-null value in a given array, if such is present.
+ *
+ * @param vals Input array.
+ * @return First non-null value, or {@code null}, if array is empty or
contains
+ * only nulls.
+ */
+ @Nullable public static <T> T firstNotNull(@Nullable T... vals) {
+ if (vals == null)
+ return null;
+
+ for (T val : vals) {
+ if (val != null)
+ return val;
+ }
+
+ return null;
+ }
+
+ /**
+ * @param cls Class to check.
+ * @return {@code True} if class is final.
+ */
+ public static boolean isFinal(Class<?> cls) {
+ return Modifier.isFinal(cls.getModifiers());
+ }
+
+ /**
+ * Checks if given class is of {@code Ignite} type.
+ *
+ * @param cls Class to check.
+ * @return {@code True} if given class is of {@code Ignite} type.
+ */
+ public static boolean isIgnite(Class<?> cls) {
+ String name = cls.getName();
+
+ return name.startsWith("org.apache.ignite") ||
name.startsWith("org.jsr166");
+ }
+
+ /**
+ * Checks if given class is of {@code Grid} type.
+ *
+ * @param cls Class to check.
+ * @return {@code True} if given class is of {@code Grid} type.
+ */
+ public static boolean isGrid(Class<?> cls) {
+ return cls.getName().startsWith("org.apache.ignite.internal");
+ }
+
+ /**
+ * Check if given class is of JDK type.
+ *
+ * @param cls Class to check.
+ * @return {@code True} if object is JDK type.
+ */
+ public static boolean isJdk(Class<?> cls) {
+ if (cls.isPrimitive())
+ return true;
+
+ String s = cls.getName();
+
+ return s.startsWith("java.") || s.startsWith("javax.");
+ }
+
+ /**
+ * Calculate a hashCode for an array.
+ *
+ * @param obj Object.
+ */
+ public static int hashCode(Object obj) {
+ if (obj == null)
+ return 0;
+
+ if (obj.getClass().isArray()) {
+ if (obj instanceof byte[])
+ return Arrays.hashCode((byte[])obj);
+ if (obj instanceof short[])
+ return Arrays.hashCode((short[])obj);
+ if (obj instanceof int[])
+ return Arrays.hashCode((int[])obj);
+ if (obj instanceof long[])
+ return Arrays.hashCode((long[])obj);
+ if (obj instanceof float[])
+ return Arrays.hashCode((float[])obj);
+ if (obj instanceof double[])
+ return Arrays.hashCode((double[])obj);
+ if (obj instanceof char[])
+ return Arrays.hashCode((char[])obj);
+ if (obj instanceof boolean[])
+ return Arrays.hashCode((boolean[])obj);
+
+ int result = 1;
+
+ for (Object element : (Object[])obj)
+ result = 31 * result + hashCode(element);
+
+ return result;
+ }
+ else
+ return obj.hashCode();
+ }
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
index 8279fc48f1c..dc8bc639b74 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryArray.java
@@ -30,7 +30,7 @@ import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
import org.apache.ignite.internal.GridDirectTransient;
import org.apache.ignite.internal.processors.cache.CacheObjectUtils;
-import org.apache.ignite.internal.util.IgniteUtils;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.F;
@@ -220,7 +220,7 @@ class BinaryArray implements BinaryObjectEx,
Externalizable, Comparable<BinaryAr
@Override public int hashCode() {
int result = 31 * Objects.hash(componentTypeId());
- result = 31 * result + IgniteUtils.hashCode(arr);
+ result = 31 * result + CommonUtils.hashCode(arr);
return result;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java
index 9d4f56d478c..28470c3bd2b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java
@@ -46,6 +46,7 @@ import org.apache.ignite.internal.UnregisteredClassException;
import org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller;
import org.apache.ignite.internal.processors.cache.CacheObjectImpl;
import org.apache.ignite.internal.processors.query.QueryUtils;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.tostring.GridToStringExclude;
import org.apache.ignite.internal.util.typedef.F;
@@ -55,7 +56,7 @@ import org.apache.ignite.marshaller.MarshallerExclusions;
import org.jetbrains.annotations.Nullable;
import static
org.apache.ignite.internal.processors.query.QueryUtils.isGeometryClass;
-import static org.apache.ignite.internal.util.IgniteUtils.isLambda;
+import static org.apache.ignite.internal.util.CommonUtils.isLambda;
/**
* Binary class descriptor.
@@ -233,8 +234,8 @@ class BinaryClassDescriptor {
mode = serializer != null ? BinaryWriteMode.BINARY :
BinaryUtils.mode(cls);
}
- if (useOptMarshaller && userType && !U.isIgnite(cls) && !U.isJdk(cls)
&& !QueryUtils.isGeometryClass(cls)) {
- U.warnDevOnly(ctx.log(), "Class \"" + cls.getName() + "\" cannot
be serialized using " +
+ if (useOptMarshaller && userType && !CommonUtils.isIgnite(cls) &&
!CommonUtils.isJdk(cls) && !QueryUtils.isGeometryClass(cls)) {
+ CommonUtils.warnDevOnly(ctx.log(), "Class \"" + cls.getName() +
"\" cannot be serialized using " +
BinaryMarshaller.class.getSimpleName() + " because it either
implements Externalizable interface " +
"or have writeObject/readObject methods. " +
OptimizedMarshaller.class.getSimpleName() + " will be " +
"used instead and class instances will be deserialized on the
server. Please ensure that all nodes " +
@@ -904,7 +905,7 @@ class BinaryClassDescriptor {
else
msg = "Failed to serialize object [typeId=" + typeId + ']';
- U.error(ctx.log(), msg, e);
+ CommonUtils.error(ctx.log(), msg, e);
throw new BinaryObjectException(msg, e);
}
@@ -978,7 +979,7 @@ class BinaryClassDescriptor {
else
msg = "Failed to deserialize object [typeId=" + typeId + ']';
- U.error(ctx.log(), msg, e);
+ CommonUtils.error(ctx.log(), msg, e);
throw new BinaryObjectException(msg, e);
}
@@ -1099,7 +1100,7 @@ class BinaryClassDescriptor {
assert cls != null;
try {
- Constructor<?> ctor = U.forceEmptyConstructor(cls);
+ Constructor<?> ctor = CommonUtils.forceEmptyConstructor(cls);
if (ctor == null)
throw new BinaryObjectException("Failed to find empty
constructor for class: " + cls.getName());
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
index 099b3edaf65..d77bab2caff 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java
@@ -64,6 +64,7 @@ import org.apache.ignite.internal.DuplicateTypeIdException;
import org.apache.ignite.internal.UnregisteredBinaryTypeException;
import org.apache.ignite.internal.UnregisteredClassException;
import org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.lang.GridMapEntry;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
@@ -82,7 +83,7 @@ import static
org.apache.ignite.internal.MarshallerPlatformIds.JAVA_ID;
*/
public class BinaryContext {
/** System loader. */
- private static final ClassLoader sysLdr = U.gridClassLoader();
+ private static final ClassLoader sysLdr = CommonUtils.gridClassLoader();
/** */
private static final BinaryInternalMapper DFLT_MAPPER =
@@ -272,8 +273,8 @@ public class BinaryContext {
// IDs range [200..1000] is used by Ignite internal APIs.
- if (U.sunReflectionFactory() == null) {
- U.warn(log, "ReflectionFactory not found, deserialization of
binary objects for classes without " +
+ if (CommonUtils.sunReflectionFactory() == null) {
+ CommonUtils.warn(log, "ReflectionFactory not found,
deserialization of binary objects for classes without " +
"default constructor is not possible");
}
@@ -359,9 +360,9 @@ public class BinaryContext {
throw new BinaryObjectException("Class name is required
for binary type configuration.");
// Resolve mapper.
- BinaryIdMapper idMapper =
U.firstNotNull(typeCfg.getIdMapper(), globalIdMapper);
- BinaryNameMapper nameMapper =
U.firstNotNull(typeCfg.getNameMapper(), globalNameMapper);
- BinarySerializer serializer =
U.firstNotNull(typeCfg.getSerializer(), globalSerializer);
+ BinaryIdMapper idMapper =
CommonUtils.firstNotNull(typeCfg.getIdMapper(), globalIdMapper);
+ BinaryNameMapper nameMapper =
CommonUtils.firstNotNull(typeCfg.getNameMapper(), globalNameMapper);
+ BinarySerializer serializer =
CommonUtils.firstNotNull(typeCfg.getSerializer(), globalSerializer);
BinaryIdentityResolver identity =
BinaryArrayIdentityResolver.instance();
BinaryInternalMapper mapper = resolveMapper(nameMapper,
idMapper);
@@ -373,7 +374,7 @@ public class BinaryContext {
String affField = affFields.remove(clsName0);
if (affField == null) {
- Class<?> cls = U.classForName(clsName0, null);
+ Class<?> cls = CommonUtils.classForName(clsName0,
null);
if (cls != null)
affField = affFldNameProvider.apply(cls);
@@ -387,7 +388,7 @@ public class BinaryContext {
String affField = affFields.remove(clsName);
if (affField == null) {
- Class<?> cls = U.classForName(clsName, null);
+ Class<?> cls = CommonUtils.classForName(clsName, null);
if (cls != null)
affField = affFldNameProvider.apply(cls);
@@ -471,7 +472,7 @@ public class BinaryContext {
Collection<String> clsNames = new ArrayList<>();
- ClassLoader ldr = U.gridClassLoader();
+ ClassLoader ldr = CommonUtils.gridClassLoader();
String pkgPath = pkgName.replaceAll("\\.", "/");
@@ -739,7 +740,7 @@ public class BinaryContext {
if (clsName == null)
throw new ClassNotFoundException("Unknown type ID: " +
typeId);
- cls = U.forName(clsName, ldr, null);
+ cls = CommonUtils.forName(clsName, ldr, null,
Marshallers.USE_CACHE.get());
desc = descByCls.get(cls);
@@ -1116,7 +1117,7 @@ public class BinaryContext {
Class<?> cls = null;
try {
- cls = U.resolveClassLoader(null, classLoader()).loadClass(clsName);
+ cls = CommonUtils.resolveClassLoader(null,
classLoader()).loadClass(clsName);
}
catch (ClassNotFoundException | NoClassDefFoundError ignored) {
// No-op.
@@ -1495,7 +1496,7 @@ public class BinaryContext {
optmMarsh.onUndeploy(ldr);
- U.clearClassCache(ldr);
+ CommonUtils.clearClassCache(ldr);
}
/**
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
index 02345be7555..dea0592156b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryFieldAccessor.java
@@ -28,10 +28,10 @@ import java.util.UUID;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.internal.UnregisteredBinaryTypeException;
import org.apache.ignite.internal.UnregisteredClassException;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
/**
* Field accessor to speedup access.
@@ -116,7 +116,7 @@ abstract class BinaryFieldAccessor {
return new DefaultFinalClassAccessor(field, id, mode, false);
default:
- return new DefaultFinalClassAccessor(field, id, mode,
!U.isFinal(field.getType()));
+ return new DefaultFinalClassAccessor(field, id, mode,
!CommonUtils.isFinal(field.getType()));
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMetadata.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMetadata.java
index b0c96229395..effd80efe34 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMetadata.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryMetadata.java
@@ -30,6 +30,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -122,7 +123,7 @@ public class BinaryMetadata implements Externalizable {
this.schemas = schemas;
if (schemas != null) {
- schemaIds = U.newHashSet(schemas.size());
+ schemaIds = CommonUtils.newHashSet(schemas.size());
for (BinarySchema schema : schemas)
schemaIds.add(schema.schemaId());
@@ -328,7 +329,7 @@ public class BinaryMetadata implements Externalizable {
else {
schemas = new ArrayList<>();
- schemaIds = U.newHashSet(schemasSize);
+ schemaIds = CommonUtils.newHashSet(schemasSize);
for (int i = 0; i < schemasSize; i++) {
BinarySchema schema = new BinarySchema();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
index e5778190f52..bfc5d556709 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryObjectOffheapImpl.java
@@ -39,7 +39,7 @@ import
org.apache.ignite.internal.binary.streams.BinaryStreams;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.CacheObjectValueContext;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.marshaller.Marshallers;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
import org.apache.ignite.plugin.extensions.communication.MessageWriter;
@@ -90,7 +90,7 @@ class BinaryObjectOffheapImpl extends BinaryObjectExImpl
implements Externalizab
* @return Heap-based copy.
*/
public BinaryObject heapCopy() {
- return new BinaryObjectImpl(ctx, U.copyMemory(ptr, size), start);
+ return new BinaryObjectImpl(ctx, GridUnsafe.copyMemory(ptr, size),
start);
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
index aad7833d34d..91604f0b7e1 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
@@ -35,7 +35,6 @@ import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryRawReader;
import org.apache.ignite.internal.binary.streams.BinaryInputStream;
-import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -1703,13 +1702,13 @@ class BinaryReaderExImpl implements BinaryReaderEx {
/** {@inheritDoc} */
@Override public @Nullable Object deserialize() throws
BinaryObjectException {
String newName = ctx.igniteInstanceName();
- String oldName = IgniteUtils.setCurrentIgniteName(newName);
+ String oldName = U.setCurrentIgniteName(newName);
try {
return deserialize0();
}
finally {
- IgniteUtils.restoreOldIgniteName(oldName, newName);
+ U.restoreOldIgniteName(oldName, newName);
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
index aa2f44abd9d..ed94e37d0e3 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryUtils.java
@@ -75,6 +75,7 @@ import
org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.GridUnsafe;
import org.apache.ignite.internal.util.MutableSingletonList;
import org.apache.ignite.internal.util.typedef.F;
@@ -584,7 +585,7 @@ public class BinaryUtils {
if (type != null)
return type;
- if (U.isEnum(cls))
+ if (CommonUtils.isEnum(cls))
return GridBinaryMarshaller.ENUM;
if (cls.isArray())
@@ -642,9 +643,9 @@ public class BinaryUtils {
Class<?> cls = map == null ? null : map.getClass();
if (cls == HashMap.class)
- return U.newHashMap(((Map)map).size());
+ return CommonUtils.newHashMap(((Map)map).size());
else if (cls == LinkedHashMap.class)
- return U.newLinkedHashMap(((Map)map).size());
+ return CommonUtils.newLinkedHashMap(((Map)map).size());
else if (cls == ConcurrentHashMap.class)
return new ConcurrentHashMap<>(((Map)map).size());
@@ -660,13 +661,13 @@ public class BinaryUtils {
*/
public static <K, V> Map<K, V> newMap(Map<K, V> map) {
if (map instanceof LinkedHashMap)
- return U.newLinkedHashMap(map.size());
+ return CommonUtils.newLinkedHashMap(map.size());
else if (map instanceof TreeMap)
return new TreeMap<>(((TreeMap<Object, Object>)map).comparator());
else if (map instanceof ConcurrentHashMap)
return new ConcurrentHashMap<>(map.size());
- return U.newHashMap(map.size());
+ return CommonUtils.newHashMap(map.size());
}
/**
@@ -710,9 +711,9 @@ public class BinaryUtils {
Class<?> cls = col == null ? null : col.getClass();
if (cls == HashSet.class)
- return U.newHashSet(((Collection)col).size());
+ return CommonUtils.newHashSet(((Collection)col).size());
else if (cls == LinkedHashSet.class)
- return U.newLinkedHashSet(((Collection)col).size());
+ return CommonUtils.newLinkedHashSet(((Collection)col).size());
else if (cls == ConcurrentSkipListSet.class)
return new
ConcurrentSkipListSet<>(((ConcurrentSkipListSet<Object>)col).comparator());
else if (cls == ArrayList.class)
@@ -1123,7 +1124,7 @@ public class BinaryUtils {
return BinaryWriteMode.COL;
else if (isSpecialMap(cls))
return BinaryWriteMode.MAP;
- else if (U.isEnum(cls))
+ else if (CommonUtils.isEnum(cls))
return BinaryWriteMode.ENUM;
else if (cls == BinaryEnumObjectImpl.class)
return BinaryWriteMode.BINARY_ENUM;
@@ -1545,7 +1546,7 @@ public class BinaryUtils {
InvocationHandler ih = (InvocationHandler)doReadObject(in, ctx, ldr,
handles);
- return Proxy.newProxyInstance(ldr != null ? ldr : U.gridClassLoader(),
intfs, ih);
+ return Proxy.newProxyInstance(ldr != null ? ldr :
CommonUtils.gridClassLoader(), intfs, ih);
}
/**
@@ -1598,7 +1599,7 @@ public class BinaryUtils {
boolean useCache = Marshallers.USE_CACHE.get();
try {
- cls = U.forName(clsName, ldr, null);
+ cls = CommonUtils.forName(clsName, ldr, null,
Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
@@ -1629,7 +1630,7 @@ public class BinaryUtils {
cls = ctx.descriptorForTypeId(true, typeId, ldr,
registerMeta).describedClass();
else {
try {
- cls = U.forName(clsName, ldr, null);
+ cls = CommonUtils.forName(clsName, ldr, null,
Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
@@ -1806,7 +1807,7 @@ public class BinaryUtils {
ByteArrayInputStream input = new ByteArrayInputStream(in.array(),
in.position(), len);
try {
- return ctx.optimizedMarsh().unmarshal(input,
U.resolveClassLoader(clsLdr, ctx.classLoader()));
+ return ctx.optimizedMarsh().unmarshal(input,
CommonUtils.resolveClassLoader(clsLdr, ctx.classLoader()));
}
catch (IgniteCheckedException e) {
throw new BinaryObjectException("Failed to unmarshal object with
optimized marshaller", e);
@@ -2254,17 +2255,17 @@ public class BinaryUtils {
break;
case GridBinaryMarshaller.HASH_SET:
- col = U.newHashSet(size);
+ col = CommonUtils.newHashSet(size);
break;
case GridBinaryMarshaller.LINKED_HASH_SET:
- col = U.newLinkedHashSet(size);
+ col = CommonUtils.newLinkedHashSet(size);
break;
case GridBinaryMarshaller.USER_SET:
- col = U.newHashSet(size);
+ col = CommonUtils.newHashSet(size);
break;
@@ -2283,7 +2284,7 @@ public class BinaryUtils {
for (int i = 0; i < size; i++)
col.add(deserializeOrUnmarshal(in, ctx, ldr, handles, detach,
deserialize));
- return colType == GridBinaryMarshaller.SINGLETON_LIST ?
U.convertToSingletonList(col) : col;
+ return colType == GridBinaryMarshaller.SINGLETON_LIST ?
CommonUtils.convertToSingletonList(col) : col;
}
/**
@@ -2311,17 +2312,17 @@ public class BinaryUtils {
else {
switch (mapType) {
case GridBinaryMarshaller.HASH_MAP:
- map = U.newHashMap(size);
+ map = CommonUtils.newHashMap(size);
break;
case GridBinaryMarshaller.LINKED_HASH_MAP:
- map = U.newLinkedHashMap(size);
+ map = CommonUtils.newLinkedHashMap(size);
break;
case GridBinaryMarshaller.USER_COL:
- map = U.newHashMap(size);
+ map = CommonUtils.newHashMap(size);
break;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index 9bb268c3ccc..63958a225d2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -34,7 +34,6 @@ import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryRawWriter;
import org.apache.ignite.internal.UnregisteredClassException;
import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
-import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.typedef.internal.A;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
@@ -131,13 +130,13 @@ class BinaryWriterExImpl implements BinaryWriterEx {
*/
void marshal(Object obj, boolean enableReplace) throws
BinaryObjectException {
String newName = ctx.igniteInstanceName();
- String oldName = IgniteUtils.setCurrentIgniteName(newName);
+ String oldName = U.setCurrentIgniteName(newName);
try {
marshal0(obj, enableReplace);
}
finally {
- IgniteUtils.restoreOldIgniteName(oldName, newName);
+ U.restoreOldIgniteName(oldName, newName);
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
index 95e80e82a2a..2e4c7de280e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/GridBinaryMarshaller.java
@@ -30,8 +30,8 @@ import
org.apache.ignite.internal.binary.streams.BinaryOutputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
import
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl;
import
org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessor;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.MutableSingletonList;
-import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.Nullable;
/**
@@ -338,7 +338,7 @@ public class GridBinaryMarshaller {
for (Object obj0 : col)
col0.add(unwrapBinary(obj0, hnds, null));
- return (col0 instanceof MutableSingletonList) ?
U.convertToSingletonList(col0) : col0;
+ return (col0 instanceof MutableSingletonList) ?
CommonUtils.convertToSingletonList(col0) : col0;
}
/**
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
index 23bd32b6d83..4fc65707b16 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderEnum.java
@@ -20,7 +20,8 @@ package org.apache.ignite.internal.binary.builder;
import org.apache.ignite.binary.BinaryInvalidTypeException;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
+import org.apache.ignite.marshaller.Marshallers;
/**
*
@@ -57,7 +58,7 @@ class BinaryBuilderEnum implements
BinaryBuilderSerializationAware {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
+ cls = CommonUtils.forName(reader.readString(),
reader.binaryContext().classLoader(), null, Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
index 6bbcf3b82a6..818285c1b83 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
@@ -34,7 +34,7 @@ import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
import org.apache.ignite.internal.binary.streams.BinaryInputStream;
import org.apache.ignite.internal.binary.streams.BinaryStreams;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -491,7 +491,7 @@ class BinaryBuilderReader implements BinaryPositionReadable
{
case GridBinaryMarshaller.OPTM_MARSH: {
final BinaryInputStream bin = BinaryStreams.inputStream(arr,
pos + 1);
- final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(null, ctx.classLoader()));
+ final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
CommonUtils.resolveClassLoader(null, ctx.classLoader()));
return obj;
}
@@ -843,7 +843,7 @@ class BinaryBuilderReader implements BinaryPositionReadable
{
case GridBinaryMarshaller.OPTM_MARSH: {
final BinaryInputStream bin = BinaryStreams.inputStream(arr,
pos);
- final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
U.resolveClassLoader(null, ctx.classLoader()));
+ final Object obj = BinaryUtils.doReadOptimized(bin, ctx,
CommonUtils.resolveClassLoader(null, ctx.classLoader()));
pos = bin.position();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
index a969a51a9df..63e52ffe1f2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderSerializer.java
@@ -25,7 +25,7 @@ import org.apache.ignite.internal.binary.BinaryObjectEx;
import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
-import org.apache.ignite.internal.util.IgniteUtils;
+import org.apache.ignite.internal.util.CommonUtils;
/**
*
@@ -123,7 +123,7 @@ class BinaryBuilderSerializer {
return;
}
- if (IgniteUtils.isEnum(val.getClass())) {
+ if (CommonUtils.isEnum(val.getClass())) {
String clsName = ((Enum)val).getDeclaringClass().getName();
int typeId = writer.context().typeId(clsName);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
index f966abca5bf..b90d60aa070 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryEnumArrayLazyValue.java
@@ -21,7 +21,8 @@ import org.apache.ignite.binary.BinaryInvalidTypeException;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
+import org.apache.ignite.marshaller.Marshallers;
/**
*
@@ -50,7 +51,7 @@ class BinaryEnumArrayLazyValue extends
BinaryAbstractLazyValue {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
+ cls = CommonUtils.forName(reader.readString(),
reader.binaryContext().classLoader(), null, Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryLazySet.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryLazySet.java
index b828b0302c7..76f557e60cd 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryLazySet.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryLazySet.java
@@ -21,7 +21,7 @@ import java.util.Collection;
import java.util.Set;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
/**
*
@@ -81,7 +81,7 @@ class BinaryLazySet extends BinaryAbstractLazyValue {
reader.position(off + 1/* flag */ + 4/* size */ + 1/* col type */);
- Set<Object> res = U.newLinkedHashSet(size);
+ Set<Object> res = CommonUtils.newLinkedHashSet(size);
for (int i = 0; i < size; i++)
res.add(BinaryObjectBuilders.unwrapLazy(reader.parseValue()));
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
index ebdf96c04d6..c2110b6099b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectArrayLazyValue.java
@@ -20,7 +20,8 @@ package org.apache.ignite.internal.binary.builder;
import org.apache.ignite.binary.BinaryInvalidTypeException;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
+import org.apache.ignite.marshaller.Marshallers;
/**
*
@@ -49,7 +50,7 @@ class BinaryObjectArrayLazyValue extends
BinaryAbstractLazyValue {
Class cls;
try {
- cls = U.forName(reader.readString(),
reader.binaryContext().classLoader());
+ cls = CommonUtils.forName(reader.readString(),
reader.binaryContext().classLoader(), null, Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsName, e);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
index 25e089b2f59..56c9872c310 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryObjectBuilderImpl.java
@@ -36,9 +36,10 @@ import org.apache.ignite.internal.binary.BinaryObjectEx;
import org.apache.ignite.internal.binary.BinaryUtils;
import org.apache.ignite.internal.binary.BinaryWriterEx;
import org.apache.ignite.internal.binary.GridBinaryMarshaller;
+import org.apache.ignite.internal.util.CommonUtils;
import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.marshaller.Marshallers;
import org.apache.ignite.thread.IgniteThread;
import org.jetbrains.annotations.Nullable;
@@ -147,7 +148,7 @@ class BinaryObjectBuilderImpl implements
BinaryObjectBuilder {
Class cls;
try {
- cls = U.forName(clsNameToWrite, ctx.classLoader());
+ cls = CommonUtils.forName(clsNameToWrite, ctx.classLoader(),
null, Marshallers.USE_CACHE.get());
}
catch (ClassNotFoundException e) {
throw new BinaryInvalidTypeException("Failed to load the
class: " + clsNameToWrite, e);
@@ -207,7 +208,7 @@ class BinaryObjectBuilderImpl implements
BinaryObjectBuilder {
Map<Integer, Object> assignedFldsById;
if (assignedVals != null) {
- assignedFldsById = U.newHashMap(assignedVals.size());
+ assignedFldsById =
CommonUtils.newHashMap(assignedVals.size());
for (Map.Entry<String, Object> entry :
assignedVals.entrySet()) {
String name = entry.getKey();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
index c7115af742d..bf3dff665c2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/binary/CacheObjectBinaryProcessorImpl.java
@@ -434,7 +434,7 @@ public class CacheObjectBinaryProcessorImpl extends
GridProcessorAdapter impleme
return binaryMarsh.unmarshal(in);
}
else
- return U.copyMemory(ptr, size);
+ return GridUnsafe.copyMemory(ptr, size);
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index de3302a80bf..ff611bc4d77 100755
---
a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -4014,44 +4014,6 @@ public abstract class IgniteUtils extends CommonUtils {
return map;
}
- /**
- * Calculate a hashCode for an array.
- *
- * @param obj Object.
- */
- public static int hashCode(Object obj) {
- if (obj == null)
- return 0;
-
- if (obj.getClass().isArray()) {
- if (obj instanceof byte[])
- return Arrays.hashCode((byte[])obj);
- if (obj instanceof short[])
- return Arrays.hashCode((short[])obj);
- if (obj instanceof int[])
- return Arrays.hashCode((int[])obj);
- if (obj instanceof long[])
- return Arrays.hashCode((long[])obj);
- if (obj instanceof float[])
- return Arrays.hashCode((float[])obj);
- if (obj instanceof double[])
- return Arrays.hashCode((double[])obj);
- if (obj instanceof char[])
- return Arrays.hashCode((char[])obj);
- if (obj instanceof boolean[])
- return Arrays.hashCode((boolean[])obj);
-
- int result = 1;
-
- for (Object element : (Object[])obj)
- result = 31 * result + hashCode(element);
-
- return result;
- }
- else
- return obj.hashCode();
- }
-
/**
* @param in Input.
* @return Read map.
@@ -4890,43 +4852,6 @@ public abstract class IgniteUtils extends CommonUtils {
return null;
}
- /**
- * Checks if given class is of {@code Ignite} type.
- *
- * @param cls Class to check.
- * @return {@code True} if given class is of {@code Ignite} type.
- */
- public static boolean isIgnite(Class<?> cls) {
- String name = cls.getName();
-
- return name.startsWith("org.apache.ignite") ||
name.startsWith("org.jsr166");
- }
-
- /**
- * Checks if given class is of {@code Grid} type.
- *
- * @param cls Class to check.
- * @return {@code True} if given class is of {@code Grid} type.
- */
- public static boolean isGrid(Class<?> cls) {
- return cls.getName().startsWith("org.apache.ignite.internal");
- }
-
- /**
- * Check if given class is of JDK type.
- *
- * @param cls Class to check.
- * @return {@code True} if object is JDK type.
- */
- public static boolean isJdk(Class<?> cls) {
- if (cls.isPrimitive())
- return true;
-
- String s = cls.getName();
-
- return s.startsWith("java.") || s.startsWith("javax.");
- }
-
/**
* Converts {@link InterruptedException} to {@link IgniteCheckedException}.
*
@@ -6054,14 +5979,6 @@ public abstract class IgniteUtils extends CommonUtils {
}
}
- /**
- * @param cls Class to check.
- * @return {@code True} if class is final.
- */
- public static boolean isFinal(Class<?> cls) {
- return Modifier.isFinal(cls.getModifiers());
- }
-
/**
* Gets field value.
*
@@ -6542,25 +6459,6 @@ public abstract class IgniteUtils extends CommonUtils {
e.getMessage().toLowerCase().contains("invalid argument");
}
- /**
- * Returns a first non-null value in a given array, if such is present.
- *
- * @param vals Input array.
- * @return First non-null value, or {@code null}, if array is empty or
contains
- * only nulls.
- */
- @Nullable public static <T> T firstNotNull(@Nullable T... vals) {
- if (vals == null)
- return null;
-
- for (T val : vals) {
- if (val != null)
- return val;
- }
-
- return null;
- }
-
/**
* For each object provided by the given {@link Iterable} checks if it
implements
* {@link LifecycleAware} interface and executes {@link
LifecycleAware#start} method.
@@ -7073,79 +6971,6 @@ public abstract class IgniteUtils extends CommonUtils {
return youngest;
}
- /**
- * @param ptr Address.
- * @param size Size.
- * @return Bytes.
- */
- public static byte[] copyMemory(long ptr, int size) {
- byte[] res = new byte[size];
-
- GridUnsafe.copyMemory(null, ptr, res, GridUnsafe.BYTE_ARR_OFF, size);
-
- return res;
- }
-
- /**
- * Creates new {@link LinkedHashMap} with expected size.
- *
- * @param expSize Expected size of created map.
- * @param <K> Type of map keys.
- * @param <V> Type of map values.
- * @return New map.
- */
- public static <K, V> LinkedHashMap<K, V> newLinkedHashMap(int expSize) {
- return new LinkedHashMap<>(capacity(expSize));
- }
-
- /**
- * Creates new {@link HashSet} with expected size.
- *
- * @param expSize Expected size of created map.
- * @param <T> Type of elements.
- * @return New set.
- */
- public static <T> HashSet<T> newHashSet(int expSize) {
- return new HashSet<>(capacity(expSize));
- }
-
- /**
- * Creates new {@link LinkedHashSet} with expected size.
- *
- * @param expSize Expected size of created map.
- * @param <T> Type of elements.
- * @return New set.
- */
- public static <T> LinkedHashSet<T> newLinkedHashSet(int expSize) {
- return new LinkedHashSet<>(capacity(expSize));
- }
-
- /**
- * Creates new map that limited by size.
- *
- * @param limit Limit for size.
- */
- public static <K, V> Map<K, V> limitedMap(int limit) {
- if (limit == 0)
- return Collections.emptyMap();
-
- if (limit < 5)
- return new GridLeanMap<>(limit);
-
- return new HashMap<>(capacity(limit), 0.75f);
- }
-
- /**
- * @param col non-null collection with one element
- * @return a SingletonList containing the element in the original
collection
- */
- public static <T> Collection<T> convertToSingletonList(Collection<T> col) {
- if (col.size() != 1) {
- throw new IllegalArgumentException("Unexpected collection size for
singleton list, expecting 1 but was: " + col.size());
- }
- return Collections.singletonList(col.iterator().next());
- }
-
/**
* Returns comparator that sorts remote node addresses. If remote node
resides on the same host, then put
* loopback addresses first, last otherwise.
diff --git
a/modules/unsafe/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
b/modules/unsafe/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
index a4ff4c7d38a..7fe04ed2713 100644
---
a/modules/unsafe/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
+++
b/modules/unsafe/src/main/java/org/apache/ignite/internal/util/GridUnsafe.java
@@ -1353,6 +1353,19 @@ public abstract class GridUnsafe {
UNSAFE.copyMemory(srcBase, srcOff, dstBase, dstOff, len);
}
+ /**
+ * @param ptr Address.
+ * @param size Size.
+ * @return Bytes.
+ */
+ public static byte[] copyMemory(long ptr, int size) {
+ byte[] res = new byte[size];
+
+ copyMemory(null, ptr, res, BYTE_ARR_OFF, size);
+
+ return res;
+ }
+
/**
* Frees memory.
*