http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java index 0678657..7551b0e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridFunc.java @@ -95,6 +95,7 @@ import org.jsr166.ThreadLocalRandom8; * Also note, that in all methods with predicates, null predicate has a {@code true} meaning. So does * the empty predicate array. */ +@SuppressWarnings("unchecked") public class GridFunc { /** */ private static final GridAbsClosure NOOP = new CA() { @@ -152,14 +153,14 @@ public class GridFunc { }; /** */ - public static final IgnitePredicate<Object> IS_NULL = new P1<Object>() { + private static final IgnitePredicate<Object> IS_NULL = new P1<Object>() { @Override public boolean apply(Object o) { return o == null; } }; /** */ - public static final IgnitePredicate<Object> IS_NOT_NULL = new P1<Object>() { + private static final IgnitePredicate<Object> IS_NOT_NULL = new P1<Object>() { @Override public boolean apply(Object o) { return o != null; } @@ -388,6 +389,7 @@ public class GridFunc { * @param <T> Type of the collection. * @return De-duped collection. */ + @Deprecated public static <T> Collection<T> dedup(Collection<? extends T> c) { A.notNull(c, "c"); @@ -444,6 +446,7 @@ public class GridFunc { * * @return Reducer that calculates sum of integer elements. */ + @Deprecated public static IgniteReducer<Integer, Integer> sumIntReducer() { return new R1<Integer, Integer>() { private AtomicInteger sum = new AtomicInteger(0); @@ -468,6 +471,7 @@ public class GridFunc { * * @return Reducer that calculates sum of long integer elements. */ + @Deprecated public static IgniteReducer<Long, Long> sumLongReducer() { return new R1<Long, Long>() { private AtomicLong sum = new AtomicLong(0); @@ -492,6 +496,7 @@ public class GridFunc { * @param toExcl Exclusive stop of the range. * @return List containing numbers in range. */ + @Deprecated public static List<Integer> range(int fromIncl, int toExcl) { A.ensure(fromIncl >= 0, "fromIncl >= 0"); A.ensure(toExcl >= 0, "toExcl >= 0"); @@ -514,6 +519,7 @@ public class GridFunc { * @param delim Delimiter (optional). * @return Reducer that concatenates strings using provided delimeter. */ + @Deprecated public static IgniteReducer<String, String> concatReducer(@Nullable final String delim) { return new R1<String, String>() { private SB sb = new SB(); @@ -574,6 +580,7 @@ public class GridFunc { * @return Collections of data items casted to type {@code T}. * @see org.apache.ignite.compute.ComputeJobResult#getData() */ + @Deprecated public static <T> Collection<T> jobResults(@Nullable Collection<? extends ComputeJobResult> res) { if (isEmpty(res)) return Collections.emptyList(); @@ -634,6 +641,7 @@ public class GridFunc { * @param ids Collection of nodeIds. * @return Collection of node IDs for given collection of grid nodes. */ + @Deprecated public static Collection<String> id8s(@Nullable Collection<UUID> ids) { if (ids == null || ids.isEmpty()) return Collections.emptyList(); @@ -647,6 +655,7 @@ public class GridFunc { * @param msg Message to print. * @return Absolute closure that print message. */ + @Deprecated public static GridAbsClosure println(final String msg) { return new CA() { @Override public void apply() { @@ -686,6 +695,7 @@ public class GridFunc { * @param <T> Type of the list elements. * @return Random value from the input list. */ + @Deprecated public static <T> T rand(List<T> l) { A.notNull(l, "l"); @@ -700,6 +710,7 @@ public class GridFunc { * @param <T> Type of the collection. * @return Random value from the input collection. */ + @Deprecated public static <T> T rand(T... c) { A.notNull(c, "c"); @@ -998,6 +1009,7 @@ public class GridFunc { * @param <T> Type of collections. * @return Collection of remaining elements. */ + @Deprecated public static <T> Collection<T> lose(Collection<T> c, boolean cp, @Nullable IgnitePredicate<? super T>... p) { A.notNull(c, "c"); @@ -1038,6 +1050,7 @@ public class GridFunc { * @return Filtered map. */ @SuppressWarnings({"unchecked"}) + @Deprecated public static <K, V> Map<K, V> lose(Map<K, V> m, boolean cp, @Nullable IgnitePredicate<? super Map.Entry<K, V>>... p) { A.notNull(m, "m"); @@ -1079,6 +1092,7 @@ public class GridFunc { * @param <V> Type of map's values. * @return Filtered map. */ + @Deprecated public static <K, V> Map<K, V> loseKeys( Map<K, V> m, boolean cp, @@ -1104,6 +1118,7 @@ public class GridFunc { * @param <V> Type of map's values. * @return Filtered map. */ + @Deprecated public static <K, V> Map<K, V> loseValues(Map<K, V> m, boolean cp, @Nullable final IgnitePredicate<? super V>... p) { return lose(m, cp, new P1<Map.Entry<K, V>>() { @@ -1157,6 +1172,7 @@ public class GridFunc { * @param <T> Type of list. * @return List of remaining elements */ + @Deprecated public static <T> List<T> filterList(List<T> c, boolean cp, @Nullable IgnitePredicate<T>... p) { A.notNull(c, "c"); @@ -1276,6 +1292,7 @@ public class GridFunc { * @param <T> Type of collections. * @return Collection of retain elements. */ + @Deprecated public static <T0, T extends T0> Collection<T> retain(Collection<T> c, boolean cp, @Nullable Collection<? extends T0> filter) { A.notNull(c, "c"); @@ -1353,6 +1370,7 @@ public class GridFunc { * @param <R> Output type. * @return Curried closure. */ + @Deprecated public static <T, R> IgniteOutClosure<R> curry(final IgniteClosure<? super T, R> f, final T e) { return new IgniteOutClosure<R>() { @Override public R apply() { @@ -1369,6 +1387,7 @@ public class GridFunc { * @param <T> Input type. * @return Curried closure. */ + @Deprecated public static <T> GridAbsClosure curry(final IgniteInClosure<? super T> f, final T e) { return new GridAbsClosure() { @Override public void apply() { @@ -1400,6 +1419,7 @@ public class GridFunc { * @param <T> Type of the iterator. * @return Newly created empty iterator. */ + @Deprecated public static <T> GridIterator<T> emptyIterator() { return new GridEmptyIterator<>(); } @@ -1564,6 +1584,7 @@ public class GridFunc { * @param r Runnable to convert to closure. If {@code null} - no-op closure is returned. * @return Closure that wraps given runnable. Note that wrapping closure always returns {@code null}. */ + @Deprecated public static GridAbsClosure as(@Nullable final Runnable r) { return new CA() { @Override public void apply() { @@ -1705,6 +1726,7 @@ public class GridFunc { * @return Light-weight view on given list with provided transformation. */ @SuppressWarnings("RedundantTypeArguments") + @Deprecated public static <T1, T2> List<T2> viewListReadOnly(@Nullable final List<? extends T1> c, final IgniteClosure<? super T1, T2> trans) { A.notNull(trans, "trans"); @@ -1748,6 +1770,7 @@ public class GridFunc { * @param p Optional predicates. If predicates are not provided - all elements will be in the view. * @return View on given list with provided predicate. */ + @Deprecated public static <T1, T2> List<T2> transformList(Collection<? extends T1> c, IgniteClosure<? super T1, T2> trans, @Nullable IgnitePredicate<? super T1>... p) { A.notNull(c, "c", trans, "trans"); @@ -1978,6 +2001,7 @@ public class GridFunc { * @param <V1> Type of the output map value. * @return Light-weight view on given map with provided predicate and transformer. */ + @Deprecated public static <K0, K extends K0, V0, V extends V0, V1> Map<K, V1> viewReadOnly(@Nullable final Map<K, V> m, final IgniteBiClosure<K, V, V1> trans, @Nullable final IgnitePredicate<? super K>... p) { A.notNull(trans, "trans"); @@ -2305,12 +2329,12 @@ public class GridFunc { * @see #newLinkedList() * @see #newList() * @see #newSet() - * @see #newMap() * @see #newAtomicLong() * @see #newAtomicInt() * @see #newAtomicRef() * @see #newAtomicBoolean() */ + @Deprecated @Nullable public static <K, V> V returnIfAbsent(Map<? extends K, ? extends V> map, @Nullable K key, @Nullable Callable<V> c) { A.notNull(map, "map"); @@ -2345,6 +2369,7 @@ public class GridFunc { * time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ @SuppressWarnings("unchecked") + @Deprecated public static <T> IgniteCallable<List<T>> newList() { return (IgniteCallable<List<T>>)LIST_FACTORY; } @@ -2357,6 +2382,7 @@ public class GridFunc { * @return Factory closure that creates new {@link AtomicInteger} instance * initialized to {@code zero} every time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ + @Deprecated public static IgniteCallable<AtomicInteger> newAtomicInt() { return ATOMIC_INT_FACTORY; } @@ -2369,6 +2395,7 @@ public class GridFunc { * @return Factory closure that creates new {@link AtomicLong} instance * initialized to {@code zero} every time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ + @Deprecated public static IgniteCallable<AtomicLong> newAtomicLong() { return ATOMIC_LONG_FACTORY; } @@ -2383,6 +2410,7 @@ public class GridFunc { * initialized to {@code null} every time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ @SuppressWarnings("unchecked") + @Deprecated public static <T> IgniteCallable<AtomicReference<T>> newAtomicRef() { return (IgniteCallable<AtomicReference<T>>)ATOMIC_REF_FACTORY; } @@ -2395,6 +2423,7 @@ public class GridFunc { * @return Factory closure that creates new {@link AtomicBoolean} instance * initialized to {@code false} every time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ + @Deprecated public static IgniteCallable<AtomicBoolean> newAtomicBoolean() { return ATOMIC_BOOL_FACTORY; } @@ -2408,6 +2437,7 @@ public class GridFunc { * org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ @SuppressWarnings("unchecked") + @Deprecated public static <T> IgniteCallable<LinkedList<T>> newLinkedList() { return (IgniteCallable<LinkedList<T>>)LINKED_LIST_FACTORY; } @@ -2435,6 +2465,7 @@ public class GridFunc { * time its {@link org.apache.ignite.lang.IgniteOutClosure#apply()} method is called. */ @SuppressWarnings("unchecked") + @Deprecated public static <K, V> IgniteCallable<Map<K, V>> newMap() { return (IgniteCallable<Map<K, V>>)MAP_FACTORY; } @@ -2702,6 +2733,7 @@ public class GridFunc { * @param p Predicate to check. * @return {@code true} if given predicate is {@code ALWAYS_TRUE} predicate. */ + @Deprecated public static boolean isAlwaysTrue(IgnitePredicate p) { return p == ALWAYS_TRUE; } @@ -2724,6 +2756,7 @@ public class GridFunc { * @param p Predicate to check. * @return {@code true} if given predicate is {@code ALWAYS_FALSE} predicate. */ + @Deprecated public static boolean isAlwaysFalse(IgnitePredicate p) { return p == ALWAYS_FALSE; } @@ -2735,6 +2768,7 @@ public class GridFunc { * @param p Predicate to check. * @return {@code true} if given contains only {@code ALWAYS_FALSE} predicate. */ + @Deprecated public static boolean isAlwaysFalse(@Nullable IgnitePredicate[] p) { return p != null && p.length == 1 && isAlwaysFalse(p[0]); } @@ -2745,6 +2779,7 @@ public class GridFunc { * @param <T> Type of the free variable, i.e. the element the predicate is called on. * @return Predicate that evaluates to {@code true} if its free variable is {@code null}. */ + @Deprecated public static <T> IgnitePredicate<T> isNull() { return (IgnitePredicate<T>) IS_NULL; } @@ -2788,6 +2823,7 @@ public class GridFunc { * @return Predicate that evaluates to {@code true} if its free variable is equal to * {@code target} or both are {@code null}. */ + @Deprecated public static <T> IgnitePredicate<T> equalTo(@Nullable final T target) { return new P1<T>() { @Override public boolean apply(T t) { @@ -2821,6 +2857,7 @@ public class GridFunc { * @return Predicate that evaluates to {@code true} if its free variable is instance * of the given class. */ + @Deprecated public static <T> IgnitePredicate<T> instanceOf(final Class<?> cls) { A.notNull(cls, "cls"); @@ -2870,6 +2907,7 @@ public class GridFunc { * @param <T> Type of the collection. * @return Collections' first element or {@code null} in case if the collection is empty. */ + @Deprecated @Nullable public static <T> T last(@Nullable Iterable<? extends T> c) { if (c == null) return null; @@ -2915,6 +2953,7 @@ public class GridFunc { * @param <K> Key type. * @return Maps' first key or {@code null} in case if the map is empty. */ + @Deprecated @Nullable public static <K> K firstKey(Map<K, ?> m) { Iterator<K> it = m.keySet().iterator(); @@ -3010,6 +3049,7 @@ public class GridFunc { * @param <T> Type of the free variable for the closure. * @return Closure that return {@code toString()} value for its free variable. */ + @Deprecated public static <T> IgniteClosure<T, String> string() { return new C1<T, String>() { @Override public String apply(@Nullable T t) { @@ -3044,6 +3084,7 @@ public class GridFunc { * @return Modified target collection. */ @SuppressWarnings("unchecked") + @Deprecated public static <T, C extends Collection<T>> C addAll(C c, Iterable<? extends T> it) { if (it == null) return c; @@ -3062,6 +3103,7 @@ public class GridFunc { * @param it Iterator to fetch. * @return Modified target collection. */ + @Deprecated public static <T, C extends Collection<T>> C addAll(C c, Iterator<? extends T> it) { if (it != null) { while (it.hasNext()) @@ -3145,7 +3187,6 @@ public class GridFunc { * @see #newLinkedList() * @see #newList() * @see #newSet() - * @see #newMap() * @see #newAtomicLong() * @see #newAtomicInt() * @see #newAtomicRef() @@ -3211,6 +3252,7 @@ public class GridFunc { * @param <Y> Type of the closure's return value. * @return Single value as a result of collection reduction. */ + @Deprecated public static <X, Y> Y reduce(Iterable<? extends X> c, IgniteReducer<? super X, Y> f) { A.notNull(c, "c", f, "f"); @@ -3234,6 +3276,7 @@ public class GridFunc { * @param <X> Type of the free variable for the closure and type of the * collection elements. */ + @Deprecated public static <X> void forEach(Iterable<? extends X> c, IgniteInClosure<? super X> f, @Nullable IgnitePredicate<? super X>... p) { A.notNull(c, "c", f, "f"); @@ -3256,6 +3299,7 @@ public class GridFunc { * elements. */ @SuppressWarnings("RedundantTypeArguments") + @Deprecated public static <X> void forEach(X[] c, IgniteInClosure<? super X> f, @Nullable IgnitePredicate<? super X>... p) { A.notNull(c, "c", f, "f"); @@ -3270,6 +3314,7 @@ public class GridFunc { * @param <T> Type of the free variable for the predicate and type of the collection elements. * @return Collection to copy to. */ + @Deprecated public static <T> Collection<T> copy(Collection<T> to, T... from) { A.notNull(to, "to", from, "from"); @@ -3288,6 +3333,7 @@ public class GridFunc { * @param <T> Type of the free variable for the predicate and type of the collection elements. * @return Collection to copy to. */ + @Deprecated public static <T> Collection<T> copy(Collection<T> to, Iterable<? extends T> from, @Nullable IgnitePredicate<? super T>... p) { A.notNull(to, "to", from, "from"); @@ -3329,6 +3375,7 @@ public class GridFunc { * @return Resulting collection. */ @SuppressWarnings("unchecked") + @Deprecated public static <T extends R, R> Collection<R> upcast(Collection<T> c) { A.notNull(c, "c"); @@ -3344,6 +3391,7 @@ public class GridFunc { * @param <Y> Type of the closure's return value. * @return Transformed read only collection. */ + @Deprecated public static <X, Y> Collection<Y> transform(X[] c, IgniteClosure<? super X, Y> f) { A.notNull(c, "c", f, "f"); @@ -3382,6 +3430,7 @@ public class GridFunc { * value, {@code false} otherwise. Returns {@code false} if given set of predicates * is {@code null} or empty. */ + @Deprecated public static <T> boolean isAny(@Nullable T t, @Nullable IgnitePredicate<? super T>... p) { if (p != null) for (IgnitePredicate<? super T> r : p) @@ -3396,6 +3445,7 @@ public class GridFunc { * * @return Absolute (no-arg) closure that does nothing. */ + @Deprecated public static GridAbsClosure noop() { return NOOP; } @@ -3438,6 +3488,7 @@ public class GridFunc { * @return First element in given collection for which predicate evaluates to * {@code true} - or {@code null} if such element cannot be found. */ + @Deprecated public static <V, Y> Y find(Iterable<? extends V> c, @Nullable Y dfltVal, IgniteClosure<? super V, Y> f, @Nullable IgnitePredicate<? super V>... p) { A.notNull(c, "c", f, "f"); @@ -3464,6 +3515,7 @@ public class GridFunc { * @return {@code true} if collection {@code c1} contains at least one element from collection * {@code c2}. */ + @Deprecated public static <T> boolean containsAny(@Nullable Collection<? extends T> c1, @Nullable Iterable<? extends T> c2) { if (c1 != null && !c1.isEmpty() && c2 != null && c2.iterator().hasNext()) for (T t : c2) @@ -3501,6 +3553,7 @@ public class GridFunc { * @return {@code true} if collection {@code c1} contains all elements from collection * {@code c2}. */ + @Deprecated public static <T> boolean containsAll(@Nullable Collection<? extends T> c1, @Nullable Iterable<? extends T> c2) { if (c1 == null) return false; @@ -3521,6 +3574,7 @@ public class GridFunc { * @param <T> Type of objects in pair. * @return Pair of objects. */ + @Deprecated public static <T> IgnitePair<T> pair(@Nullable T t1, @Nullable T t2) { return new IgnitePair<>(t1, t2); } @@ -3537,6 +3591,7 @@ public class GridFunc { * evaluates to {@code true} - and second containing the elements for which predicate * evaluates to {@code false}. */ + @Deprecated public static <V> IgniteBiTuple<Collection<V>, Collection<V>> partition(Iterable<? extends V> c, IgnitePredicate<? super V> p) { A.notNull(c, "c", p, "p"); @@ -3592,6 +3647,7 @@ public class GridFunc { * @return Returns {@code true} if all given predicates evaluate to {@code true} for * all elements. Returns {@code false} otherwise. */ + @Deprecated public static <V> boolean forAll(Iterable<? extends V> c, @Nullable IgnitePredicate<? super V>... p) { A.notNull(c, "c"); @@ -3620,6 +3676,7 @@ public class GridFunc { * @return Returns {@code true} if all given predicate evaluates to {@code true} for all * entries. Returns {@code false} otherwise. */ + @Deprecated public static <K1, K extends K1, V1, V extends V1> boolean forAll(Map<K, V> m, @Nullable IgnitePredicate<? super Map.Entry<K, V>>... p) { A.notNull(m, "m"); @@ -3648,6 +3705,7 @@ public class GridFunc { * @return Returns {@code true} if all given predicates evaluate to {@code true} for * at least one element. Returns {@code false} otherwise. */ + @Deprecated public static <V> boolean forAny(Iterable<? extends V> c, @Nullable IgnitePredicate<? super V>... p) { A.notNull(c, "c"); @@ -3696,6 +3754,7 @@ public class GridFunc { * @param <B> Type of the folding value and return type of the closure. * @return Value representing folded collection. */ + @Deprecated @Nullable public static <D, B> B fold(Iterable<? extends D> c, @Nullable B b, @Nullable IgniteBiClosure<? super D, ? super B, B>... fs) { A.notNull(c, "c"); @@ -3728,6 +3787,7 @@ public class GridFunc { * @param <V> Type of the tuple. * @return Newly created empty tuple. */ + @Deprecated public static <V> GridTuple<V> t1() { return new GridTuple<>(); } @@ -3752,6 +3812,7 @@ public class GridFunc { * @param <V2> Type of the 2nd tuple parameter. * @return Newly created empty tuple. */ + @Deprecated public static <V1, V2> IgniteBiTuple<V1, V2> t2() { return new IgniteBiTuple<>(); } @@ -3784,6 +3845,7 @@ public class GridFunc { * @param <V4> Type of the 4th tuple parameter. * @return Newly created tuple. */ + @Deprecated public static <V1, V2, V3, V4> GridTuple4<V1, V2, V3, V4> t(@Nullable V1 v1, @Nullable V2 v2, @Nullable V3 v3, @Nullable V4 v4) { return new GridTuple4<>(v1, v2, v3, v4); @@ -3804,6 +3866,7 @@ public class GridFunc { * @param <V5> Type of the 5th tuple parameter. * @return Newly created tuple. */ + @Deprecated public static <V1, V2, V3, V4, V5> GridTuple5<V1, V2, V3, V4, V5> t(@Nullable V1 v1, @Nullable V2 v2, @Nullable V3 v3, @Nullable V4 v4, @Nullable V5 v5) { return new GridTuple5<>(v1, v2, v3, v4, v5); @@ -3826,6 +3889,7 @@ public class GridFunc { * @param <V6> Type of the 6th tuple parameter. * @return Newly created tuple. */ + @Deprecated public static <V1, V2, V3, V4, V5, V6> GridTuple6<V1, V2, V3, V4, V5, V6> t(@Nullable V1 v1, @Nullable V2 v2, @Nullable V3 v3, @Nullable V4 v4, @Nullable V5 v5, @Nullable V6 v6) { return new GridTuple6<>(v1, v2, v3, v4, v5, v6); @@ -3837,6 +3901,7 @@ public class GridFunc { * @param objs Values for vararg tuple. * @return Vararg tuple with given values. */ + @Deprecated public static GridTupleV tv(Object... objs) { assert objs != null; @@ -3851,6 +3916,7 @@ public class GridFunc { * @param <V3> Type of the 3rd tuple parameter. * @return Newly created empty tuple. */ + @Deprecated public static <V1, V2, V3> GridTuple3<V1, V2, V3> t3() { return new GridTuple3<>(); } @@ -3864,6 +3930,7 @@ public class GridFunc { * @param <V4> Type of the 4th tuple parameter. * @return Newly created empty tuple. */ + @Deprecated public static <V1, V2, V3, V4> GridTuple4<V1, V2, V3, V4> t4() { return new GridTuple4<>(); } @@ -3878,6 +3945,7 @@ public class GridFunc { * @param <V5> Type of the 5th tuple parameter. * @return Newly created empty tuple. */ + @Deprecated public static <V1, V2, V3, V4, V5> GridTuple5<V1, V2, V3, V4, V5> t5() { return new GridTuple5<>(); } @@ -3893,6 +3961,7 @@ public class GridFunc { * @param <V6> Type of the 6th tuple parameter. * @return Newly created empty tuple. */ + @Deprecated public static <V1, V2, V3, V4, V5, V6> GridTuple6<V1, V2, V3, V4, V5, V6> t6() { return new GridTuple6<>(); } @@ -3907,6 +3976,7 @@ public class GridFunc { * @param <V> Value type. * @return Resulting map. */ + @Deprecated public static <K, V> Map<K, V> zip(Collection<? extends K> keys, V dfltVal) { A.notNull(keys, "keys"); @@ -3968,6 +4038,7 @@ public class GridFunc { * @param <V> Value's type. * @return Created map. */ + @Deprecated public static <K, V> Map<K, V> asMap(K k1, V v1, K k2, V v2, K k3, V v3) { Map<K, V> map = new GridLeanMap<>(3); @@ -3993,6 +4064,7 @@ public class GridFunc { * @param <V> Value's type. * @return Created map. */ + @Deprecated public static <K, V> Map<K, V> asMap(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { Map<K, V> map = new GridLeanMap<>(4); @@ -4021,6 +4093,7 @@ public class GridFunc { * @param <V> Value's type. * @return Created map. */ + @Deprecated public static <K, V> Map<K, V> asMap(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { Map<K, V> map = new GridLeanMap<>(5); @@ -4062,6 +4135,7 @@ public class GridFunc { * @param <T> Element's type. * @return Created set. */ + @Deprecated public static <T> Set<T> asSet(@Nullable T t) { return t == null ? Collections.<T>emptySet() : Collections.singleton(t); } @@ -4074,6 +4148,7 @@ public class GridFunc { * @return Created set. */ @SuppressWarnings( {"RedundantTypeArguments"}) + @Deprecated public static <T> Set<T> asSet(@Nullable T... t) { if (t == null || t.length == 0) return Collections.<T>emptySet(); @@ -4152,6 +4227,7 @@ public class GridFunc { * @param val Value to find. * @return {@code True} if array contains given value. */ + @Deprecated public static boolean contains(Integer[] arr, int val) { for (Integer el : arr) { if (el == val) @@ -4167,6 +4243,7 @@ public class GridFunc { * @return {@code True} if array contains given value. */ @SuppressWarnings("ForLoopReplaceableByForEach") + @Deprecated public static boolean contains(long[] arr, long val) { for (int i = 0; i < arr.length; i++) { if (arr[i] == val) @@ -4194,6 +4271,7 @@ public class GridFunc { * @param c2 Second collection. * @return {@code True} if both collections have equal elements in the same order. */ + @Deprecated public static boolean eqOrdered(@Nullable Collection<?> c1, @Nullable Collection<?> c2) { if (c1 == c2) return true; @@ -4359,6 +4437,7 @@ public class GridFunc { * duplicate the implementation will have to do double work. * @return {@code True} if arrays are equal, {@code false} otherwise. */ + @Deprecated public static boolean eqArray(Object[] a1, Object[] a2, boolean sorted, boolean dups) { if (a1 == a2) return true; @@ -4492,6 +4571,7 @@ public class GridFunc { * @param s2 Set2. * @return {@code True} if there is an intersection, {@code false} otherwise. */ + @Deprecated public static <E> boolean intersects(Iterable<E> s1, Collection<E>... s2) { for (E e1 : s1) { for (Collection<E> s : s2) { @@ -4509,6 +4589,7 @@ public class GridFunc { * @param futs Futures. If none provided - this method is no-op. * @throws IgniteCheckedException If any of the futures failed. */ + @Deprecated public static <T> void awaitAll(@Nullable Collection<IgniteInternalFuture<T>> futs) throws IgniteCheckedException { awaitAll(0, null, futs); } @@ -4520,6 +4601,7 @@ public class GridFunc { * @param futs Futures. If none provided - this method is no-op. * @throws IgniteCheckedException If any of the futures failed. */ + @Deprecated public static <T> void awaitAll(long timeout, @Nullable Collection<IgniteInternalFuture<T>> futs) throws IgniteCheckedException { awaitAll(timeout, null, futs); } @@ -4535,6 +4617,7 @@ public class GridFunc { * @return Reduced result if reducer is provided, {@code null} otherwise. * @throws IgniteCheckedException If any of the futures failed. */ + @Deprecated @Nullable public static <T, R> R awaitAll(long timeout, @Nullable IgniteReducer<T, R> rdc, @Nullable Collection<IgniteInternalFuture<T>> futs) throws IgniteCheckedException { if (futs == null || futs.isEmpty()) @@ -4578,6 +4661,7 @@ public class GridFunc { * * @return Predicate for filtering unfinished futures. */ + @Deprecated public static IgnitePredicate<IgniteInternalFuture<?>> unfinishedFutures() { return UNFINISHED_FUTURE; }
http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple.java index 2342239..979befd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple.java @@ -33,8 +33,6 @@ import org.jetbrains.annotations.Nullable; * This class doesn't provide any synchronization for multi-threaded access * and it is responsibility of the user of this class to provide outside * synchronization, if needed. - * @see GridFunc#t1() - * @see GridFunc#t(Object) */ public class GridTuple<V> implements Iterable<V>, Cloneable, Externalizable { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple3.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple3.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple3.java index b999e2a..c70f59f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple3.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple3.java @@ -34,8 +34,6 @@ import org.jetbrains.annotations.Nullable; * This class doesn't provide any synchronization for multi-threaded access * and it is responsibility of the user of this class to provide outside * synchronization, if needed. - * @see GridFunc#t3() - * @see GridFunc#t(Object, Object, Object) */ public class GridTuple3<V1, V2, V3> implements Iterable<Object>, Externalizable, Cloneable { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple4.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple4.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple4.java index c95a859..d49b0ae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple4.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple4.java @@ -34,8 +34,6 @@ import org.jetbrains.annotations.Nullable; * This class doesn't provide any synchronization for multi-threaded access * and it is responsibility of the user of this class to provide outside * synchronization, if needed. - * @see GridFunc#t4() - * @see GridFunc#t(Object, Object, Object, Object) */ public class GridTuple4<V1, V2, V3, V4> implements Iterable<Object>, Externalizable, Cloneable { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple5.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple5.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple5.java index 9790f48..22e5df5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple5.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple5.java @@ -34,8 +34,6 @@ import org.jetbrains.annotations.Nullable; * This class doesn't provide any synchronization for multi-threaded access * and it is responsibility of the user of this class to provide outside * synchronization, if needed. - * @see GridFunc#t5() - * @see GridFunc#t(Object, Object, Object, Object, Object) */ public class GridTuple5<V1, V2, V3, V4, V5> implements Iterable<Object>, Externalizable, Cloneable { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple6.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple6.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple6.java index 044944b..d803d50 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple6.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTuple6.java @@ -34,8 +34,6 @@ import org.jetbrains.annotations.Nullable; * This class doesn't provide any synchronization for multi-threaded access * and it is responsibility of the user of this class to provide outside * synchronization, if needed. - * @see GridFunc#t5() - * @see GridFunc#t(Object, Object, Object, Object, Object) */ public class GridTuple6<V1, V2, V3, V4, V5, V6> implements Iterable<Object>, Externalizable, Cloneable { http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTupleV.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTupleV.java b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTupleV.java index 225366a..89c8ee2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTupleV.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridTupleV.java @@ -37,6 +37,7 @@ import org.apache.ignite.internal.util.typedef.internal.U; * synchronization, if needed. * @see GridFunc#tv(Object...) */ +@Deprecated public class GridTupleV implements Iterable<Object>, Externalizable, Cloneable { /** */ private static final long serialVersionUID = 0L; http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java index 5c5e3d3..d57d7f9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java @@ -31,6 +31,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -38,7 +39,6 @@ import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.igfs.IgfsMode; import org.apache.ignite.internal.processors.task.GridInternal; -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; import org.apache.ignite.internal.visor.VisorJob; @@ -174,13 +174,17 @@ public class VisorIgfsProfilerTask extends VisorOneNodeTask<String, Collection<V private static final int LOG_COL_TOTAL_BYTES = 19; /** List of log entries that should be parsed. */ - private static final Set<Integer> LOG_TYPES = F.asSet( - TYPE_OPEN_IN, - TYPE_OPEN_OUT, - TYPE_RANDOM_READ, - TYPE_CLOSE_IN, - TYPE_CLOSE_OUT - ); + private static final Set<Integer> LOG_TYPES; + + static { + LOG_TYPES = new HashSet<>(); + + LOG_TYPES.add(TYPE_OPEN_IN); + LOG_TYPES.add(TYPE_OPEN_OUT); + LOG_TYPES.add(TYPE_RANDOM_READ); + LOG_TYPES.add(TYPE_CLOSE_IN); + LOG_TYPES.add(TYPE_CLOSE_OUT); + } /** * Create job with given argument. http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java index 6843274..f778bfc 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -416,11 +417,14 @@ public class JobStealingCollisionSpi extends IgniteSpiAdapter implements Collisi /** {@inheritDoc} */ @Override public Map<String, Object> getNodeAttributes() throws IgniteSpiException { - return F.<String, Object>asMap( - createSpiAttributeName(WAIT_JOBS_THRESHOLD_NODE_ATTR), waitJobsThreshold, - createSpiAttributeName(ACTIVE_JOBS_THRESHOLD_NODE_ATTR), activeJobsThreshold, - createSpiAttributeName(MAX_STEALING_ATTEMPT_ATTR), maxStealingAttempts, - createSpiAttributeName(MSG_EXPIRE_TIME_ATTR), msgExpireTime); + HashMap<String, Object> res = new HashMap<>(4); + + res.put(createSpiAttributeName(WAIT_JOBS_THRESHOLD_NODE_ATTR), waitJobsThreshold); + res.put(createSpiAttributeName(ACTIVE_JOBS_THRESHOLD_NODE_ATTR), activeJobsThreshold); + res.put(createSpiAttributeName(MAX_STEALING_ATTEMPT_ATTR), maxStealingAttempts); + res.put(createSpiAttributeName(MSG_EXPIRE_TIME_ATTR), msgExpireTime); + + return res; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index 19858b3..c0982bf 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -1464,12 +1464,15 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter Collection<InetSocketAddress> extAddrs = addrRslvr == null ? null : U.resolveAddresses(addrRslvr, F.flat(Arrays.asList(addrs.get1(), addrs.get2())), boundTcpPort); - return F.asMap( - createSpiAttributeName(ATTR_ADDRS), addrs.get1(), - createSpiAttributeName(ATTR_HOST_NAMES), addrs.get2(), - createSpiAttributeName(ATTR_PORT), boundTcpPort, - createSpiAttributeName(ATTR_SHMEM_PORT), boundTcpShmemPort >= 0 ? boundTcpShmemPort : null, - createSpiAttributeName(ATTR_EXT_ADDRS), extAddrs); + HashMap<String, Object> res = new HashMap<>(5); + + res.put(createSpiAttributeName(ATTR_ADDRS), addrs.get1()); + res.put(createSpiAttributeName(ATTR_HOST_NAMES), addrs.get2()); + res.put(createSpiAttributeName(ATTR_PORT), boundTcpPort); + res.put(createSpiAttributeName(ATTR_SHMEM_PORT), boundTcpShmemPort >= 0 ? boundTcpShmemPort : null); + res.put(createSpiAttributeName(ATTR_EXT_ADDRS), extAddrs); + + return res; } catch (IOException | IgniteCheckedException e) { throw new IgniteSpiException("Failed to resolve local host to addresses: " + locHost, e); http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java index d6db66f..6b7710e 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java @@ -81,6 +81,7 @@ import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.P1; import org.apache.ignite.internal.util.typedef.T2; import org.apache.ignite.internal.util.typedef.X; +import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.internal.util.typedef.internal.LT; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; @@ -213,7 +214,7 @@ class ServerImpl extends TcpDiscoveryImpl { private final Collection<SocketAddress> fromAddrs = new GridConcurrentHashSet<>(); /** Response on join request from coordinator (in case of duplicate ID or auth failure). */ - private final GridTuple<TcpDiscoveryAbstractMessage> joinRes = F.t1(); + private final GridTuple<TcpDiscoveryAbstractMessage> joinRes = new GridTuple<>(); /** Mutex. */ private final Object mux = new Object(); @@ -271,7 +272,7 @@ class ServerImpl extends TcpDiscoveryImpl { /** {@inheritDoc} */ @Override public Collection<ClusterNode> getRemoteNodes() { - return F.upcast(ring.visibleRemoteNodes()); + return upcast(ring.visibleRemoteNodes()); } /** {@inheritDoc} */ @@ -1277,7 +1278,7 @@ class ServerImpl extends TcpDiscoveryImpl { log.debug("Discovery notification [node=" + node + ", spiState=" + spiState + ", type=" + U.gridEventName(type) + ", topVer=" + topVer + ']'); - Collection<ClusterNode> top = F.upcast(ring.visibleNodes()); + Collection<ClusterNode> top = upcast(ring.visibleNodes()); Map<Long, Collection<ClusterNode>> hist = updateTopologyHistory(topVer, top); @@ -1291,6 +1292,18 @@ class ServerImpl extends TcpDiscoveryImpl { } /** + * Upcasts collection type. + * + * @param c Initial collection. + * @return Resulting collection. + */ + private static <T extends R, R> Collection<R> upcast(Collection<T> c) { + A.notNull(c, "c"); + + return (Collection<R>)c; + } + + /** * Update topology history with new topology snapshots. * * @param topVer Topology version. http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java b/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java index 9bfa381..b32a60f 100644 --- a/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java +++ b/modules/core/src/test/java/org/apache/ignite/jvmtest/ConcurrentMapTest.java @@ -28,7 +28,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.internal.IgniteInternalFuture; import org.apache.ignite.internal.util.lang.IgnitePair; -import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.testframework.GridTestUtils; import org.jsr166.ConcurrentHashMap8; @@ -66,7 +65,7 @@ public class ConcurrentMapTest { int writes = testMap(100000, new ConcurrentHashMap8<String, Integer>(cap, 0.75f, lvl)); - ress.add(F.pair(lvl, writes)); + ress.add(new IgnitePair<>(lvl, writes)); } X.println("Test summary."); http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java index c7940c6..524c643 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java @@ -172,13 +172,14 @@ public final class GridTestUtils { * @param sent Sent or received. */ public static void addMessage(UUID from, UUID to, Message msg, boolean sent) { - IgnitePair<UUID> key = F.pair(from, to); + IgnitePair<UUID> key = new IgnitePair<>(from, to); IgnitePair<Queue<Message>> val = msgMap.get(key); if (val == null) { IgnitePair<Queue<Message>> old = msgMap.putIfAbsent(key, - val = F.<Queue<Message>>pair(new ConcurrentLinkedQueue<Message>(), new ConcurrentLinkedQueue<Message>())); + val = new IgnitePair<Queue<Message>>( + new ConcurrentLinkedQueue<Message>(), new ConcurrentLinkedQueue<Message>())); if (old != null) val = old; http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java index dfd4611..329c605 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java @@ -57,6 +57,7 @@ import java.net.URI; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.Callable; @@ -234,8 +235,13 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys if (perm == null) perm = FsPermission.getDefault(); - return F.asMap(IgfsUtils.PROP_PERMISSION, String.format("%04o", perm.toShort()), IgfsUtils.PROP_USER_NAME, - status.getOwner(), IgfsUtils.PROP_GROUP_NAME, status.getGroup()); + HashMap<String, String> res = new HashMap<>(3); + + res.put(IgfsUtils.PROP_PERMISSION, String.format("%04o", perm.toShort())); + res.put(IgfsUtils.PROP_USER_NAME, status.getOwner()); + res.put(IgfsUtils.PROP_GROUP_NAME, status.getGroup()); + + return res; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java index 3d9c10a..4d34ce8 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java @@ -26,7 +26,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.processors.cache.query.GridCacheSqlQuery; import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery; import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing; -import org.apache.ignite.internal.util.typedef.F; import org.h2.jdbc.JdbcPreparedStatement; import org.h2.util.IntArray; import org.jetbrains.annotations.Nullable; @@ -159,8 +158,9 @@ public class GridSqlQuerySplitter { GridSqlSelect rdcQry = new GridSqlSelect().from(table(0)); // Split all select expressions into map-reduce parts. - List<GridSqlElement> mapExps = F.addAll(new ArrayList<GridSqlElement>(mapQry.allColumns()), - mapQry.columns(false)); + List<GridSqlElement> mapExps = new ArrayList<>(mapQry.allColumns()); + + mapExps.addAll(mapQry.columns(false)); final int visibleCols = mapQry.visibleColumns(); final int havingCol = mapQry.havingColumn(); http://git-wip-us.apache.org/repos/asf/ignite/blob/10603bf7/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java index e190c87..07ef1fa 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlSelect.java @@ -144,7 +144,7 @@ public class GridSqlSelect extends GridSqlQuery { * @param visibleOnly If only visible expressions needed. * @return Select clause expressions. */ - public Iterable<GridSqlElement> columns(boolean visibleOnly) { + public List<GridSqlElement> columns(boolean visibleOnly) { assert visibleCols <= cols.size(); return visibleOnly && visibleCols != cols.size() ?
