[ 
https://issues.apache.org/jira/browse/OAK-10685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated OAK-10685:
---------------------------------
    Description: 
{noformat}
for i in oak*/src/main ; do ( cd $i ; grep -h "import.*guava.*;"  -R $(find . 
-name "*.java")) ; done | sort | uniq -c | sort -n
{noformat}

currently yields

{noformat}
     40 import org.apache.jackrabbit.guava.common.base.CaseFormat;
     40 import org.apache.jackrabbit.guava.common.base.CharMatcher;
     40 import org.apache.jackrabbit.guava.common.collect.BiMap;
     40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap;
     40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet;
     40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain;
     40 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap;
     40 import 
org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap;
     40 import org.apache.jackrabbit.guava.common.collect.Range;
     40 import org.apache.jackrabbit.guava.common.escape.Escapers;
     40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction;
     40 import org.apache.jackrabbit.guava.common.graph.Traverser;
     40 import org.apache.jackrabbit.guava.common.hash.Funnel;
     40 import org.apache.jackrabbit.guava.common.hash.Funnels;
     40 import org.apache.jackrabbit.guava.common.hash.HashCode;
     40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink;
     40 import org.apache.jackrabbit.guava.common.primitives.Chars;
     40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes;
     40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics;
     40 import 
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture;
     40 import 
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService;
     40 import static org.apache.jackrabbit.guava.common.base.Functions.compose;
     40 import static 
org.apache.jackrabbit.guava.common.base.Functions.constant;
     40 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
     40 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex;
     40 import static 
org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue;
     40 import static 
org.apache.jackrabbit.guava.common.base.Predicates.compose;
     40 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull;
     40 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME;
     40 import static 
org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty;
     40 import static 
org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString;
     40 import static 
org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Collections2.transform;
     40 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf;
     40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.partition;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator;
     40 import static org.apache.jackrabbit.guava.common.collect.Iterators.size;
     40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.transform;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque;
     40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference;
     40 import static 
org.apache.jackrabbit.guava.common.escape.Escapers.builder;
     40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read;
     40 import static 
org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND;
     40 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink;
     40 import static 
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare;
     40 import static 
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyEquals;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Atomics.newReference;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.directExecutor;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.joinUninterruptibly;
     80 import org.apache.jackrabbit.guava.common.annotations.VisibleForTesting;
     80 import org.apache.jackrabbit.guava.common.base.Functions;
     80 import org.apache.jackrabbit.guava.common.cache.AbstractCache;
     80 import org.apache.jackrabbit.guava.common.collect.HashBiMap;
     80 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap;
     80 import org.apache.jackrabbit.guava.common.hash.BloomFilter;
     80 import org.apache.jackrabbit.guava.common.hash.Hasher;
     80 import 
org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService;
     80 import 
org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
     80 import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
     80 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.JAVA_IO_TMPDIR;
     80 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.USER_HOME;
     80 import static 
org.apache.jackrabbit.guava.common.base.Stopwatch.createStarted;
     80 import static org.apache.jackrabbit.guava.common.base.Strings.repeat;
     80 import static 
org.apache.jackrabbit.guava.common.base.Suppliers.ofInstance;
     80 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableMap.of;
     80 import static org.apache.jackrabbit.guava.common.collect.Iterables.all;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.cycle;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.isEmpty;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.limit;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.concat;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.filterValues;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.immutableEntry;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newHashMapWithExpectedSize;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newConcurrentLinkedQueue;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.difference;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.intersection;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newConcurrentHashSet;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newHashSetWithExpectedSize;
     80 import static 
org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
     80 import static org.apache.jackrabbit.guava.common.io.Files.move;
     80 import static org.apache.jackrabbit.guava.common.io.Files.newWriter;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.listeningDecorator;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.awaitUninterruptibly;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
    120 import org.apache.jackrabbit.guava.common.base.Throwables;
    120 import org.apache.jackrabbit.guava.common.cache.RemovalListener;
    120 import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
    120 import org.apache.jackrabbit.guava.common.collect.EvictingQueue;
    120 import org.apache.jackrabbit.guava.common.io.BaseEncoding;
    120 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor.Guard;
    120 import 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles;
    120 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.LINE_SEPARATOR;
    120 import static 
org.apache.jackrabbit.guava.common.base.Strings.isNullOrEmpty;
    120 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableSet.copyOf;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.partition;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.filter;
    120 import static org.apache.jackrabbit.guava.common.collect.Lists.reverse;
    120 import static org.apache.jackrabbit.guava.common.io.Closeables.close;
    160 import org.apache.jackrabbit.guava.common.cache.LoadingCache;
    160 import org.apache.jackrabbit.guava.common.collect.Collections2;
    160 import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
    160 import org.apache.jackrabbit.guava.common.collect.HashMultimap;
    160 import org.apache.jackrabbit.guava.common.collect.Ordering;
    160 import org.apache.jackrabbit.guava.common.collect.Table;
    160 import org.apache.jackrabbit.guava.common.util.concurrent.AtomicDouble;
    160 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFutureTask;
    160 import 
org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
    160 import static org.apache.jackrabbit.guava.common.base.Objects.equal;
    160 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.FILE_SEPARATOR;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newLinkedList;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newTreeMap;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newIdentityHashSet;
    200 import org.apache.jackrabbit.guava.common.base.MoreObjects;
    200 import org.apache.jackrabbit.guava.common.base.Optional;
    200 import org.apache.jackrabbit.guava.common.collect.ObjectArrays;
    200 import org.apache.jackrabbit.guava.common.io.CountingInputStream;
    200 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor;
    200 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
    200 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
    200 import static org.apache.jackrabbit.guava.common.collect.Iterables.size;
    200 import static 
org.apache.jackrabbit.guava.common.collect.Lists.partition;
    200 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newTreeSet;
    240 import org.apache.jackrabbit.guava.common.base.Suppliers;
    240 import org.apache.jackrabbit.guava.common.base.Ticker;
    240 import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
    240 import org.apache.jackrabbit.guava.common.collect.PeekingIterator;
    240 import org.apache.jackrabbit.guava.common.collect.TreeTraverser;
    240 import org.apache.jackrabbit.guava.common.hash.Hashing;
    240 import 
org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
    240 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
    280 import org.apache.jackrabbit.guava.common.collect.Multimap;
    280 import org.apache.jackrabbit.guava.common.primitives.Longs;
    280 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.concat;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.contains;
    320 import org.apache.jackrabbit.guava.common.cache.CacheLoader;
    320 import 
org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture;
    320 import static org.apache.jackrabbit.guava.common.base.Predicates.in;
    320 import static org.apache.jackrabbit.guava.common.base.Suppliers.memoize;
    360 import org.apache.jackrabbit.guava.common.base.StandardSystemProperty;
    360 import org.apache.jackrabbit.guava.common.cache.RemovalCause;
    360 import org.apache.jackrabbit.guava.common.io.ByteSource;
    360 import org.apache.jackrabbit.guava.common.primitives.Ints;
    360 import static 
org.apache.jackrabbit.guava.common.base.MoreObjects.toStringHelper;
    360 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.toArray;
    360 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
    400 import org.apache.jackrabbit.guava.common.cache.CacheStats;
    400 import org.apache.jackrabbit.guava.common.collect.Queues;
    400 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkElementIndex;
    400 import static 
org.apache.jackrabbit.guava.common.base.Predicates.notNull;
    400 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.transform;
    400 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
    440 import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
    440 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
    440 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
    440 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newLinkedHashSet;
    480 import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
    480 import org.apache.jackrabbit.guava.common.collect.ListMultimap;
    480 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
    520 import org.apache.jackrabbit.guava.common.collect.FluentIterable;
    520 import org.apache.jackrabbit.guava.common.io.Closeables;
    560 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableList.copyOf;
    640 import org.apache.jackrabbit.guava.common.io.ByteStreams;
    680 import org.apache.jackrabbit.guava.common.base.Preconditions;
    680 import org.apache.jackrabbit.guava.common.cache.Weigher;
    760 import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
    880 import org.apache.jackrabbit.guava.common.base.Predicates;
    880 import org.apache.jackrabbit.guava.common.base.Splitter;
    880 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
    920 import static org.apache.jackrabbit.guava.common.base.Charsets.UTF_8;
    960 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithCapacity;
   1040 import org.apache.jackrabbit.guava.common.cache.Cache;
   1040 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.filter;
   1080 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
   1240 import org.apache.jackrabbit.guava.common.base.Objects;
   1280 import org.apache.jackrabbit.guava.common.base.Supplier;
   1280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.transform;
   1360 import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
   1640 import org.apache.jackrabbit.guava.common.io.Files;
   1920 import org.apache.jackrabbit.guava.common.base.Joiner;
   1920 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
   2000 import org.apache.jackrabbit.guava.common.base.Charsets;
   2040 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newHashMap;
   3400 import org.apache.jackrabbit.guava.common.base.Predicate;
   3400 import org.apache.jackrabbit.guava.common.base.Stopwatch;
   3400 import org.apache.jackrabbit.guava.common.base.Strings;
   3680 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
   3920 import org.apache.jackrabbit.guava.common.io.Closer;
   4000 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
   4360 import org.apache.jackrabbit.guava.common.base.Function;
   4880 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
   5000 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
   5840 import org.apache.jackrabbit.guava.common.collect.Iterators;
   6520 import org.apache.jackrabbit.guava.common.collect.Maps;
   8160 import org.apache.jackrabbit.guava.common.collect.Sets;
   8400 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
   9520 import org.apache.jackrabbit.guava.common.collect.Iterables;
  10520 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
  13080 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
  13760 import org.apache.jackrabbit.guava.common.collect.Lists;
  15640 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
{noformat}

For now, we should try to reduce the number of usages where a simple 
JDK/apache-commons equivalent is available.

  was:
{noformat}
for i in oak*/src/main ; do grep -h "import.*guava.*"  -R $(find . -name 
"*.java") ; done | sort | uniq -c | sort -n
{noformat}

currently yields

{noformat}
     40 import org.apache.jackrabbit.guava.common.base.CaseFormat;
     40 import org.apache.jackrabbit.guava.common.base.CharMatcher;
     40 import org.apache.jackrabbit.guava.common.collect.BiMap;
     40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap;
     40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet;
     40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain;
     40 import org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap;
     40 import 
org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap;
     40 import org.apache.jackrabbit.guava.common.collect.Range;
     40 import org.apache.jackrabbit.guava.common.escape.Escapers;
     40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction;
     40 import org.apache.jackrabbit.guava.common.graph.Traverser;
     40 import org.apache.jackrabbit.guava.common.hash.Funnel;
     40 import org.apache.jackrabbit.guava.common.hash.Funnels;
     40 import org.apache.jackrabbit.guava.common.hash.HashCode;
     40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink;
     40 import org.apache.jackrabbit.guava.common.primitives.Chars;
     40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes;
     40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics;
     40 import 
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture;
     40 import 
org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService;
     40 import static org.apache.jackrabbit.guava.common.base.Functions.compose;
     40 import static 
org.apache.jackrabbit.guava.common.base.Functions.constant;
     40 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
     40 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex;
     40 import static 
org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue;
     40 import static 
org.apache.jackrabbit.guava.common.base.Predicates.compose;
     40 import static org.apache.jackrabbit.guava.common.base.Predicates.isNull;
     40 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME;
     40 import static 
org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty;
     40 import static 
org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString;
     40 import static 
org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED;
     40 import static 
org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Collections2.transform;
     40 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf;
     40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.partition;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator;
     40 import static org.apache.jackrabbit.guava.common.collect.Iterators.size;
     40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Lists.transform;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque;
     40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter;
     40 import static 
org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference;
     40 import static 
org.apache.jackrabbit.guava.common.escape.Escapers.builder;
     40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read;
     40 import static 
org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND;
     40 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink;
     40 import static 
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare;
     40 import static 
org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyEquals;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Atomics.newReference;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.directExecutor;
     40 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.joinUninterruptibly;
     80 import org.apache.jackrabbit.guava.common.annotations.VisibleForTesting;
     80 import org.apache.jackrabbit.guava.common.base.Functions;
     80 import org.apache.jackrabbit.guava.common.cache.AbstractCache;
     80 import org.apache.jackrabbit.guava.common.collect.HashBiMap;
     80 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap;
     80 import org.apache.jackrabbit.guava.common.hash.BloomFilter;
     80 import org.apache.jackrabbit.guava.common.hash.Hasher;
     80 import 
org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService;
     80 import 
org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
     80 import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
     80 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.JAVA_IO_TMPDIR;
     80 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.USER_HOME;
     80 import static 
org.apache.jackrabbit.guava.common.base.Stopwatch.createStarted;
     80 import static org.apache.jackrabbit.guava.common.base.Strings.repeat;
     80 import static 
org.apache.jackrabbit.guava.common.base.Suppliers.ofInstance;
     80 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableMap.of;
     80 import static org.apache.jackrabbit.guava.common.collect.Iterables.all;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.cycle;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.isEmpty;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.limit;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.concat;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.filterValues;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.immutableEntry;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newHashMapWithExpectedSize;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Queues.newConcurrentLinkedQueue;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.difference;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.intersection;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newConcurrentHashSet;
     80 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newHashSetWithExpectedSize;
     80 import static 
org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
     80 import static org.apache.jackrabbit.guava.common.io.Files.move;
     80 import static org.apache.jackrabbit.guava.common.io.Files.newWriter;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.listeningDecorator;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.awaitUninterruptibly;
     80 import static 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
    120 import org.apache.jackrabbit.guava.common.base.Throwables;
    120 import org.apache.jackrabbit.guava.common.cache.RemovalListener;
    120 import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
    120 import org.apache.jackrabbit.guava.common.collect.EvictingQueue;
    120 import org.apache.jackrabbit.guava.common.io.BaseEncoding;
    120 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor.Guard;
    120 import 
org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles;
    120 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.LINE_SEPARATOR;
    120 import static 
org.apache.jackrabbit.guava.common.base.Strings.isNullOrEmpty;
    120 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableSet.copyOf;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.partition;
    120 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.filter;
    120 import static org.apache.jackrabbit.guava.common.collect.Lists.reverse;
    120 import static org.apache.jackrabbit.guava.common.io.Closeables.close;
    160 import org.apache.jackrabbit.guava.common.cache.LoadingCache;
    160 import org.apache.jackrabbit.guava.common.collect.Collections2;
    160 import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
    160 import org.apache.jackrabbit.guava.common.collect.HashMultimap;
    160 import org.apache.jackrabbit.guava.common.collect.Ordering;
    160 import org.apache.jackrabbit.guava.common.collect.Table;
    160 import org.apache.jackrabbit.guava.common.util.concurrent.AtomicDouble;
    160 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFutureTask;
    160 import 
org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
    160 import static org.apache.jackrabbit.guava.common.base.Objects.equal;
    160 import static 
org.apache.jackrabbit.guava.common.base.StandardSystemProperty.FILE_SEPARATOR;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newLinkedList;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newTreeMap;
    160 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newIdentityHashSet;
    200 import org.apache.jackrabbit.guava.common.base.MoreObjects;
    200 import org.apache.jackrabbit.guava.common.base.Optional;
    200 import org.apache.jackrabbit.guava.common.collect.ObjectArrays;
    200 import org.apache.jackrabbit.guava.common.io.CountingInputStream;
    200 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor;
    200 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
    200 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
    200 import static org.apache.jackrabbit.guava.common.collect.Iterables.size;
    200 import static 
org.apache.jackrabbit.guava.common.collect.Lists.partition;
    200 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newTreeSet;
    240 import org.apache.jackrabbit.guava.common.base.Suppliers;
    240 import org.apache.jackrabbit.guava.common.base.Ticker;
    240 import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
    240 import org.apache.jackrabbit.guava.common.collect.PeekingIterator;
    240 import org.apache.jackrabbit.guava.common.collect.TreeTraverser;
    240 import org.apache.jackrabbit.guava.common.hash.Hashing;
    240 import 
org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
    240 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
    280 import org.apache.jackrabbit.guava.common.collect.Multimap;
    280 import org.apache.jackrabbit.guava.common.primitives.Longs;
    280 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.concat;
    280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.contains;
    320 import org.apache.jackrabbit.guava.common.cache.CacheLoader;
    320 import 
org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture;
    320 import static org.apache.jackrabbit.guava.common.base.Predicates.in;
    320 import static org.apache.jackrabbit.guava.common.base.Suppliers.memoize;
    360 import org.apache.jackrabbit.guava.common.base.StandardSystemProperty;
    360 import org.apache.jackrabbit.guava.common.cache.RemovalCause;
    360 import org.apache.jackrabbit.guava.common.io.ByteSource;
    360 import org.apache.jackrabbit.guava.common.primitives.Ints;
    360 import static 
org.apache.jackrabbit.guava.common.base.MoreObjects.toStringHelper;
    360 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.toArray;
    360 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
    400 import org.apache.jackrabbit.guava.common.cache.CacheStats;
    400 import org.apache.jackrabbit.guava.common.collect.Queues;
    400 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkElementIndex;
    400 import static 
org.apache.jackrabbit.guava.common.base.Predicates.notNull;
    400 import static 
org.apache.jackrabbit.guava.common.collect.Iterators.transform;
    400 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
    440 import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
    440 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
    440 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
    440 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newLinkedHashSet;
    480 import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
    480 import org.apache.jackrabbit.guava.common.collect.ListMultimap;
    480 import 
org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
    520 import org.apache.jackrabbit.guava.common.collect.FluentIterable;
    520 import org.apache.jackrabbit.guava.common.io.Closeables;
    560 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableList.copyOf;
    640 import org.apache.jackrabbit.guava.common.io.ByteStreams;
    680 import org.apache.jackrabbit.guava.common.base.Preconditions;
    680 import org.apache.jackrabbit.guava.common.cache.Weigher;
    760 import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
    880 import org.apache.jackrabbit.guava.common.base.Predicates;
    880 import org.apache.jackrabbit.guava.common.base.Splitter;
    880 import static 
org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
    920 import static org.apache.jackrabbit.guava.common.base.Charsets.UTF_8;
    960 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithCapacity;
   1040 import org.apache.jackrabbit.guava.common.cache.Cache;
   1040 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.filter;
   1080 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
   1240 import org.apache.jackrabbit.guava.common.base.Objects;
   1280 import org.apache.jackrabbit.guava.common.base.Supplier;
   1280 import static 
org.apache.jackrabbit.guava.common.collect.Iterables.transform;
   1360 import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
   1640 import org.apache.jackrabbit.guava.common.io.Files;
   1920 import org.apache.jackrabbit.guava.common.base.Joiner;
   1920 import static 
org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
   2000 import org.apache.jackrabbit.guava.common.base.Charsets;
   2040 import static 
org.apache.jackrabbit.guava.common.collect.Maps.newHashMap;
   3400 import org.apache.jackrabbit.guava.common.base.Predicate;
   3400 import org.apache.jackrabbit.guava.common.base.Stopwatch;
   3400 import org.apache.jackrabbit.guava.common.base.Strings;
   3680 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
   3920 import org.apache.jackrabbit.guava.common.io.Closer;
   4000 import static 
org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
   4360 import org.apache.jackrabbit.guava.common.base.Function;
   4880 import static 
org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
   5000 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
   5840 import org.apache.jackrabbit.guava.common.collect.Iterators;
   6520 import org.apache.jackrabbit.guava.common.collect.Maps;
   8160 import org.apache.jackrabbit.guava.common.collect.Sets;
   8400 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
   9520 import org.apache.jackrabbit.guava.common.collect.Iterables;
  10520 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
  13080 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
  13760 import org.apache.jackrabbit.guava.common.collect.Lists;
  15640 import static 
org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
{noformat}

For now, we should try to reduce the number of usages where a simple 
JDK/apache-commons equivalent is available.


> reduce overall usage of (shaded) Guava
> --------------------------------------
>
>                 Key: OAK-10685
>                 URL: https://issues.apache.org/jira/browse/OAK-10685
>             Project: Jackrabbit Oak
>          Issue Type: Task
>            Reporter: Julian Reschke
>            Priority: Major
>
> {noformat}
> for i in oak*/src/main ; do ( cd $i ; grep -h "import.*guava.*;"  -R $(find . 
> -name "*.java")) ; done | sort | uniq -c | sort -n
> {noformat}
> currently yields
> {noformat}
>      40 import org.apache.jackrabbit.guava.common.base.CaseFormat;
>      40 import org.apache.jackrabbit.guava.common.base.CharMatcher;
>      40 import org.apache.jackrabbit.guava.common.collect.BiMap;
>      40 import org.apache.jackrabbit.guava.common.collect.ClassToInstanceMap;
>      40 import org.apache.jackrabbit.guava.common.collect.ContiguousSet;
>      40 import org.apache.jackrabbit.guava.common.collect.DiscreteDomain;
>      40 import 
> org.apache.jackrabbit.guava.common.collect.ImmutableListMultimap;
>      40 import 
> org.apache.jackrabbit.guava.common.collect.MutableClassToInstanceMap;
>      40 import org.apache.jackrabbit.guava.common.collect.Range;
>      40 import org.apache.jackrabbit.guava.common.escape.Escapers;
>      40 import org.apache.jackrabbit.guava.common.graph.SuccessorsFunction;
>      40 import org.apache.jackrabbit.guava.common.graph.Traverser;
>      40 import org.apache.jackrabbit.guava.common.hash.Funnel;
>      40 import org.apache.jackrabbit.guava.common.hash.Funnels;
>      40 import org.apache.jackrabbit.guava.common.hash.HashCode;
>      40 import org.apache.jackrabbit.guava.common.hash.PrimitiveSink;
>      40 import org.apache.jackrabbit.guava.common.primitives.Chars;
>      40 import org.apache.jackrabbit.guava.common.primitives.UnsignedBytes;
>      40 import org.apache.jackrabbit.guava.common.util.concurrent.Atomics;
>      40 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListenableFuture;
>      40 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ForwardingListeningExecutorService;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Functions.compose;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Functions.constant;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndex;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Predicates.alwaysTrue;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Predicates.compose;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Predicates.isNull;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.StandardSystemProperty.OS_NAME;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Strings.nullToEmpty;
>      40 import static 
> org.apache.jackrabbit.guava.common.base.Throwables.getStackTraceAsString;
>      40 import static 
> org.apache.jackrabbit.guava.common.cache.CacheBuilder.newBuilder;
>      40 import static 
> org.apache.jackrabbit.guava.common.cache.RemovalCause.COLLECTED;
>      40 import static 
> org.apache.jackrabbit.guava.common.cache.RemovalCause.EXPIRED;
>      40 import static 
> org.apache.jackrabbit.guava.common.cache.RemovalCause.SIZE;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Collections2.transform;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf;
>      40 import static org.apache.jackrabbit.guava.common.collect.Iterables.*;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.mergeSorted;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.partition;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.peekingIterator;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.size;
>      40 import static org.apache.jackrabbit.guava.common.collect.Lists.asList;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithExpectedSize;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newCopyOnWriteArrayList;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.transform;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Queues.newArrayBlockingQueue;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Queues.newArrayDeque;
>      40 import static org.apache.jackrabbit.guava.common.collect.Sets.filter;
>      40 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.symmetricDifference;
>      40 import static 
> org.apache.jackrabbit.guava.common.escape.Escapers.builder;
>      40 import static org.apache.jackrabbit.guava.common.io.ByteStreams.read;
>      40 import static 
> org.apache.jackrabbit.guava.common.io.FileWriteMode.APPEND;
>      40 import static org.apache.jackrabbit.guava.common.io.Files.asByteSink;
>      40 import static 
> org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyCompare;
>      40 import static 
> org.apache.jackrabbit.guava.common.math.DoubleMath.fuzzyEquals;
>      40 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.Atomics.newReference;
>      40 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.directExecutor;
>      40 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.joinUninterruptibly;
>      80 import 
> org.apache.jackrabbit.guava.common.annotations.VisibleForTesting;
>      80 import org.apache.jackrabbit.guava.common.base.Functions;
>      80 import org.apache.jackrabbit.guava.common.cache.AbstractCache;
>      80 import org.apache.jackrabbit.guava.common.collect.HashBiMap;
>      80 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap;
>      80 import org.apache.jackrabbit.guava.common.hash.BloomFilter;
>      80 import org.apache.jackrabbit.guava.common.hash.Hasher;
>      80 import 
> org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService;
>      80 import 
> org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
>      80 import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
>      80 import static 
> org.apache.jackrabbit.guava.common.base.StandardSystemProperty.JAVA_IO_TMPDIR;
>      80 import static 
> org.apache.jackrabbit.guava.common.base.StandardSystemProperty.USER_HOME;
>      80 import static 
> org.apache.jackrabbit.guava.common.base.Stopwatch.createStarted;
>      80 import static org.apache.jackrabbit.guava.common.base.Strings.repeat;
>      80 import static 
> org.apache.jackrabbit.guava.common.base.Suppliers.ofInstance;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableMap.of;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.all;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.cycle;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.isEmpty;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.limit;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.concat;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.filterValues;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.immutableEntry;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.newHashMapWithExpectedSize;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Queues.newConcurrentLinkedQueue;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.difference;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.intersection;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newConcurrentHashSet;
>      80 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newHashSetWithExpectedSize;
>      80 import static 
> org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
>      80 import static org.apache.jackrabbit.guava.common.io.Files.move;
>      80 import static org.apache.jackrabbit.guava.common.io.Files.newWriter;
>      80 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.listeningDecorator;
>      80 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.awaitUninterruptibly;
>      80 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
>     120 import org.apache.jackrabbit.guava.common.base.Throwables;
>     120 import org.apache.jackrabbit.guava.common.cache.RemovalListener;
>     120 import org.apache.jackrabbit.guava.common.cache.RemovalNotification;
>     120 import org.apache.jackrabbit.guava.common.collect.EvictingQueue;
>     120 import org.apache.jackrabbit.guava.common.io.BaseEncoding;
>     120 import 
> org.apache.jackrabbit.guava.common.util.concurrent.Monitor.Guard;
>     120 import 
> org.apache.jackrabbit.guava.common.util.concurrent.Uninterruptibles;
>     120 import static 
> org.apache.jackrabbit.guava.common.base.StandardSystemProperty.LINE_SEPARATOR;
>     120 import static 
> org.apache.jackrabbit.guava.common.base.Strings.isNullOrEmpty;
>     120 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableSet.copyOf;
>     120 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.elementsEqual;
>     120 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.partition;
>     120 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.filter;
>     120 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.reverse;
>     120 import static org.apache.jackrabbit.guava.common.io.Closeables.close;
>     160 import org.apache.jackrabbit.guava.common.cache.LoadingCache;
>     160 import org.apache.jackrabbit.guava.common.collect.Collections2;
>     160 import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
>     160 import org.apache.jackrabbit.guava.common.collect.HashMultimap;
>     160 import org.apache.jackrabbit.guava.common.collect.Ordering;
>     160 import org.apache.jackrabbit.guava.common.collect.Table;
>     160 import 
> org.apache.jackrabbit.guava.common.util.concurrent.AtomicDouble;
>     160 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ListenableFutureTask;
>     160 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
>     160 import static org.apache.jackrabbit.guava.common.base.Objects.equal;
>     160 import static 
> org.apache.jackrabbit.guava.common.base.StandardSystemProperty.FILE_SEPARATOR;
>     160 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newLinkedList;
>     160 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
>     160 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.newTreeMap;
>     160 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newIdentityHashSet;
>     200 import org.apache.jackrabbit.guava.common.base.MoreObjects;
>     200 import org.apache.jackrabbit.guava.common.base.Optional;
>     200 import org.apache.jackrabbit.guava.common.collect.ObjectArrays;
>     200 import org.apache.jackrabbit.guava.common.io.CountingInputStream;
>     200 import org.apache.jackrabbit.guava.common.util.concurrent.Monitor;
>     200 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
>     200 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.any;
>     200 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.size;
>     200 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.partition;
>     200 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newTreeSet;
>     240 import org.apache.jackrabbit.guava.common.base.Suppliers;
>     240 import org.apache.jackrabbit.guava.common.base.Ticker;
>     240 import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
>     240 import org.apache.jackrabbit.guava.common.collect.PeekingIterator;
>     240 import org.apache.jackrabbit.guava.common.collect.TreeTraverser;
>     240 import org.apache.jackrabbit.guava.common.hash.Hashing;
>     240 import 
> org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
>     240 import static org.apache.jackrabbit.guava.common.collect.Sets.union;
>     280 import org.apache.jackrabbit.guava.common.collect.Multimap;
>     280 import org.apache.jackrabbit.guava.common.primitives.Longs;
>     280 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
>     280 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.addAll;
>     280 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.concat;
>     280 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.contains;
>     320 import org.apache.jackrabbit.guava.common.cache.CacheLoader;
>     320 import 
> org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture;
>     320 import static org.apache.jackrabbit.guava.common.base.Predicates.in;
>     320 import static 
> org.apache.jackrabbit.guava.common.base.Suppliers.memoize;
>     360 import org.apache.jackrabbit.guava.common.base.StandardSystemProperty;
>     360 import org.apache.jackrabbit.guava.common.cache.RemovalCause;
>     360 import org.apache.jackrabbit.guava.common.io.ByteSource;
>     360 import org.apache.jackrabbit.guava.common.primitives.Ints;
>     360 import static 
> org.apache.jackrabbit.guava.common.base.MoreObjects.toStringHelper;
>     360 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.toArray;
>     360 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.newLinkedHashMap;
>     400 import org.apache.jackrabbit.guava.common.cache.CacheStats;
>     400 import org.apache.jackrabbit.guava.common.collect.Queues;
>     400 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkElementIndex;
>     400 import static 
> org.apache.jackrabbit.guava.common.base.Predicates.notNull;
>     400 import static 
> org.apache.jackrabbit.guava.common.collect.Iterators.transform;
>     400 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.newConcurrentMap;
>     440 import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
>     440 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
>     440 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
>     440 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newLinkedHashSet;
>     480 import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
>     480 import org.apache.jackrabbit.guava.common.collect.ListMultimap;
>     480 import 
> org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
>     520 import org.apache.jackrabbit.guava.common.collect.FluentIterable;
>     520 import org.apache.jackrabbit.guava.common.io.Closeables;
>     560 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableList.copyOf;
>     640 import org.apache.jackrabbit.guava.common.io.ByteStreams;
>     680 import org.apache.jackrabbit.guava.common.base.Preconditions;
>     680 import org.apache.jackrabbit.guava.common.cache.Weigher;
>     760 import 
> org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
>     880 import org.apache.jackrabbit.guava.common.base.Predicates;
>     880 import org.apache.jackrabbit.guava.common.base.Splitter;
>     880 import static 
> org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors.newDirectExecutorService;
>     920 import static org.apache.jackrabbit.guava.common.base.Charsets.UTF_8;
>     960 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithCapacity;
>    1040 import org.apache.jackrabbit.guava.common.cache.Cache;
>    1040 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.filter;
>    1080 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableList.of;
>    1240 import org.apache.jackrabbit.guava.common.base.Objects;
>    1280 import org.apache.jackrabbit.guava.common.base.Supplier;
>    1280 import static 
> org.apache.jackrabbit.guava.common.collect.Iterables.transform;
>    1360 import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
>    1640 import org.apache.jackrabbit.guava.common.io.Files;
>    1920 import org.apache.jackrabbit.guava.common.base.Joiner;
>    1920 import static 
> org.apache.jackrabbit.guava.common.collect.ImmutableSet.of;
>    2000 import org.apache.jackrabbit.guava.common.base.Charsets;
>    2040 import static 
> org.apache.jackrabbit.guava.common.collect.Maps.newHashMap;
>    3400 import org.apache.jackrabbit.guava.common.base.Predicate;
>    3400 import org.apache.jackrabbit.guava.common.base.Stopwatch;
>    3400 import org.apache.jackrabbit.guava.common.base.Strings;
>    3680 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkState;
>    3920 import org.apache.jackrabbit.guava.common.io.Closer;
>    4000 import static 
> org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
>    4360 import org.apache.jackrabbit.guava.common.base.Function;
>    4880 import static 
> org.apache.jackrabbit.guava.common.collect.Lists.newArrayList;
>    5000 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkArgument;
>    5840 import org.apache.jackrabbit.guava.common.collect.Iterators;
>    6520 import org.apache.jackrabbit.guava.common.collect.Maps;
>    8160 import org.apache.jackrabbit.guava.common.collect.Sets;
>    8400 import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
>    9520 import org.apache.jackrabbit.guava.common.collect.Iterables;
>   10520 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
>   13080 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
>   13760 import org.apache.jackrabbit.guava.common.collect.Lists;
>   15640 import static 
> org.apache.jackrabbit.guava.common.base.Preconditions.checkNotNull;
> {noformat}
> For now, we should try to reduce the number of usages where a simple 
> JDK/apache-commons equivalent is available.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to