This is an automated email from the ASF dual-hosted git repository.
davidb pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git
The following commit(s) were added to refs/heads/master by this push:
new d232c81 SLING-8109 Replace KeyValueMap with Map<String,String>
d232c81 is described below
commit d232c814a15462ebd5ebbe6be3826f1164160551
Author: David Bosschaert <[email protected]>
AuthorDate: Wed Nov 14 15:16:50 2018 +0000
SLING-8109 Replace KeyValueMap with Map<String,String>
---
.../apache/sling/feature/analyser/Analyser.java | 42 +++++++++++-----------
.../feature/analyser/task/AnalyserTaskContext.java | 5 +--
.../org/apache/sling/feature/scanner/Scanner.java | 3 +-
.../scanner/impl/FelixFrameworkScanner.java | 39 ++++++++++----------
.../feature/scanner/spi/FrameworkScanner.java | 8 ++---
.../impl/AbstractApiRegionsAnalyserTaskTest.java | 32 +++++++++--------
.../scanner/impl/FelixFrameworkScannerTest.java | 21 +++++------
7 files changed, 76 insertions(+), 74 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/analyser/Analyser.java
b/src/main/java/org/apache/sling/feature/analyser/Analyser.java
index 4e0f343..8c1afd3 100644
--- a/src/main/java/org/apache/sling/feature/analyser/Analyser.java
+++ b/src/main/java/org/apache/sling/feature/analyser/Analyser.java
@@ -16,21 +16,8 @@
*/
package org.apache.sling.feature.analyser;
-import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasks;
-import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasksByClassName;
-import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasksByIds;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.analyser.task.AnalyserTask;
import org.apache.sling.feature.analyser.task.AnalyserTaskContext;
import org.apache.sling.feature.scanner.BundleDescriptor;
@@ -39,6 +26,19 @@ import org.apache.sling.feature.scanner.Scanner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasks;
+import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasksByClassName;
+import static
org.apache.sling.feature.analyser.task.AnalyzerTaskProvider.getTasksByIds;
+
public class Analyser {
private final AnalyserTask[] tasks;
@@ -47,7 +47,7 @@ public class Analyser {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
- private final Map<String, KeyValueMap> configurations;
+ private final Map<String, Map<String,String>> configurations;
public Analyser(final Scanner scanner,
final AnalyserTask...tasks) throws IOException {
@@ -55,7 +55,7 @@ public class Analyser {
}
public Analyser(final Scanner scanner,
- final Map<String, KeyValueMap> configurations,
+ final Map<String, Map<String,String>> configurations,
final AnalyserTask...tasks) throws IOException {
this.tasks = tasks;
this.configurations = configurations;
@@ -69,7 +69,7 @@ public class Analyser {
}
public Analyser(final Scanner scanner,
- final Map<String, KeyValueMap> configurations,
+ final Map<String, Map<String,String>> configurations,
final String... taskClassNames)
throws IOException {
this(scanner, configurations, getTasksByClassName(taskClassNames));
@@ -85,7 +85,7 @@ public class Analyser {
}
public Analyser(final Scanner scanner,
- final Map<String, KeyValueMap> configurations,
+ final Map<String, Map<String,String>> configurations,
final Set<String> includes,
final Set<String> excludes) throws IOException {
this(scanner, configurations, getTasksByIds(includes, excludes));
@@ -116,7 +116,7 @@ public class Analyser {
for(final AnalyserTask task : tasks) {
logger.info("- Executing {} [{}]...", task.getName(),
task.getId());
- final KeyValueMap taskConfiguration =
getConfiguration(task.getId());
+ final Map<String,String> taskConfiguration =
getConfiguration(task.getId());
task.execute(new AnalyserTaskContext() {
@@ -136,7 +136,7 @@ public class Analyser {
}
@Override
- public KeyValueMap getConfiguration() {
+ public Map<String,String> getConfiguration() {
return taskConfiguration;
}
@@ -171,8 +171,8 @@ public class Analyser {
};
}
- private KeyValueMap getConfiguration(final String id) {
- final KeyValueMap result = new KeyValueMap();
+ private Map<String,String> getConfiguration(final String id) {
+ final Map<String,String> result = new HashMap<>();
result.putAll(this.configurations.get("*"));
result.putAll(this.configurations.get(id));
diff --git
a/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
b/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
index 610d8a9..414c69f 100644
---
a/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
+++
b/src/main/java/org/apache/sling/feature/analyser/task/AnalyserTaskContext.java
@@ -17,11 +17,12 @@
package org.apache.sling.feature.analyser.task;
import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.scanner.BundleDescriptor;
import org.apache.sling.feature.scanner.FeatureDescriptor;
import org.osgi.annotation.versioning.ProviderType;
+import java.util.Map;
+
@ProviderType
public interface AnalyserTaskContext {
@@ -48,7 +49,7 @@ public interface AnalyserTaskContext {
*
* @return The configuration map for the analyser task
*/
- KeyValueMap getConfiguration();
+ Map<String,String> getConfiguration();
/**
* This method is invoked by a {@link AnalyserTask} to report
diff --git a/src/main/java/org/apache/sling/feature/scanner/Scanner.java
b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
index ad0f8bb..b28b7ca 100644
--- a/src/main/java/org/apache/sling/feature/scanner/Scanner.java
+++ b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
@@ -22,7 +22,6 @@ import org.apache.sling.feature.Bundles;
import org.apache.sling.feature.Extension;
import org.apache.sling.feature.Extensions;
import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.builder.ArtifactProvider;
import org.apache.sling.feature.scanner.impl.BundleDescriptorImpl;
import org.apache.sling.feature.scanner.impl.FeatureDescriptorImpl;
@@ -188,7 +187,7 @@ public class Scanner {
* @return The framework descriptor
* @throws IOException If something goes wrong or a scanner is missing
*/
- public BundleDescriptor scan(final ArtifactId framework, final KeyValueMap
props) throws IOException {
+ public BundleDescriptor scan(final ArtifactId framework, final
Map<String,String> props) throws IOException {
BundleDescriptor fwk = null;
for(final FrameworkScanner scanner : this.frameworkScanners) {
fwk = scanner.scan(framework, props, artifactProvider);
diff --git
a/src/main/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScanner.java
b/src/main/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScanner.java
index a4e5654..dac1196 100644
---
a/src/main/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScanner.java
+++
b/src/main/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScanner.java
@@ -17,6 +17,19 @@
package org.apache.sling.feature.scanner.impl;
+import org.apache.commons.text.StringSubstitutor;
+import org.apache.commons.text.lookup.StringLookup;
+import org.apache.felix.utils.manifest.Parser;
+import org.apache.felix.utils.resource.ResourceBuilder;
+import org.apache.sling.feature.Artifact;
+import org.apache.sling.feature.ArtifactId;
+import org.apache.sling.feature.builder.ArtifactProvider;
+import org.apache.sling.feature.scanner.BundleDescriptor;
+import org.apache.sling.feature.scanner.PackageInfo;
+import org.apache.sling.feature.scanner.spi.FrameworkScanner;
+import org.osgi.framework.Constants;
+import org.osgi.resource.Capability;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -32,33 +45,19 @@ import java.util.stream.Stream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
-import org.apache.commons.text.StringSubstitutor;
-import org.apache.commons.text.lookup.StringLookup;
-import org.apache.felix.utils.manifest.Parser;
-import org.apache.felix.utils.resource.ResourceBuilder;
-import org.apache.sling.feature.Artifact;
-import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.KeyValueMap;
-import org.apache.sling.feature.builder.ArtifactProvider;
-import org.apache.sling.feature.scanner.BundleDescriptor;
-import org.apache.sling.feature.scanner.PackageInfo;
-import org.apache.sling.feature.scanner.spi.FrameworkScanner;
-import org.osgi.framework.Constants;
-import org.osgi.resource.Capability;
-
public class FelixFrameworkScanner implements FrameworkScanner {
@Override
public BundleDescriptor scan(final ArtifactId framework,
- final KeyValueMap frameworkProps,
+ final Map<String,String> frameworkProps,
final ArtifactProvider provider)
throws IOException {
final File platformFile = provider.provide(framework);
if ( platformFile == null ) {
throw new IOException("Unable to find file for " +
framework.toMvnId());
}
- final KeyValueMap fwkProps = getFrameworkProperties(frameworkProps,
platformFile);
+ final Map<String,String> fwkProps =
getFrameworkProperties(frameworkProps, platformFile);
if ( fwkProps == null ) {
return null;
}
@@ -103,7 +102,7 @@ public class FelixFrameworkScanner implements
FrameworkScanner {
return d;
}
- private List<Capability> calculateSystemCapabilities(final KeyValueMap
fwkProps) throws IOException
+ private List<Capability> calculateSystemCapabilities(final
Map<String,String> fwkProps) throws IOException
{
Map<String, String> mf = new HashMap<>();
mf.put(Constants.PROVIDE_CAPABILITY,
@@ -129,7 +128,7 @@ public class FelixFrameworkScanner implements
FrameworkScanner {
}
}
- private Set<PackageInfo> calculateSystemPackages(final KeyValueMap
fwkProps) {
+ private Set<PackageInfo> calculateSystemPackages(final Map<String,String>
fwkProps) {
return
Stream.of(
Parser.parseHeader(
@@ -146,7 +145,7 @@ public class FelixFrameworkScanner implements
FrameworkScanner {
private static final String DEFAULT_PROPERTIES = "default.properties";
- KeyValueMap getFrameworkProperties(final KeyValueMap appProps, final File
framework)
+ Map<String,String> getFrameworkProperties(final Map<String,String>
appProps, final File framework)
throws IOException {
final Map<String, Properties> propsMap = new HashMap<>();
try (final ZipInputStream zis = new ZipInputStream(new
FileInputStream(framework)) ) {
@@ -173,7 +172,7 @@ public class FelixFrameworkScanner implements
FrameworkScanner {
return null;
}
- final KeyValueMap frameworkProps = new KeyValueMap();
+ final Map<String,String> frameworkProps = new HashMap<>();
frameworkProps.putAll(appProps);
// replace variables
diff --git
a/src/main/java/org/apache/sling/feature/scanner/spi/FrameworkScanner.java
b/src/main/java/org/apache/sling/feature/scanner/spi/FrameworkScanner.java
index 1af4bce..fbdb5a5 100644
--- a/src/main/java/org/apache/sling/feature/scanner/spi/FrameworkScanner.java
+++ b/src/main/java/org/apache/sling/feature/scanner/spi/FrameworkScanner.java
@@ -16,14 +16,14 @@
*/
package org.apache.sling.feature.scanner.spi;
-import java.io.IOException;
-
import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.builder.ArtifactProvider;
import org.apache.sling.feature.scanner.BundleDescriptor;
import org.osgi.annotation.versioning.ConsumerType;
+import java.io.IOException;
+import java.util.Map;
+
/**
* The framework scanner scans the framework
*/
@@ -39,6 +39,6 @@ public interface FrameworkScanner {
* @throws IOException If an error occurs while scanning the platform or
the artifact is invalid
*/
BundleDescriptor scan(ArtifactId framework,
- KeyValueMap frameworkProps,
+ Map<String,String> frameworkProps,
ArtifactProvider provider) throws IOException;
}
\ No newline at end of file
diff --git
a/src/test/java/org/apache/sling/feature/analyser/task/impl/AbstractApiRegionsAnalyserTaskTest.java
b/src/test/java/org/apache/sling/feature/analyser/task/impl/AbstractApiRegionsAnalyserTaskTest.java
index 305abae..bee3c08 100644
---
a/src/test/java/org/apache/sling/feature/analyser/task/impl/AbstractApiRegionsAnalyserTaskTest.java
+++
b/src/test/java/org/apache/sling/feature/analyser/task/impl/AbstractApiRegionsAnalyserTaskTest.java
@@ -16,25 +16,11 @@
*/
package org.apache.sling.feature.analyser.task.impl;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.jar.Manifest;
-
import org.apache.sling.feature.Artifact;
import org.apache.sling.feature.ArtifactId;
import org.apache.sling.feature.Extension;
import org.apache.sling.feature.Extensions;
import org.apache.sling.feature.Feature;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.analyser.task.AnalyserTask;
import org.apache.sling.feature.analyser.task.AnalyserTaskContext;
import org.apache.sling.feature.scanner.BundleDescriptor;
@@ -43,9 +29,24 @@ import org.apache.sling.feature.scanner.PackageInfo;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import java.io.File;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.jar.Manifest;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
public abstract class AbstractApiRegionsAnalyserTaskTest<T extends
AbstractApiRegionsAnalyserTask> {
protected abstract T newTask();
@@ -109,7 +110,8 @@ public abstract class AbstractApiRegionsAnalyserTaskTest<T
extends AbstractApiRe
AnalyserTaskContext ctx = mock(AnalyserTaskContext.class);
when(ctx.getFeature()).thenReturn(feature);
- KeyValueMap cfg = mock(KeyValueMap.class);
+ @SuppressWarnings("unchecked")
+ Map<String,String> cfg = Mockito.mock(Map.class);
when(ctx.getConfiguration()).thenReturn(cfg);
when(cfg.getOrDefault(anyString(), anyString())).thenAnswer(new
Answer<String>() {
diff --git
a/src/test/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScannerTest.java
b/src/test/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScannerTest.java
index 985474e..e1c0549 100644
---
a/src/test/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScannerTest.java
+++
b/src/test/java/org/apache/sling/feature/scanner/impl/FelixFrameworkScannerTest.java
@@ -16,18 +16,19 @@
*/
package org.apache.sling.feature.scanner.impl;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-
-import java.io.File;
-import java.net.URL;
-
import org.apache.sling.feature.ArtifactId;
-import org.apache.sling.feature.KeyValueMap;
import org.apache.sling.feature.builder.ArtifactProvider;
import org.apache.sling.feature.scanner.BundleDescriptor;
import org.junit.Test;
+import java.io.File;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
public class FelixFrameworkScannerTest {
@Test
public void testGetFrameworkProperties() throws Exception {
@@ -36,8 +37,8 @@ public class FelixFrameworkScannerTest {
FelixFrameworkScanner ffs = new FelixFrameworkScanner();
- KeyValueMap kvmap = new KeyValueMap();
- KeyValueMap props = ffs.getFrameworkProperties(kvmap, fwFile);
+ Map<String,String> kvmap = new HashMap<>();
+ Map<String,String> props = ffs.getFrameworkProperties(kvmap, fwFile);
assertEquals("osgi.service;
objectClass:List<String>=org.osgi.service.resolver.Resolver; "
+ "uses:=org.osgi.service.resolver, "
+ "osgi.service;
objectClass:List<String>=org.osgi.service.startlevel.StartLevel; "
@@ -58,7 +59,7 @@ public class FelixFrameworkScannerTest {
FelixFrameworkScanner ffs = new FelixFrameworkScanner();
- KeyValueMap kvmap = new KeyValueMap();
+ Map<String,String> kvmap = new HashMap<>();
BundleDescriptor bundleDescriptor = ffs.scan(new
ArtifactId("org.apache.felix",
"org.apache.felix.framework",