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",

Reply via email to