This is an automated email from the ASF dual-hosted git repository.
sseifert pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-caconfig-impl.git
The following commit(s) were added to refs/heads/master by this push:
new 60e1346 SLING-8638 caconfig-impl: Switch from legacy commons
collections 3 to commons collections 4
60e1346 is described below
commit 60e1346f44efe72410b50f3f70938e56ea306ae4
Author: sseifert <[email protected]>
AuthorDate: Thu Aug 15 20:23:39 2019 +0200
SLING-8638 caconfig-impl: Switch from legacy commons collections 3 to
commons collections 4
---
pom.xml | 6 +++---
.../sling/caconfig/impl/ConfigurationBuilderImpl.java | 8 ++++----
.../ConfigurationInheritanceStrategyMultiplexerImpl.java | 4 ++--
.../caconfig/management/impl/ConfigurationDataImpl.java | 3 +--
.../caconfig/management/impl/ConfigurationManagerImpl.java | 8 ++++----
.../impl/ContextPathStrategyMultiplexerImpl.java | 1 -
.../def/DefaultConfigurationResourceResolvingStrategy.java | 14 +++++++-------
.../impl/util/PathEliminateDuplicatesIterator.java | 14 +++++++-------
.../impl/util/ResourceEliminateDuplicatesIterator.java | 13 ++++++-------
.../resource/impl/util/ResourcePathCollatingIterator.java | 8 +++++---
.../resource/impl/util/ContextResourceTestUtil.java | 4 ++--
.../impl/util/PathEliminateDuplicatesIteratorTest.java | 1 -
.../impl/util/ResourceEliminateDuplicatesIteratorTest.java | 3 +--
.../impl/util/ResourcePathCollatingIteratorTest.java | 3 ---
14 files changed, 42 insertions(+), 48 deletions(-)
diff --git a/pom.xml b/pom.xml
index ae5f24b..c6a2fb1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -163,9 +163,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2.1</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>4.1</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git
a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
b/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
index 906bf09..307de4e 100644
--- a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
+++ b/src/main/java/org/apache/sling/caconfig/impl/ConfigurationBuilderImpl.java
@@ -26,10 +26,10 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.ResettableListIterator;
-import org.apache.commons.collections.Transformer;
-import org.apache.commons.collections.iterators.ListIteratorWrapper;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.ResettableListIterator;
+import org.apache.commons.collections4.Transformer;
+import org.apache.commons.collections4.iterators.ListIteratorWrapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceUtil;
diff --git
a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImpl.java
b/src/main/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImpl.java
index e1325af..2822bea 100644
---
a/src/main/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImpl.java
+++
b/src/main/java/org/apache/sling/caconfig/impl/ConfigurationInheritanceStrategyMultiplexerImpl.java
@@ -22,8 +22,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.commons.collections.ResettableListIterator;
-import org.apache.commons.collections.iterators.ListIteratorWrapper;
+import org.apache.commons.collections4.ResettableListIterator;
+import org.apache.commons.collections4.iterators.ListIteratorWrapper;
import org.apache.sling.api.resource.Resource;
import
org.apache.sling.caconfig.management.multiplexer.ConfigurationInheritanceStrategyMultiplexer;
import org.apache.sling.caconfig.spi.ConfigurationInheritanceStrategy;
diff --git
a/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
index 54553fb..6d43dcf 100644
---
a/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
+++
b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationDataImpl.java
@@ -28,7 +28,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.commons.collections.IteratorUtils;
+import org.apache.commons.collections4.IteratorUtils;
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.Resource;
@@ -65,7 +65,6 @@ final class ConfigurationDataImpl implements
ConfigurationData {
private ValueMap valuesCache;
private ValueMap effectiveValuesCache;
- @SuppressWarnings("unchecked")
public ConfigurationDataImpl(ConfigurationMetadata configMetadata,
Resource resolvedConfigurationResource, Resource
writebackConfigurationResource,
Iterator<Resource> configurationResourceInheritanceChain,
diff --git
a/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
index cdf070b..fc46b7c 100644
---
a/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
+++
b/src/main/java/org/apache/sling/caconfig/management/impl/ConfigurationManagerImpl.java
@@ -29,10 +29,10 @@ import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.ResettableIterator;
-import org.apache.commons.collections.Transformer;
-import org.apache.commons.collections.iterators.ListIteratorWrapper;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.ResettableIterator;
+import org.apache.commons.collections4.Transformer;
+import org.apache.commons.collections4.iterators.ListIteratorWrapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
diff --git
a/src/main/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImpl.java
b/src/main/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImpl.java
index 85a74de..f75c7b2 100644
---
a/src/main/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImpl.java
+++
b/src/main/java/org/apache/sling/caconfig/management/impl/ContextPathStrategyMultiplexerImpl.java
@@ -102,7 +102,6 @@ public class ContextPathStrategyMultiplexerImpl implements
ContextPathStrategyMu
* @param allResults List of all results
* @return Merged result
*/
- @SuppressWarnings("unchecked")
private Iterator<ContextResource>
mergeResults(List<Iterator<ContextResource>> allResults) {
return new ResourceEliminateDuplicatesIterator(
new ResourcePathCollatingIterator(allResults)
diff --git
a/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
b/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
index 2020352..38cb165 100644
---
a/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
+++
b/src/main/java/org/apache/sling/caconfig/resource/impl/def/DefaultConfigurationResourceResolvingStrategy.java
@@ -31,13 +31,13 @@ import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.collections.PredicateUtils;
-import org.apache.commons.collections.Transformer;
-import org.apache.commons.collections.iterators.ArrayIterator;
-import org.apache.commons.collections.iterators.FilterIterator;
-import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.PredicateUtils;
+import org.apache.commons.collections4.Transformer;
+import org.apache.commons.collections4.iterators.ArrayIterator;
+import org.apache.commons.collections4.iterators.FilterIterator;
+import org.apache.commons.collections4.iterators.IteratorChain;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
diff --git
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIterator.java
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIterator.java
index 45601cc..d55107d 100644
---
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIterator.java
+++
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIterator.java
@@ -22,24 +22,24 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.collections.iterators.FilterIterator;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.iterators.FilterIterator;
/**
* Iterator that eliminates duplicate paths.
*/
-public class PathEliminateDuplicatesIterator extends FilterIterator {
+public class PathEliminateDuplicatesIterator extends FilterIterator<String> {
public PathEliminateDuplicatesIterator(Iterator<String> iterator) {
- super(iterator, new Predicate() {
+ super(iterator, new Predicate<String>() {
private final Set<String> resourcePaths = new HashSet<>();
@Override
- public boolean evaluate(Object object) {
- return resourcePaths.add((String)object);
+ public boolean evaluate(String object) {
+ return resourcePaths.add(object);
}
});
}
-
+
}
diff --git
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIterator.java
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIterator.java
index 20760bf..bf95224 100644
---
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIterator.java
+++
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIterator.java
@@ -22,28 +22,27 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
-import org.apache.commons.collections.Predicate;
-import org.apache.commons.collections.iterators.FilterIterator;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.iterators.FilterIterator;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.caconfig.resource.spi.ContextResource;
/**
* Iterator that eliminates duplicate resources (having same path).
*/
-public class ResourceEliminateDuplicatesIterator extends FilterIterator {
+public class ResourceEliminateDuplicatesIterator extends
FilterIterator<ContextResource> {
public ResourceEliminateDuplicatesIterator(Iterator<ContextResource>
iterator) {
- super(iterator, new Predicate() {
+ super(iterator, new Predicate<ContextResource>() {
private final Set<String> keys = new HashSet<>();
@Override
- public boolean evaluate(Object object) {
- ContextResource contextResource = (ContextResource)object;
+ public boolean evaluate(ContextResource contextResource) {
String key = contextResource.getResource().getPath() + "#" +
StringUtils.defaultString(contextResource.getConfigRef());
return keys.add(key);
}
});
}
-
+
}
diff --git
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIterator.java
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIterator.java
index 1ef31f3..fb31ee4 100644
---
a/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIterator.java
+++
b/src/main/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIterator.java
@@ -18,11 +18,12 @@
*/
package org.apache.sling.caconfig.resource.impl.util;
+import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
-import org.apache.commons.collections.iterators.CollatingIterator;
+import org.apache.commons.collections4.iterators.CollatingIterator;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.caconfig.resource.spi.ContextResource;
@@ -31,7 +32,7 @@ import org.apache.sling.caconfig.resource.spi.ContextResource;
* (= sorted by path hierarchy starting with the deepest path).
* Result is a new iterator with all resources combined from all iterators in
the same order, duplicates not eliminated.
*/
-public class ResourcePathCollatingIterator extends CollatingIterator {
+public class ResourcePathCollatingIterator extends
CollatingIterator<ContextResource> {
private static Comparator<ContextResource> PATH_LENGTH_COMPARATOR = new
Comparator<ContextResource>() {
@Override
@@ -51,8 +52,9 @@ public class ResourcePathCollatingIterator extends
CollatingIterator {
}
};
+ @SuppressWarnings("unchecked")
public ResourcePathCollatingIterator(List<Iterator<ContextResource>>
iterator) {
- super(PATH_LENGTH_COMPARATOR, iterator);
+ super(PATH_LENGTH_COMPARATOR, (Collection)iterator);
}
}
diff --git
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ContextResourceTestUtil.java
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ContextResourceTestUtil.java
index ceac51e..fac1b58 100644
---
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ContextResourceTestUtil.java
+++
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ContextResourceTestUtil.java
@@ -20,8 +20,8 @@ package org.apache.sling.caconfig.resource.impl.util;
import java.util.Iterator;
-import org.apache.commons.collections.IteratorUtils;
-import org.apache.commons.collections.Transformer;
+import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.Transformer;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.caconfig.resource.spi.ContextResource;
diff --git
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIteratorTest.java
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIteratorTest.java
index 54277d7..1e696f4 100644
---
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIteratorTest.java
+++
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/PathEliminateDuplicatesIteratorTest.java
@@ -28,7 +28,6 @@ import com.google.common.collect.ImmutableList;
public class PathEliminateDuplicatesIteratorTest {
- @SuppressWarnings("unchecked")
@Test
public void testIterator() {
List<String> paths = ImmutableList.of(
diff --git
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
index 080d313..65f7dd8 100644
---
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
+++
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourceEliminateDuplicatesIteratorTest.java
@@ -36,11 +36,10 @@ import com.google.common.collect.ImmutableList;
@SuppressWarnings("null")
public class ResourceEliminateDuplicatesIteratorTest {
-
+
@Rule
public SlingContext context = new SlingContext();
- @SuppressWarnings("unchecked")
@Test
public void testIterator() {
context.build()
diff --git
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
index 176239c..793735a 100644
---
a/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
+++
b/src/test/java/org/apache/sling/caconfig/resource/impl/util/ResourcePathCollatingIteratorTest.java
@@ -43,7 +43,6 @@ public class ResourcePathCollatingIteratorTest {
@Rule
public SlingContext context = new SlingContext();
- @SuppressWarnings("unchecked")
@Test
public void testIterator() {
context.build()
@@ -71,7 +70,6 @@ public class ResourcePathCollatingIteratorTest {
"/content/a"));
}
- @SuppressWarnings("unchecked")
@Test
public void testWithConfigRef() {
context.build()
@@ -98,7 +96,6 @@ public class ResourcePathCollatingIteratorTest {
assertEquals("/conf/z", item2.getConfigRef());
}
- @SuppressWarnings("unchecked")
@Test
public void testWithConfigRefAndServiceRanking() {
context.build()