http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/AsciiSet.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/AsciiSet.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/AsciiSet.java deleted file mode 100755 index 0a35276..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/AsciiSet.java +++ /dev/null @@ -1,55 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -/** - * Stores a set of ASCII characters for quick lookup. - * - * @author James Bognar ([email protected]) - */ -public final class AsciiSet { - final boolean[] store = new boolean[128]; - - /** - * Constructor. - * - * @param chars The characters to keep in this store. - */ - public AsciiSet(String chars) { - for (int i = 0; i < chars.length(); i++) { - char c = chars.charAt(i); - if (c < 128) - store[c] = true; - } - } - - /** - * Returns <jk>true<jk> if the specified character is in this store. - * - * @param c The character to check. - * @return <jk>true<jk> if the specified character is in this store. - */ - public boolean contains(char c) { - if (c > 127) - return false; - return store[c]; - } - - /** - * Returns <jk>true<jk> if the specified character is in this store. - * - * @param c The character to check. - * @return <jk>true<jk> if the specified character is in this store. - */ - public boolean contains(int c) { - if (c < 0 || c > 127) - return false; - return store[c]; - } -}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$1.class deleted file mode 100755 index 898da0a..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$ByteArray.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$ByteArray.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$ByteArray.class deleted file mode 100755 index 9040d6c..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache$ByteArray.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.class deleted file mode 100755 index da300c1..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.java deleted file mode 100755 index 1baee13..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayCache.java +++ /dev/null @@ -1,102 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.io.*; -import java.util.*; -import java.util.concurrent.*; - -/** - * A utility class for caching byte arrays in memory so that duplicate arrays can be reused. - * <p> - * - * @author James Bognar ([email protected]) - */ -public class ByteArrayCache { - - /** - * Default global byte array cache. - * Note that this can't ever get garbage collected so don't add really large arrays! - */ - public static final ByteArrayCache DEFAULT = new ByteArrayCache(); - - private final ConcurrentHashMap<ByteArray,byte[]> cache = new ConcurrentHashMap<ByteArray,byte[]>(); - - /** - * Add the specified byte array to this cache. - * - * @param contents The byte array to add to this cache. - * @return Either the same byte array or a previously cached byte array depending on whether the byte array - * already exists in the cache. - */ - public byte[] cache(byte[] contents) { - if (contents == null) - return null; - ByteArray ba = new ByteArray(contents); - cache.putIfAbsent(ba, ba.contents); - return cache.get(ba); - } - - /** - * Add the specified input stream to this cache. - * - * @param contents The input stream whose contents are to be added to this cache. - * @return Either the same byte array or a previously cached byte array depending on whether the byte array - * already exists in the cache. - * @throws IOException - */ - public byte[] cache(InputStream contents) throws IOException { - if (contents == null) - return null; - ByteArray ba = new ByteArray(IOUtils.readBytes(contents, 1024)); - cache.putIfAbsent(ba, ba.contents); - return cache.get(ba); - } - - /** - * Returns the number of byte arrays in this cache. - * - * @return The number of byte arrays in this cache. - */ - public int size() { - return cache.size(); - } - - private static class ByteArray { - private int hashCode; - private byte[] contents; - - private ByteArray(byte[] contents) { - this.contents = contents; - int multiplier = 1; - for (int i = 0; i < contents.length; i++) { - hashCode += contents[i] * multiplier; - int shifted = multiplier << 5; - multiplier = shifted - multiplier; - } - } - - @Override /* Object */ - public int hashCode() { - if (hashCode == 0) { - } - return hashCode; - } - - @Override /* Object */ - public boolean equals(Object o) { - if (o instanceof ByteArray) { - ByteArray ba = (ByteArray)o; - if (ba.hashCode == hashCode) - return Arrays.equals(ba.contents, contents); - } - return false; - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.class deleted file mode 100755 index 588bee0..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.java deleted file mode 100755 index 0e94821..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ByteArrayInOutStream.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.io.*; - -/** - * Subclass of a ByteArrayOutputStream that avoids a byte array copy when reading from an input stream. - * <p> - * @author James Bognar ([email protected]) - */ -public class ByteArrayInOutStream extends ByteArrayOutputStream { - - /** - * Creates a new input stream from this object. - * - * @return A new input stream from this object. - */ - public ByteArrayInputStream getInputStream() { - return new ByteArrayInputStream(this.buf, 0, this.count); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.class deleted file mode 100755 index 4b56124..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.java deleted file mode 100755 index 9cdd838..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CharSequenceReader.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.io.*; - -/** - * Similar to {@link StringReader} except reads from a generic {@link CharSequenceReader}. - * - * @author jbognar - */ -public final class CharSequenceReader extends BufferedReader { - - private final CharSequence cs; - private String s; - private StringBuffer sb; - private StringBuilder sb2; - private int length; - private int next = 0; - - /** - * Constructor. - * - * @param cs The char sequence to read from. Can be <jk>null</jk>. - */ - public CharSequenceReader(CharSequence cs) { - super(new StringReader(""), 1); // Does not actually use a reader. - if (cs == null) - cs = ""; - this.cs = cs; - if (cs instanceof String) - s = (String)cs; - else if (cs instanceof StringBuffer) - sb = (StringBuffer)cs; - else if (cs instanceof StringBuilder) - sb2 = (StringBuilder)cs; - this.length = cs.length(); - } - - @Override /* Reader */ - public int read() { - if (next >= length) - return -1; - return cs.charAt(next++); - } - - @Override /* Reader */ - public boolean markSupported() { - return false; - } - - @Override /* Reader */ - public int read(final char[] cbuf, final int off, final int len) { - if (next >= length) - return -1; - int n = Math.min(length - next, len); - if (s != null) - s.getChars(next, next + n, cbuf, off); - else if (sb != null) - sb.getChars(next, next + n, cbuf, off); - else if (sb2 != null) - sb2.getChars(next, next + n, cbuf, off); - else { - for (int i = 0; i < n; i++) - cbuf[off+i] = cs.charAt(next+i); - } - next += n; - return n; - } - - @Override /* Reader */ - public long skip(long ns) { - if (next >= length) - return 0; - long n = Math.min(length - next, ns); - n = Math.max(-next, n); - next += n; - return n; - } - - @Override /* Reader */ - public void close() { - // no-op - } - - @Override /* Object */ - public String toString() { - return cs.toString(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils$ClassComparator.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils$ClassComparator.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils$ClassComparator.class deleted file mode 100755 index f894333..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils$ClassComparator.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.class deleted file mode 100755 index 95747e7..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.java deleted file mode 100755 index cf79b9d..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/ClassUtils.java +++ /dev/null @@ -1,211 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.io.*; -import java.lang.reflect.*; -import java.util.*; - -import com.ibm.juno.core.*; - -/** - * Class-related utility methods. - * - * @author James Bognar ([email protected]) - */ -public final class ClassUtils { - - /** - * Given the specified list of objects, return readable names for the class types of the objects. - * - * @param o The objects. - * @return An array of readable class type strings. - */ - public static ObjectList getReadableClassNames(Object[] o) { - ObjectList l = new ObjectList(); - for (int i = 0; i < o.length; i++) - l.add(o[i] == null ? "null" : getReadableClassName(o[i].getClass())); - return l; - } - - /** - * Shortcut for calling <code><jsm>getReadableClassName</jsm>(c.getName())</code> - * - * @param c The class. - * @return A readable class type name, or <jk>null</jk> if parameter is <jk>null</jk>. - */ - public static String getReadableClassName(Class<?> c) { - if (c == null) - return null; - return getReadableClassName(c.getName()); - } - - /** - * Converts the specified class name to a readable form when class name is a special construct like <js>"[[Z"</js>. - * <p> - * Examples: - * <p class='bcode'> - * <jsm>getReadableClassName</jsm>(<js>"java.lang.Object"</js>); <jc>// Returns "java.lang.Object"</jc> - * <jsm>getReadableClassName</jsm>(<js>"boolean"</js>); <jc>// Returns "boolean"</jc> - * <jsm>getReadableClassName</jsm>(<js>"[Z"</js>); <jc>// Returns "boolean[]"</jc> - * <jsm>getReadableClassName</jsm>(<js>"[[Z"</js>); <jc>// Returns "boolean[][]"</jc> - * <jsm>getReadableClassName</jsm>(<js>"[Ljava.lang.Object;"</js>); <jc>// Returns "java.lang.Object[]"</jc> - * <jsm>getReadableClassName</jsm>(<jk>null</jk>); <jc>// Returns null</jc> - * </p> - * - * @param className The class name. - * @return A readable class type name, or <jk>null</jk> if parameter is <jk>null</jk>. - */ - public static String getReadableClassName(String className) { - if (className == null) - return null; - if (! StringUtils.startsWith(className, '[')) - return className; - int depth = 0; - for (int i = 0; i < className.length(); i++) { - if (className.charAt(i) == '[') - depth++; - else - break; - } - char type = className.charAt(depth); - String c; - switch (type) { - case 'Z': c = "boolean"; break; - case 'B': c = "byte"; break; - case 'C': c = "char"; break; - case 'D': c = "double"; break; - case 'F': c = "float"; break; - case 'I': c = "int"; break; - case 'J': c = "long"; break; - case 'S': c = "short"; break; - default: c = className.substring(depth+1, className.length()-1); - } - StringBuilder sb = new StringBuilder(c.length() + 2*depth).append(c); - for (int i = 0; i < depth; i++) - sb.append("[]"); - return sb.toString(); - } - - /** - * Returns <jk>true</jk> if <code>parent</code> is a parent class of <code>child</code>. - * - * @param parent The parent class. - * @param child The child class. - * @param strict If <jk>true</jk> returns <jk>false</jk> if the classes are the same. - * @return <jk>true</jk> if <code>parent</code> is a parent class of <code>child</code>. - */ - public static boolean isParentClass(Class<?> parent, Class<?> child, boolean strict) { - return parent.isAssignableFrom(child) && ((!strict) || ! parent.equals(child)); - } - - /** - * Returns <jk>true</jk> if <code>parent</code> is a parent class or the same as <code>child</code>. - * - * @param parent The parent class. - * @param child The child class. - * @return <jk>true</jk> if <code>parent</code> is a parent class or the same as <code>child</code>. - */ - public static boolean isParentClass(Class<?> parent, Class<?> child) { - return isParentClass(parent, child, false); - } - - /** - * Comparator for use with {@link TreeMap TreeMaps} with {@link Class} keys. - * - * @author James Bognar ([email protected]) - */ - public final static class ClassComparator implements Comparator<Class<?>>, Serializable { - - private static final long serialVersionUID = 1L; - - @Override /* Comparator */ - public int compare(Class<?> object1, Class<?> object2) { - return object1.getName().compareTo(object2.getName()); - } - } - - /** - * Returns the signature of the specified method. - * For no-arg methods, the signature will be a simple string such as <js>"toString"</js>. - * For methods with one or more args, the arguments will be fully-qualified class names (e.g. <js>"append(java.util.StringBuilder,boolean)"</js>) - * - * @param m The methods to get the signature on. - * @return The methods signature. - */ - public static String getMethodSignature(Method m) { - StringBuilder sb = new StringBuilder(m.getName()); - Class<?>[] pt = m.getParameterTypes(); - if (pt.length > 0) { - sb.append("("); - for (int i = 0; i < pt.length; i++) { - if (i > 0) - sb.append(","); - sb.append(getReadableClassName(pt[i])); - } - sb.append(")"); - } - return sb.toString(); - } - - private final static Map<Class<?>, Class<?>> pmap1 = new HashMap<Class<?>, Class<?>>(), pmap2 = new HashMap<Class<?>, Class<?>>(); - static { - pmap1.put(boolean.class, Boolean.class); - pmap1.put(byte.class, Byte.class); - pmap1.put(short.class, Short.class); - pmap1.put(char.class, Character.class); - pmap1.put(int.class, Integer.class); - pmap1.put(long.class, Long.class); - pmap1.put(float.class, Float.class); - pmap1.put(double.class, Double.class); - pmap2.put(Boolean.class, boolean.class); - pmap2.put(Byte.class, byte.class); - pmap2.put(Short.class, short.class); - pmap2.put(Character.class, char.class); - pmap2.put(Integer.class, int.class); - pmap2.put(Long.class, long.class); - pmap2.put(Float.class, float.class); - pmap2.put(Double.class, double.class); - } - - /** - * If the specified class is a primitive (e.g. <code><jk>int</jk>.<jk>class</jk></code>) - * returns it's wrapper class (e.g. <code>Integer.<jk>class</jk></code>). - * - * @param c The class. - * @return The wrapper class, or <jk>null</jk> if class is not a primitive. - */ - public static Class<?> getPrimitiveWrapper(Class<?> c) { - return pmap1.get(c); - } - - /** - * If the specified class is a primitive wrapper (e.g. <code><jk>Integer</jk>.<jk>class</jk></code>) - * returns it's primitive class (e.g. <code>int.<jk>class</jk></code>). - * - * @param c The class. - * @return The primitive class, or <jk>null</jk> if class is not a primitive wrapper. - */ - public static Class<?> getPrimitiveForWrapper(Class<?> c) { - return pmap2.get(c); - } - - /** - * If the specified class is a primitive (e.g. <code><jk>int</jk>.<jk>class</jk></code>) - * returns it's wrapper class (e.g. <code>Integer.<jk>class</jk></code>). - * - * @param c The class. - * @return The wrapper class if it's primitive, or the same class if class is not a primitive. - */ - public static Class<?> getWrapperIfPrimitive(Class<?> c) { - if (! c.isPrimitive()) - return c; - return pmap1.get(c); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.class deleted file mode 100755 index 25ba941..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.java deleted file mode 100755 index bec00b6..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/CollectionUtils.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.util.*; - -/** - * Utility methods for collections. - * - * @author James Bognar ([email protected]) - */ -public class CollectionUtils { - - /** - * Reverses the order of a {@link LinkedHashMap}. - * - * @param in The map to reverse the order on. - * @return A new {@link LinkedHashMap} with keys in reverse order. - */ - public static <K,V> LinkedHashMap<K,V> reverse(LinkedHashMap<K,V> in) { - if (in == null) - return null; - LinkedHashMap<K,V> m = new LinkedHashMap<K,V>(); - - // Note: Entry objects are reusable in an entry set, so we simply can't - // create a reversed iteration of that set. - List<K> keys = new ArrayList<K>(in.keySet()); - List<V> values = new ArrayList<V>(in.values()); - for (int i = in.size()-1; i >= 0; i--) - m.put(keys.get(i), values.get(i)); - - return m; - } - - /** - * Add a value to a list if the value is not null. - * - * @param l The list to add to. - * @param o The element to add. - * @return The same list. - */ - public static <T> List<T> addIfNotNull(List<T> l, T o) { - if (o != null) - l.add(o); - return l; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$1.class deleted file mode 100755 index 4452c8c..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$BeanMapEntryOverride.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$BeanMapEntryOverride.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$BeanMapEntryOverride.class deleted file mode 100755 index edd7903..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap$BeanMapEntryOverride.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.class deleted file mode 100755 index bd90f1f..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.java deleted file mode 100755 index c8e85d4..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateBeanMap.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.util.*; - -import com.ibm.juno.core.*; - -/** - * Represents a wrapped {@link BeanMap} where property values can be overridden, removed, or reordered - * without affecting the underlying bean. - * <p> - * Provides the {@link #filterKeys(List)} method for specifying the keys to keep in the bean map - * and in what order they should appear. - * - * @author James Bognar ([email protected]) - * @param <T> The class type of the wrapped bean. - */ -@SuppressWarnings("hiding") -public class DelegateBeanMap<T> extends BeanMap<T> { - - private Set<String> keys = Collections.newSetFromMap(new LinkedHashMap<String,Boolean>()); - private ObjectMap overrideValues = new ObjectMap(); - - @SuppressWarnings("unchecked") - DelegateBeanMap(T bean, BeanContext bc) { - super(bean, bc.getBeanMeta((Class<T>)bean.getClass())); - } - - void addKey(String key) { - this.keys.add(key); - } - - @Override /* Map */ - public Object put(String key, Object val) { - this.overrideValues.put(key, val); - this.keys.add(key); - return null; - } - - @Override /* Map */ - public Object get(Object key) { - if (overrideValues.containsKey(key)) - return overrideValues.get(key); - return super.get(key); - } - - @Override /* Map */ - public Set<String> keySet() { - return keys; - } - - /** - * Remove all but the specified properties from this bean map. - * <p> - * This does not affect the underlying bean. - * - * @param keys The remaining keys in the bean map (in the specified order). - */ - public void filterKeys(List<String> keys) { - this.keys.clear(); - this.keys.addAll(keys); - } - - @Override /* Map */ - public Object remove(Object key) { - keys.remove(key); - return null; - } - - @Override /* BeanMap */ - public BeanMeta<T> getMeta() { - return new BeanMetaFiltered<T>(super.getMeta(), keys); - } - - @Override /* Map */ - public Set<Entry<String,Object>> entrySet() { - Set<Entry<String,Object>> s = Collections.newSetFromMap(new LinkedHashMap<Map.Entry<String,Object>,Boolean>()); - for (final String key : keys) { - BeanMapEntry<T> bme; - if (overrideValues.containsKey(key)) - bme = new BeanMapEntryOverride<T>(this, this.getPropertyMeta(key), overrideValues.get(key)); - else - bme = this.getProperty(key); - if (bme == null) - throw new BeanRuntimeException(super.getClassMeta().getInnerClass(), "Property ''{0}'' not found on class.", key); - s.add(bme); - } - return s; - } - - private class BeanMapEntryOverride<T2> extends BeanMapEntry<T2> { - Object value; - - private BeanMapEntryOverride(BeanMap<T2> bm, BeanPropertyMeta<T2> bpm, Object value) { - super(bm, bpm); - this.value = value; - } - - @Override /* Map.Entry */ - public Object getValue() { - return value; - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.class deleted file mode 100755 index c7ab98a..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.java deleted file mode 100755 index 379bfe2..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateList.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.util.*; - -import com.ibm.juno.core.*; - -/** - * Represents a wrapped {@link Collection} where entries in the list can be removed or reordered without - * affecting the underlying list. - * - * @author James Bognar ([email protected]) - * @param <T> The class type of the wrapped bean. - */ -public class DelegateList<T extends Collection<?>> extends ObjectList implements Delegate<T> { - private static final long serialVersionUID = 1L; - - private transient ClassMeta<T> classMeta; - - DelegateList(ClassMeta<T> classMeta) { - this.classMeta = classMeta; - } - - @Override /* Delegate */ - public ClassMeta<T> getClassMeta() { - return classMeta; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.class deleted file mode 100755 index 3ed7bb7..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.java deleted file mode 100755 index 756546e..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/DelegateMap.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.util.*; - -import com.ibm.juno.core.*; - -/** - * Represents a wrapped {@link Map} where entries in the map can be removed without - * affecting the underlying map. - * - * @author James Bognar ([email protected]) - * @param <T> The class type of the wrapped bean. - */ -public class DelegateMap<T> extends ObjectMap implements Delegate<T> { - private static final long serialVersionUID = 1L; - - private transient ClassMeta<T> classMeta; - - DelegateMap(ClassMeta<T> classMeta) { - this.classMeta = classMeta; - } - - @Override /* Delegate */ - public ClassMeta<T> getClassMeta() { - return classMeta; - } - - /** - * Remove all but the specified keys from this map. - * <p> - * This does not affect the underlying map. - * - * @param keys The remaining keys in the map (in the specified order). - */ - public void filterKeys(List<String> keys) { - ObjectMap m2 = new ObjectMap(); - for (String k : keys) - m2.put(k, get(k)); - this.clear(); - this.putAll(m2); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.class deleted file mode 100755 index 7967b8f..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.java deleted file mode 100755 index 3639cbf..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FileUtils.java +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.io.*; - -/** - * File utilities. - */ -public class FileUtils { - - /** - * Same as {@link File#mkdirs()} except throws a RuntimeExeption if directory could not be created. - * - * @param f The directory to create. Must not be <jk>null</jk>. - * @param clean If <jk>true</jk>, deletes the contents of the directory if it already exists. - * @return The same file. - * @throws RuntimeException if directory could not be created. - */ - public static File mkdirs(File f, boolean clean) { - assertFieldNotNull(f, "f"); - if (f.exists()) { - if (clean) { - if (! delete(f)) - throw new RuntimeException("Could not clean directory '"+f.getAbsolutePath()+"'"); - } else { - return f; - } - } - if (! f.mkdirs()) - throw new RuntimeException("Could not create directory '" + f.getAbsolutePath() + "'"); - return f; - } - - /** - * Same as {@link #mkdirs(String, boolean)} but uses String path. - * - * @param path The path of the directory to create. Must not be <jk>null</jk> - * @param clean If <jk>true</jk>, deletes the contents of the directory if it already exists. - * @return The directory. - */ - public static File mkdirs(String path, boolean clean) { - assertFieldNotNull(path, "path"); - return mkdirs(new File(path), clean); - } - - /** - * Recursively deletes a file or directory. - * - * @param f The file or directory to delete. - * @return <jk>true</jk> if file or directory was successfully deleted. - */ - public static boolean delete(File f) { - if (f == null) - return true; - if (f.isDirectory()) { - File[] cf = f.listFiles(); - if (cf != null) - for (File c : cf) - delete(c); - } - return f.delete(); - } - - /** - * Creates a file if it doesn't already exist using {@link File#createNewFile()}. - * Throws a {@link RuntimeException} if the file could not be created. - * - * @param f The file to create. - */ - public static void create(File f) { - if (f.exists()) - return; - try { - if (! f.createNewFile()) - throw new RuntimeException("Could not create file '"+f.getAbsolutePath()+"'"); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - /** - * Updates the modified timestamp on the specified file. - * Method ensures that the timestamp changes even if it's been modified within the past millisecond. - * - * @param f The file to modify the modified timestamp on. - */ - public static void modifyTimestamp(File f) { - long lm = f.lastModified(); - long l = System.currentTimeMillis(); - if (lm == l) - l++; - if (! f.setLastModified(l)) - throw new RuntimeException("Could not modify timestamp on file '"+f.getAbsolutePath()+"'"); - - // Linux only gives 1s precision, so set the date 1s into the future. - if (lm == f.lastModified()) { - l += 1000; - if (! f.setLastModified(l)) - throw new RuntimeException("Could not modify timestamp on file '"+f.getAbsolutePath()+"'"); - } - } - - /** - * Create a temporary file with the specified name. - * <p> - * The name is broken into file name and suffix, and the parts - * are passed to {@link File#createTempFile(String, String)}. - * <p> - * {@link File#deleteOnExit()} is called on the resulting file before being returned by this method. - * - * @param name The file name - * @return A newly-created temporary file. - * @throws IOException - */ - public static File createTempFile(String name) throws IOException { - String[] parts = name.split("\\."); - File f = File.createTempFile(parts[0], "." + parts[1]); - f.deleteOnExit(); - return f; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$1.class deleted file mode 100755 index 69fd5cb..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$ListSet.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$ListSet.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$ListSet.class deleted file mode 100755 index cda0c50..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap$ListSet.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.class deleted file mode 100755 index 8f0774d..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.java deleted file mode 100755 index 9579fe3..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/FilteredMap.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.util.*; - -/** - * Wrapper around a map where the key names are overridden. - * - * @param <K> The key class type. - * @param <V> The value class type. - * @author James Bognar ([email protected]) - */ -public final class FilteredMap<K,V> extends AbstractMap<K,V> { - - private Map<K,V> innerMap; - private Set<Map.Entry<K,V>> entries; - - /** - * Constructor. - * - * @param innerMap The map being wrapped. Must not be <jk>null</jk>. - * @param keys The keys in the new map. Must not be <jk>null</jk>. - */ - public FilteredMap(Map<K,V> innerMap, K[] keys) { - assertFieldNotNull(innerMap, "innerMap"); - assertFieldNotNull(keys, "keys"); - - this.innerMap = innerMap; - List<Map.Entry<K,V>> l = new ArrayList<Map.Entry<K,V>>(keys.length); - for (K k : keys) - if (innerMap.containsKey(k)) - l.add(createEntry(k)); - entries = new ListSet<Map.Entry<K,V>>(l); - } - - private Map.Entry<K,V> createEntry(final K key) { - return new Map.Entry<K,V>() { - - @Override /* Map.Entry */ - public K getKey() { - return key; - } - - @Override /* Map.Entry */ - public V getValue() { - return innerMap.get(key); - } - - @Override /* Map.Entry */ - public V setValue(V v) { - return innerMap.put(key, v); - } - }; - } - - - @Override /* Map */ - public Set<Map.Entry<K,V>> entrySet() { - return entries; - } - - /** - * A set with ordered entries (i.e. a List with a Set API). - */ - private static class ListSet<E> extends AbstractSet<E> { - - private List<E> entries; - - public ListSet(List<E> entries) { - this.entries = entries; - } - - @Override /* Set */ - public Iterator<E> iterator() { - return entries.iterator(); - } - - @Override /* Set */ - public int size() { - return entries.size(); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe$LineProcessor.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe$LineProcessor.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe$LineProcessor.class deleted file mode 100755 index 5a68a01..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe$LineProcessor.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.class deleted file mode 100755 index 1f79c1c..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.java deleted file mode 100755 index 51d02a8..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOPipe.java +++ /dev/null @@ -1,208 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.io.*; -import java.util.*; - -/** - * A utility class for piping input streams and readers to output streams and writers. - * <p> - * A typical usage is as follows... - * <p class='bcode'> - * InputStream in = getInputStream(); - * Writer out = getWriter(); - * IOPipe.create(in, out).closeOut().run(); - * </p> - * <p> - * By default, the input stream is closed and the output stream is not. - * This can be changed by calling {@link #closeOut()} and {@link #close(boolean, boolean)}. - * - * @author James Bognar ([email protected]) - */ -@SuppressWarnings("hiding") -public class IOPipe { - - private Object input, output; - private boolean byLines; - private boolean closeIn = true, closeOut; - private int buffSize = 1024; - private LineProcessor lineProcessor; - - private IOPipe(Object input, Object output) { - assertFieldNotNull(input, "input"); - assertFieldNotNull(output, "output"); - - if (input instanceof CharSequence) - this.input = new StringReader(input.toString()); - else if (input instanceof InputStream || input instanceof Reader) - this.input = input; - else - illegalArg("Invalid input class type. Must be one of the following: InputStream, Reader, CharSequence"); - - if (output instanceof OutputStream || output instanceof Writer) - this.output = output; - else - illegalArg("Invalid output class type. Must be one of the following: OutputStream, Writer"); - } - - /** - * Creates a new pipe with the specified input and output. - * - * @param input The input. Must be one of the following types: Reader, InputStream, CharSequence. - * @param output The output. Must be one of the following types: Writer, OutputStream. - * @return This object (for method chaining). - */ - public static IOPipe create(Object input, Object output) { - return new IOPipe(input, output); - } - - /** - * Close output after piping. - * - * @return This object (for method chaining). - */ - public IOPipe closeOut() { - this.closeOut = true; - return this; - } - - /** - * Specifies whether to close the input and output after piping. - * - * @param in Close input stream. Default is <jk>true</jk>. - * @param out Close output stream. Default is <jk>false</jk>. - * @return This object (for method chaining). - */ - public IOPipe close(boolean in, boolean out) { - this.closeIn = in; - this.closeOut = out; - return this; - } - - /** - * Specifies the temporary buffer size. - * - * @param buffSize The buffer size. Default is <code>1024</code>. - * @return This object (for method chaining). - */ - public IOPipe buffSize(int buffSize) { - assertFieldPositive(buffSize, "buffSize"); - this.buffSize = buffSize; - return this; - } - - /** - * Specifies whether the content should be piped line-by-line. - * This can be useful if you're trying to pipe console-based input. - * - * @param byLines Pipe content line-by-line. Default is <jk>false</jk>. - * @return This object (for method chaining). - */ - public IOPipe byLines(boolean byLines) { - this.byLines = byLines; - return this; - } - - /** - * Sames as calling {@link #byLines()} with <jk>true</jk>. - * - * @return This object (for method chaining). - */ - public IOPipe byLines() { - this.byLines = true; - return this; - } - - /** - * Specifies a line processor that can be used to process lines before they're piped to the output. - * - * @param lineProcessor The line processor. - * @return This object (for method chaining). - */ - public IOPipe lineProcessor(LineProcessor lineProcessor) { - this.lineProcessor = lineProcessor; - return this; - } - - /** - * Interface to implement for the {@link #lineProcessor(LineProcessor)} method. - */ - public interface LineProcessor { - /** - * Process the specified line. - * - * @param line The line to process. - * @return The processed line. - */ - public String process(String line); - } - - /** - * Performs the piping of the input to the output. - * - * @return The number of bytes (if streams) or characters (if readers/writers) piped. - * @throws IOException - */ - public int run() throws IOException { - - int c = 0; - - try { - if (input instanceof InputStream && output instanceof OutputStream && lineProcessor == null) { - InputStream in = (InputStream)input; - OutputStream out = (OutputStream)output; - byte[] b = new byte[buffSize]; - int i; - while ((i = in.read(b)) > 0) { - c += i; - out.write(b, 0, i); - } - } else { - Reader in = (input instanceof Reader ? (Reader)input : new InputStreamReader((InputStream)input, IOUtils.UTF8)); - Writer out = (output instanceof Writer ? (Writer)output : new OutputStreamWriter((OutputStream)output, IOUtils.UTF8)); - output = out; - input = in; - if (byLines || lineProcessor != null) { - Scanner s = new Scanner(in); - while (s.hasNextLine()) { - String l = s.nextLine(); - if (lineProcessor != null) - l = lineProcessor.process(l); - if (l != null) { - out.write(l); - out.write("\n"); - out.flush(); - c += l.length() + 1; - } - } - } else { - int i; - char[] b = new char[buffSize]; - while ((i = in.read(b)) > 0) { - c += i; - out.write(b, 0, i); - } - } - } - } finally { - closeQuietly(input, output); - } - return c; - } - - private void closeQuietly(Object input, Object output) { - if (closeIn) - IOUtils.closeQuietly(input); - if (closeOut) - IOUtils.closeQuietly(output); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.class deleted file mode 100755 index af415ce..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.java deleted file mode 100755 index 16065af..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IOUtils.java +++ /dev/null @@ -1,352 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2011, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.io.*; -import java.nio.charset.*; - -/** - * Various I/O related utility methods. - * - * @author jbognar - */ -public final class IOUtils { - - /** UTF-8 charset */ - public static final Charset UTF8 = Charset.forName("UTF-8"); - - /** - * Reads the contents of a file into a string. - * - * @param path The path of the file to read using default character encoding. - * @return The contents of the reader as a string, or <jk>null</jk> if file does not exist. - * @throws IOException If a problem occurred trying to read from the reader. - */ - public static String readFile(String path) throws IOException { - return read(new File(path)); - } - - /** - * Reads the contents of a file into a string. - * - * @param in The file to read using default character encoding. - * @return The contents of the reader as a string, or <jk>null</jk> if file does not exist. - * @throws IOException If a problem occurred trying to read from the reader. - */ - public static String read(File in) throws IOException { - if (in == null || ! in.exists()) - return null; - Reader r = new InputStreamReader(new FileInputStream(in), Charset.defaultCharset()); - return read(r, 0, 1024); - } - - /** - * Writes the contents of the specified <code>Reader</code> to the specified file. - * - * @param out The file to write the output to. - * @param in The reader to pipe from. - * @return The number of characters written to the file. - * @throws IOException - */ - public static int write(File out, Reader in) throws IOException { - assertFieldNotNull(out, "out"); - assertFieldNotNull(in, "in"); - Writer w = new OutputStreamWriter(new FileOutputStream(out), Charset.defaultCharset()); - try { - return IOPipe.create(in, w).closeOut().run(); - } finally { - w.close(); - } - } - - /** - * Reads the contents of a reader into a string. - * - * @param in The input reader. - * @return The contents of the reader as a string. - * @throws IOException If a problem occurred trying to read from the reader. - */ - public static String read(Reader in) throws IOException { - return read(in, 0, 1024); - } - - /** - * Reads the contents of an input stream into a string using the specified charset. - * - * @param in The input stream. - * @param cs The charset of the contents of the input stream. - * @return The contents of the reader as a string. <jk>null</jk> if input stream was null. - * @throws IOException If a problem occurred trying to read from the input stream. - */ - public static String read(InputStream in, Charset cs) throws IOException { - if (in == null) - return null; - return read(new InputStreamReader(in, cs)); - } - - /** - * Reads the contents of an input stream into a string using the system default charset. - * - * @param in The input stream. - * @return The contents of the reader as a string, or <jk>null</jk> if the input stream is null. - * @throws IOException If a problem occurred trying to read from the input stream. - */ - public static String read(InputStream in) throws IOException { - if (in == null) - return null; - return read(new InputStreamReader(in, Charset.defaultCharset())); - } - - /** - * Read the specified input stream into a byte array and closes the stream. - * - * @param in The input stream. - * @param bufferSize The expected size of the buffer. - * @return The contents of the stream as a byte array. - * @throws IOException Thrown by underlying stream. - */ - public static byte[] readBytes(InputStream in, int bufferSize) throws IOException { - if (in == null) - return null; - ByteArrayOutputStream buff = new ByteArrayOutputStream(bufferSize); - int nRead; - byte[] b = new byte[Math.min(bufferSize, 8192)]; - - try { - while ((nRead = in.read(b, 0, b.length)) != -1) - buff.write(b, 0, nRead); - - buff.flush(); - - return buff.toByteArray(); - } finally { - in.close(); - } - } - - - /** - * Reads the specified input into a {@link String} until the end of the input is reached. - * <p> - * The {@code Reader} is automatically closed. - * <p> - * If the {@code Reader} is not an instance of a {@code BufferedReader}, then it gets wrapped in a {@code BufferedReader}. - * - * @param in The input reader. - * @param length Specify a positive number if the length of the input is known. - * @param bufferSize Specify the buffer size to use. - * @return The contents of the reader as a string. <jk>null</jk> if reader was null. - * @throws IOException If a problem occurred trying to read from the reader. - */ - public static String read(Reader in, int length, int bufferSize) throws IOException { - if (in == null) - return null; - length = (length <= 0 ? bufferSize : length); - StringBuilder sb = new StringBuilder(length); // Assume they're ASCII characters. - try { - char[] buf = new char[Math.min(bufferSize, length)]; - int i = 0; - while ((i = in.read(buf)) != -1) - sb.append(buf, 0, i); - return sb.toString(); - } finally { - in.close(); - } - } - - /** - * Pipes the contents of the specified reader into the writer. - * The reader is closed, the writer is not. - * - * @param in The reader to pipe from. - * @param out The writer to pipe to. - * @throws IOException - */ - public static void pipe(Reader in, Writer out) throws IOException { - assertFieldNotNull(out, "out"); - assertFieldNotNull(in, "in"); - IOPipe.create(in, out).run(); - } - - /** - * Wraps the specified reader in a buffered reader. - * <p> - * Returns the original reader if it's already one of the following: - * <ul> - * <li>{@link BufferedReader} - * <li>{@link StringReader} - * <li>{@link CharSequenceReader} - * </ul> - * - * @param r The reader being wrapped. - * @param buffSize The expected size of the input. - * @param minBuffSize The minimum buffer size to use if buffSize is too small. - * @param maxBuffSize The maximum buffer size to use if buffSize is too large. - * @return The wrapped reader. - */ - public static Reader getBufferedReader(Reader r, int buffSize, int minBuffSize, int maxBuffSize) { - assertFieldNotNull(r, "r"); - if (r instanceof BufferedReader || r instanceof StringReader) - return r; - if (buffSize <= 0) - buffSize = 1024; - if (buffSize < minBuffSize) - buffSize = minBuffSize; - else if (buffSize > maxBuffSize) - buffSize = maxBuffSize; - return new BufferedReader(r, buffSize); - } - - /** - * Shortcut for {@code getBufferedReader(r, buffSize, 128, 8096)} - * - * @param r The reader being wrapped. - * @param buffSize The expected size of the input. - * @return The reader wrapped in a {@link BufferedReader}, or the original {@link Reader} if it's already - * a buffered reader. - */ - public static Reader getBufferedReader(Reader r, int buffSize) { - return getBufferedReader(r, buffSize, 128, 8096); - } - - /** - * Counts the number of bytes in the input stream and then closes the stream. - * - * @param is The input stream to read from. - * @return The number of bytes read. - * @throws IOException - */ - public static long count(InputStream is) throws IOException { - assertFieldNotNull(is, "is"); - long c = 0; - long i; - try { - while ((i = is.skip(1024)) != 0) - c += i; - } finally { - is.close(); - } - return c; - } - - /** - * Counts the number of characters in the reader and then closes the reader. - * - * @param r The reader to read from. - * @return The number of characters read. - * @throws IOException - */ - public static long count(Reader r) throws IOException { - assertFieldNotNull(r, "r"); - long c = 0; - long i; - try { - while ((i = r.skip(1024)) != 0) - c += i; - } finally { - r.close(); - } - return c; - } - - /** - * Given the specified <js>"Content-Length"</js> header value, return an appropriate buffer size. - * The maximum buffer size is 1MB. - * - * @param contentLength The value of the <js>"Content-Length"</js> header. - * @return The appropriate buffer size. - */ - public static int getBufferSize(String contentLength) { - try { - if (! StringUtils.isEmpty(contentLength)) { - long l = Long.decode(contentLength); - if (l > 1048576) - return 1048576; - if (l <= 0) - return 8192; - return (int)l; - } - } catch (Exception e) { - return 8192; - } - return 8192; - } - - /** - * Close input stream and ignore any exceptions. - * No-op if input stream is <jk>null</jk>. - * - * @param is The input stream to close. - */ - public static void closeQuietly(InputStream is) { - try { - if (is != null) - is.close(); - } catch (IOException e) {} - } - - /** - * Close output stream and ignore any exceptions. - * No-op if output stream is <jk>null</jk>. - * - * @param os The output stream to close. - */ - public static void closeQuietly(OutputStream os) { - try { - if (os != null) - os.close(); - } catch (IOException e) {} - } - - /** - * Close reader and ignore any exceptions. - * No-op if reader is <jk>null</jk>. - * - * @param r The reader to close. - */ - public static void closeQuietly(Reader r) { - try { - if (r != null) - r.close(); - } catch (IOException e) {} - } - - /** - * Close writer and ignore any exceptions. - * No-op if writer is <jk>null</jk>. - * - * @param w The writer to close. - */ - public static void closeQuietly(Writer w) { - try { - if (w != null) - w.close(); - } catch (IOException e) {} - } - - /** - * Quietly close all specified input streams, output streams, readers, and writers. - * - * @param o The list of all objects to quietly close. - */ - public static void closeQuietly(Object...o) { - for (Object o2 : o) { - if (o2 instanceof InputStream) - closeQuietly((InputStream)o2); - if (o2 instanceof OutputStream) - closeQuietly((OutputStream)o2); - if (o2 instanceof Reader) - closeQuietly((Reader)o2); - if (o2 instanceof Writer) - closeQuietly((Writer)o2); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.class deleted file mode 100755 index 9f262fc..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.java deleted file mode 100755 index ac14dbd..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/IdentityList.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.util.*; - -/** - * Combination of a {@link LinkedList} and <code>IdentitySet</code>. - * <ul> - * <li>Duplicate objects (by identity) will be skipped during insertion. - * <li>Order of insertion maintained. - * </ul> - * <p> - * Note: This class is NOT thread safe, and is intended for use on small lists. - * - * @author James Bognar ([email protected]) - * @param <T> Entry type. - */ -public class IdentityList<T> extends LinkedList<T> { - - private static final long serialVersionUID = 1L; - - @Override /* List */ - public boolean add(T t) { - for (T t2 : this) - if (t2 == t) - return false; - super.add(t); - return true; - } - - @Override /* List */ - public boolean contains(Object t) { - for (T t2 : this) - if (t2 == t) - return true; - return false; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.class deleted file mode 100755 index f080e7f..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.java deleted file mode 100755 index e3f995b..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/KeywordSet.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2014, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -/** - * Stores a set of language keywords for quick lookup. - * <p> - * Keywords must be: - * <ul> - * <li>2 or more characters in length. - * <li>Lowercase ASCII. - * </ul> - * - * @author James Bognar ([email protected]) - */ -public final class KeywordSet { - final char[][][][] store; - - /** - * Constructor. - * - * @param keywords The list of keywords. - */ - public KeywordSet(String... keywords) { - this.store = new char[26][][][]; - - for (String keyword : keywords) { - if (keyword.length() < 2) - illegalArg("Invalid keyword '{0}' passed to KeywordStore.", keyword); - int c0 = keyword.charAt(0) - 'a'; - int c1 = keyword.charAt(1) - 'a'; - if (c0 < 0 || c0 > 25 || c1 < 0 || c1 > 25) - illegalArg("Invalid keyword '{0}' passed to KeywordStore.", keyword); - if (this.store[c0] == null) - this.store[c0] = new char[26][][]; - char[][][] x1 = this.store[c0]; - char[][] x2; - if (x1[c1] == null) - x2 = new char[1][]; - else { - x2 = new char[x1[c1].length+1][]; - System.arraycopy(x1[c1], 0, x2, 0, x1[c1].length); - } - x2[x2.length-1] = keyword.toCharArray(); - x1[c1] = x2; - } - } - - /** - * Returns <jk>true<jk> if the specified string exists in this store. - * - * @param s The string to check. - * @return <jk>true<jk> if the specified string exists in this store. - */ - public boolean contains(String s) { - if (s == null || s.length() < 2) - return false; - int c0 = s.charAt(0) - 'a', c1 = s.charAt(1) - 'a'; - if (c0 < 0 || c0 > 25 || c1 < 0 || c1 > 25) - return false; - char[][][] x1 = store[c0]; - if (x1 == null) - return false; - char[][] x2 = x1[c1]; - if (x2 == null) - return false; - for (int i = 0; i < x2.length; i++) { - char[] keyword = x2[i]; - if (keyword.length == s.length()) { - for (int j = 0; j < keyword.length; j++) - if (keyword[j] != s.charAt(j)) - return false; - return true; - } - } - return false; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable$1.class deleted file mode 100755 index 4e47109..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.class deleted file mode 100755 index aaec7a1..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.java deleted file mode 100755 index 089a4e8..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiIterable.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.util.*; - -/** - * Utility class for defining an iterator over one or more iterables. - * @param <E> The element class type. - */ -public class MultiIterable<E> implements Iterable<E> { - - final List<Iterator<E>> iterators = new LinkedList<Iterator<E>>(); - - /** - * Constructor. - * - * @param iterators The list of iterators to iterate over. - */ - public MultiIterable(Iterator<E>...iterators) { - for (Iterator<E> i : iterators) - append(i); - } - - /** - * Appends the specified iterator to this list of iterators. - * - * @param iterator The iterator to append. - * @return This object (for method chaining). - */ - public MultiIterable<E> append(Iterator<E> iterator) { - assertFieldNotNull(iterator, "iterator"); - this.iterators.add(iterator); - return this; - } - - @Override /* Iterable */ - public Iterator<E> iterator() { - return new Iterator<E>() { - Iterator<Iterator<E>> i1 = iterators.iterator(); - Iterator<E> i2 = i1.hasNext() ? i1.next() : null; - - @Override /* Iterator */ - public boolean hasNext() { - while (i2 != null && ! i2.hasNext()) - i2 = (i1.hasNext() ? i1.next() : null); - return (i2 != null); - } - - @Override /* Iterator */ - public E next() { - hasNext(); - if (i2 == null) - throw new NoSuchElementException(); - return i2.next(); - } - - @Override /* Iterator */ - public void remove() { - if (i2 == null) - throw new NoSuchElementException(); - i2.remove(); - } - }; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet$1.class deleted file mode 100755 index f8ca93b..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.class deleted file mode 100755 index 5bd3b5e..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.java deleted file mode 100755 index 44da937..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/MultiSet.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * (c) Copyright IBM Corporation 2011, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import static com.ibm.juno.core.utils.ThrowableUtils.*; - -import java.util.*; - -/** - * Encapsulates multiple collections so they can be iterated over as if they - * were all part of the same collection. - * - * @author James Bognar ([email protected]) - * @param <E> The object type of this set. - */ -public class MultiSet<E> extends AbstractSet<E> { - - /** Inner collections. */ - private List<Collection<E>> l = new ArrayList<Collection<E>>(); - - /** - * Create a new Set that consists as a coalesced set of the specified collections. - * - * @param c Zero or more collections to add to this set. - */ - public MultiSet(Collection<E>...c) { - for (Collection<E> cc : c) - append(cc); - } - - /** - * Appends the specified collection to this set of collections. - * - * @param c The collection to append to this set of collections. - * @return This object (for method chaining). - */ - public MultiSet<E> append(Collection<E> c) { - assertFieldNotNull(c, "c"); - l.add(c); - return this; - } - - /** - * Iterates over all entries in all collections. - */ - @Override /* Set */ - public Iterator<E> iterator() { - return new Iterator<E>() { - int i = 0; - Iterator<E> i2 = (l.size() > 0 ? l.get(i++).iterator() : null); - - @Override /* Iterator */ - public boolean hasNext() { - if (i2 == null) - return false; - if (i2.hasNext()) - return true; - for (int j = i; j < l.size(); j++) - if (l.get(j).size() > 0) - return true; - return false; - } - - @Override /* Iterator */ - public E next() { - if (i2 == null) - throw new NoSuchElementException(); - while (! i2.hasNext()) { - if (i >= l.size()) - throw new NoSuchElementException(); - i2 = l.get(i++).iterator(); - } - return i2.next(); - } - - @Override /* Iterator */ - public void remove() { - if (i2 == null) - throw new NoSuchElementException(); - i2.remove(); - } - }; - } - - /** - * Enumerates over all entries in all collections. - * - * @return An enumeration wrapper around this set. - */ - public Enumeration<E> enumerator() { - return Collections.enumeration(this); - } - - @Override /* Set */ - public int size() { - int i = 0; - for (Collection<E> c : l) - i += c.size(); - return i; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.class deleted file mode 100755 index d21fa8e..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.java ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.java b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.java deleted file mode 100755 index c051b90..0000000 --- a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoIntrospector.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Licensed Materials - Property of IBM - * © Copyright IBM Corporation 2011, 2015. All Rights Reserved. - * - * The source code for this program is not published or otherwise - * divested of its trade secrets, irrespective of what has been - * deposited with the U.S. Copyright Office. - *******************************************************************************/ -package com.ibm.juno.core.utils; - -import java.io.*; -import java.lang.reflect.*; - -import com.ibm.juno.core.*; -import com.ibm.juno.core.json.*; -import com.ibm.juno.core.parser.*; - -/** - * Used to invoke methods on {@code Objects} using arguments in serialized form. - * <p> - * Example: - * <p class='bcode'> - * String s = <js>"foobar"</js>; - * String s2 = (String)<jk>new</jk> PojoIntrospector(s).invoke(<js>"substring(int,int)"</js>, <js>"[3,6]"</js>); <jc>// "bar"</jc> - * </p> - * - * @author James Bognar ([email protected]) - */ -public final class PojoIntrospector { - - private final Object o; - private final ReaderParser p; - - /** - * Constructor. - * - * @param o The object on which Java methods will be invoked. - * @param p The parser to use to parse the method arguments. If <jk>null</jk>, {@link JsonParser#DEFAULT} is used. - */ - public PojoIntrospector(Object o, ReaderParser p) { - if (p == null) - p = JsonParser.DEFAULT; - this.o = o; - this.p = p; - } - - /** - * Shortcut for calling <code><jk>new</jk> PojoIntrospector(o, <jk>null</jk>);</code> - * - * @param o The object on which Java methods will be invoked. - */ - public PojoIntrospector(Object o) { - this(o, null); - } - - /** - * Primary method. Invokes the specified method on this bean. - * - * @param method The method being invoked. - * @param args The arguments to pass as parameters to the method.<br> - * These will automatically be converted to the appropriate object type if possible.<br> - * Can be <jk>null</jk> if method has no arguments. - * @return The object returned by the call to the method, or <jk>null</jk> if target object is <jk>null</jk>. - * @throws IllegalAccessException If the <code>Constructor</code> object enforces Java language access control and the underlying constructor is inaccessible. - * @throws IllegalArgumentException If one of the following occurs: - * <ul> - * <li>The number of actual and formal parameters differ. - * <li>An unwrapping conversion for primitive arguments fails. - * <li>A parameter value cannot be converted to the corresponding formal parameter type by a method invocation conversion. - * <li>The constructor pertains to an enum type. - * </ul> - * @throws InvocationTargetException If the underlying constructor throws an exception. - * @throws ParseException If the input contains a syntax error or is malformed. - * @throws IOException - */ - public Object invokeMethod(Method method, Reader args) throws InvocationTargetException, IllegalArgumentException, IllegalAccessException, ParseException, IOException { - if (o == null) - return null; - ClassMeta<?>[] argTypes = p.getBeanContext().getClassMetas(method.getParameterTypes()); - Object[] params = args == null ? null : p.parseArgs(args, -1, argTypes); - return method.invoke(o, params); - } - - /** - * Convenience method for invoking argument from method signature (@see {@link ClassUtils#getMethodSignature(Method)}. - * - * @param method The method being invoked. - * @param args The arguments to pass as parameters to the method.<br> - * These will automatically be converted to the appropriate object type if possible.<br> - * Can be <jk>null</jk> if method has no arguments. - * @return The object returned by the call to the method, or <jk>null</jk> if target object is <jk>null</jk>. - * @throws NoSuchMethodException If method does not exist. - * @throws IllegalAccessException If the <code>Constructor</code> object enforces Java language access control and the underlying constructor is inaccessible. - * @throws IllegalArgumentException If one of the following occurs: - * <ul> - * <li>The number of actual and formal parameters differ. - * <li>An unwrapping conversion for primitive arguments fails. - * <li>A parameter value cannot be converted to the corresponding formal parameter type by a method invocation conversion. - * <li>The constructor pertains to an enum type. - * </ul> - * @throws InvocationTargetException If the underlying constructor throws an exception. - * @throws ParseException If the input contains a syntax error or is malformed. - * @throws IOException - */ - public Object invokeMethod(String method, String args) throws NoSuchMethodException, IllegalArgumentException, InvocationTargetException, IllegalAccessException, ParseException, IOException { - if (o == null) - return null; - Method m = p.getBeanContext().getClassMeta(o.getClass()).getPublicMethods().get(method); - if (m == null) - throw new NoSuchMethodException(method); - return invokeMethod(m, args == null ? null : new StringReader(args)); - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$1.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$1.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$1.class deleted file mode 100755 index fb9bbd1..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$1.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CalendarP.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CalendarP.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CalendarP.class deleted file mode 100755 index 8bf4fcc..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CalendarP.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CollectionFilter.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CollectionFilter.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CollectionFilter.class deleted file mode 100755 index c263a15..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$CollectionFilter.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$DateMatcher.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$DateMatcher.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$DateMatcher.class deleted file mode 100755 index 709ef8d..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$DateMatcher.class and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30947fd7/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$IMatcher.class ---------------------------------------------------------------------- diff --git a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$IMatcher.class b/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$IMatcher.class deleted file mode 100755 index 2c8fc09..0000000 Binary files a/com.ibm.team.juno.releng/bin/core/com/ibm/juno/core/utils/PojoQuery$IMatcher.class and /dev/null differ
