FREEMARKER-55: remove unused _ArrayUtils
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/ba39a0bc Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/ba39a0bc Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/ba39a0bc Branch: refs/heads/3 Commit: ba39a0bc5031dc1fe02b422895f0518ce7a5e713 Parents: 0f45c1d Author: Woonsan Ko <[email protected]> Authored: Fri Jan 5 13:56:49 2018 -0500 Committer: Woonsan Ko <[email protected]> Committed: Fri Jan 5 13:56:49 2018 -0500 ---------------------------------------------------------------------- .../freemarker/core/util/_ArrayUtilsTest.java | 76 ------------- .../freemarker/core/util/_ArrayUtils.java | 109 ------------------- 2 files changed, 185 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ba39a0bc/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/_ArrayUtilsTest.java ---------------------------------------------------------------------- diff --git a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/_ArrayUtilsTest.java b/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/_ArrayUtilsTest.java deleted file mode 100644 index b849bca..0000000 --- a/freemarker-core-test/src/test/java/org/apache/freemarker/core/util/_ArrayUtilsTest.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.freemarker.core.util; - -import java.util.Arrays; - -import org.junit.Test; - -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; - -public class _ArrayUtilsTest { - - @Test - public void testAddAll() { - Object [] arr = _ArrayUtils.addAll(null); - assertTrue(arr.length == 0); - - arr = _ArrayUtils.addAll(null, null); - assertNull(arr); - - Object[] arr1 = { "a", "b", "c" }; - Object[] arr2 = { "1", "2", "3" }; - Object[] arrAll = { "a", "b", "c", "1", "2", "3" }; - - arr = _ArrayUtils.addAll(arr1, null); - assertNotSame(arr1, arr); - assertArrayEquals(arr1, arr); - - arr = _ArrayUtils.addAll(null, arr2); - assertNotSame(arr2, arr); - assertArrayEquals(arr2, arr); - - arr = _ArrayUtils.addAll(arr1, arr2); - assertArrayEquals(arrAll, arr); - } - - @Test - public void testClone() { - assertArrayEquals(null, _ArrayUtils.clone((Object[]) null)); - Object[] original1 = new Object[0]; - Object[] cloned1 = _ArrayUtils.clone(original1); - assertTrue(Arrays.equals(original1, cloned1)); - assertTrue(original1 != cloned1); - - final StringBuilder builder = new StringBuilder("pick"); - original1 = new Object[]{builder, "a", new String[]{"stick"}}; - cloned1 = _ArrayUtils.clone(original1); - assertTrue(Arrays.equals(original1, cloned1)); - assertTrue(original1 != cloned1); - assertSame(original1[0], cloned1[0]); - assertSame(original1[1], cloned1[1]); - assertSame(original1[2], cloned1[2]); - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/ba39a0bc/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayUtils.java ---------------------------------------------------------------------- diff --git a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayUtils.java b/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayUtils.java deleted file mode 100644 index a060f99..0000000 --- a/freemarker-core/src/main/java/org/apache/freemarker/core/util/_ArrayUtils.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.freemarker.core.util; - -import java.lang.reflect.Array; - -/** - * Don't use this; used internally by FreeMarker, might changes without notice. - */ -public class _ArrayUtils { - - private _ArrayUtils() { - } - - // Note: Copied from Commons Lang's ArrayUtils (v3.7). - /** - * <p>Adds all the elements of the given arrays into a new array. - * <p>The new array contains all of the element of {@code array1} followed - * by all of the elements {@code array2}. When an array is returned, it is always - * a new array. - * - * <pre> - * ArrayUtils.addAll(null, null) = null - * ArrayUtils.addAll(array1, null) = cloned copy of array1 - * ArrayUtils.addAll(null, array2) = cloned copy of array2 - * ArrayUtils.addAll([], []) = [] - * ArrayUtils.addAll([null], [null]) = [null, null] - * ArrayUtils.addAll(["a", "b", "c"], ["1", "2", "3"]) = ["a", "b", "c", "1", "2", "3"] - * </pre> - * - * @param <T> the component type of the array - * @param array1 the first array whose elements are added to the new array, may be {@code null} - * @param array2 the second array whose elements are added to the new array, may be {@code null} - * @return The new array, {@code null} if both arrays are {@code null}. - * The type of the new array is the type of the first array, - * unless the first array is null, in which case the type is the same as the second array. - * @since 2.1 - * @throws IllegalArgumentException if the array types are incompatible - */ - public static <T> T[] addAll(final T[] array1, final T... array2) { - if (array1 == null) { - return clone(array2); - } else if (array2 == null) { - return clone(array1); - } - final Class<?> type1 = array1.getClass().getComponentType(); - @SuppressWarnings("unchecked") // OK, because array is of type T - final T[] joinedArray = (T[]) Array.newInstance(type1, array1.length + array2.length); - System.arraycopy(array1, 0, joinedArray, 0, array1.length); - try { - System.arraycopy(array2, 0, joinedArray, array1.length, array2.length); - } catch (final ArrayStoreException ase) { - // Check if problem was due to incompatible types - /* - * We do this here, rather than before the copy because: - * - it would be a wasted check most of the time - * - safer, in case check turns out to be too strict - */ - final Class<?> type2 = array2.getClass().getComponentType(); - if (!type1.isAssignableFrom(type2)) { - throw new IllegalArgumentException("Cannot store " + type2.getName() + " in an array of " - + type1.getName(), ase); - } - throw ase; // No, so rethrow original - } - return joinedArray; - } - - // Note: Copied from Commons Lang's ArrayUtils (v3). - // Clone - //----------------------------------------------------------------------- - /** - * <p>Shallow clones an array returning a typecast result and handling - * {@code null}. - * - * <p>The objects in the array are not cloned, thus there is no special - * handling for multi-dimensional arrays. - * - * <p>This method returns {@code null} for a {@code null} input array. - * - * @param <T> the component type of the array - * @param array the array to shallow clone, may be {@code null} - * @return the cloned array, {@code null} if {@code null} input - */ - public static <T> T[] clone(final T[] array) { - if (array == null) { - return null; - } - return array.clone(); - } - -}
