This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master2
in repository https://gitbox.apache.org/repos/asf/maven-javadoc-plugin.git

commit 95463dca8632e2aa7513693321cc86afcf91df9b
Author: Robert Scholte <rfscho...@apache.org>
AuthorDate: Fri Nov 24 14:19:34 2017 +0000

    Switch from List to Collection to make it easier to use Sets when preferred
    
    git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1816235 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../maven/plugins/javadoc/AbstractJavadocMojo.java | 34 +++++++++++-----------
 .../maven/plugins/javadoc/JavadocReport.java       |  3 +-
 .../apache/maven/plugins/javadoc/JavadocUtil.java  | 14 +++++----
 .../plugins/javadoc/resolver/ResourceResolver.java |  7 +++--
 .../maven/plugins/javadoc/JavadocJarTest.java      | 13 +++++----
 .../maven/plugins/javadoc/JavadocUtilTest.java     |  8 +++--
 6 files changed, 44 insertions(+), 35 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java 
b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
index a720528..df24821 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java
@@ -1977,7 +1977,7 @@ public abstract class AbstractJavadocMojo
             throw new MavenReportException( "Failed to generate javadoc 
options file: " + e.getMessage(), e );
         }
 
-        List<String> sourcePaths = getSourcePaths();
+        Collection<String> sourcePaths = getSourcePaths();
         List<String> files = getFiles( sourcePaths );
         if ( !canGenerateReport( files ) )
         {
@@ -2180,11 +2180,11 @@ public abstract class AbstractJavadocMojo
     /**
      * Method to get the files on the specified source paths
      *
-     * @param sourcePaths a List that contains the paths to the source files
+     * @param sourcePaths a Collection that contains the paths to the source 
files
      * @return a List that contains the specific path for every source file
      * @throws MavenReportException {@link MavenReportException}
      */
-    protected List<String> getFiles( List<String> sourcePaths )
+    protected List<String> getFiles( Collection<String> sourcePaths )
         throws MavenReportException
     {
         List<String> files = new ArrayList<>();
@@ -2207,14 +2207,14 @@ public abstract class AbstractJavadocMojo
      * Method to get the source paths. If no source path is specified in the 
parameter, the compile source roots
      * of the project will be used.
      *
-     * @return a List of the project absolute source paths as 
<code>String</code>
+     * @return a Collection of the project absolute source paths as 
<code>String</code>
      * @throws MavenReportException {@link MavenReportException}
      * @see JavadocUtil#pruneDirs(MavenProject, List)
      */
-    protected List<String> getSourcePaths()
+    protected Collection<String> getSourcePaths()
         throws MavenReportException
     {
-        List<String> sourcePaths;
+        Collection<String> sourcePaths;
 
         if ( StringUtils.isEmpty( sourcepath ) )
         {
@@ -2235,7 +2235,7 @@ public abstract class AbstractJavadocMojo
                 File javadocDir = getJavadocDirectory();
                 if ( javadocDir.exists() && javadocDir.isDirectory() )
                 {
-                    List<String> l = JavadocUtil.pruneDirs( project, 
Collections.singletonList(
+                    Collection<String> l = JavadocUtil.pruneDirs( project, 
Collections.singletonList(
                         getJavadocDirectory().getAbsolutePath() ) );
                     sourcePaths.addAll( l );
                 }
@@ -2273,7 +2273,7 @@ public abstract class AbstractJavadocMojo
                             File javadocDir = new File( 
subProject.getBasedir(), javadocDirRelative );
                             if ( javadocDir.exists() && 
javadocDir.isDirectory() )
                             {
-                                List<String> l = JavadocUtil.pruneDirs( 
subProject, Collections.singletonList(
+                                Collection<String> l = JavadocUtil.pruneDirs( 
subProject, Collections.singletonList(
                                         javadocDir.getAbsolutePath() ) );
                                 sourcePaths.addAll( l );
                             }
@@ -2288,7 +2288,7 @@ public abstract class AbstractJavadocMojo
             sourcePaths = JavadocUtil.pruneDirs( project, sourcePaths );
             if ( getJavadocDirectory() != null )
             {
-                List<String> l = JavadocUtil.pruneDirs( project, 
Collections.singletonList(
+                Collection<String> l = JavadocUtil.pruneDirs( project, 
Collections.singletonList(
                     getJavadocDirectory().getAbsolutePath() ) );
                 sourcePaths.addAll( l );
             }
@@ -2436,11 +2436,11 @@ public abstract class AbstractJavadocMojo
      * Method to get the excluded source files from the javadoc and create the 
argument string
      * that will be included in the javadoc commandline execution.
      *
-     * @param sourcePaths the list of paths to the source files
+     * @param sourcePaths the collection of paths to the source files
      * @return a String that contains the exclude argument that will be used 
by javadoc
      * @throws MavenReportException
      */
-    private String getExcludedPackages( List<String> sourcePaths )
+    private String getExcludedPackages( Collection<String> sourcePaths )
         throws MavenReportException
     {
         List<String> excludedNames = null;
@@ -2471,7 +2471,7 @@ public abstract class AbstractJavadocMojo
      *         string (colon (<code>:</code>) on Solaris or semi-colon 
(<code>;</code>) on Windows).
      * @see File#pathSeparator
      */
-    private String getSourcePath( List<String> sourcePaths )
+    private String getSourcePath( Collection<String> sourcePaths )
     {
         String sourcePath = null;
 
@@ -3049,7 +3049,7 @@ public abstract class AbstractJavadocMojo
         throws MavenReportException
     {
         Set<TagletArtifact> tArtifacts = collectTagletArtifacts();
-        List<String> pathParts = new ArrayList<>();
+        Collection<String> pathParts = new ArrayList<>();
 
         for ( TagletArtifact tagletArtifact : tArtifacts )
         {
@@ -4284,7 +4284,7 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return the list of package names for files in the sourcePaths
      */
-    private List<String> getPackageNames( List<String> sourcePaths, 
List<String> files )
+    private List<String> getPackageNames( Collection<String> sourcePaths, 
List<String> files )
     {
         return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, 
true );
     }
@@ -4294,7 +4294,7 @@ public abstract class AbstractJavadocMojo
      * @param files       not null
      * @return a list files with unnamed package names for files in the 
sourecPaths
      */
-    private List<String> getFilesWithUnnamedPackages( List<String> 
sourcePaths, List<String> files )
+    private List<String> getFilesWithUnnamedPackages( Collection<String> 
sourcePaths, List<String> files )
     {
         return getPackageNamesOrFilesWithUnnamedPackages( sourcePaths, files, 
false );
     }
@@ -4307,7 +4307,7 @@ public abstract class AbstractJavadocMojo
      * @see #getFiles(List)
      * @see #getSourcePaths()
      */
-    private List<String> getPackageNamesOrFilesWithUnnamedPackages( 
List<String> sourcePaths, List<String> files,
+    private List<String> getPackageNamesOrFilesWithUnnamedPackages( 
Collection<String> sourcePaths, List<String> files,
                                                                     boolean 
onlyPackageName )
     {
         List<String> returnList = new ArrayList<>();
@@ -4624,7 +4624,7 @@ public abstract class AbstractJavadocMojo
      * @throws MavenReportException if any
      * @see <a 
href="http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#javadocoptions";>http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#javadocoptions</a>
      */
-    private void addJavadocOptions( List<String> arguments, List<String> 
sourcePaths )
+    private void addJavadocOptions( List<String> arguments, Collection<String> 
sourcePaths )
         throws MavenReportException
     {
         validateJavadocOptions();
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java 
b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
index 0274c89..3e8d01a 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocReport.java
@@ -20,6 +20,7 @@ package org.apache.maven.plugins.javadoc;
  */
 
 import java.io.File;
+import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 import java.util.ResourceBundle;
@@ -235,7 +236,7 @@ public class JavadocReport
 
         if ( !this.isAggregator() || ( this.isAggregator() && 
this.project.isExecutionRoot() ) )
         {
-            List<String> sourcePaths;
+            Collection<String> sourcePaths;
             List<String> files;
             try
             {
diff --git a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java 
b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
index 5844d66..90c5e84 100644
--- a/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
+++ b/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java
@@ -78,10 +78,12 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.NoSuchElementException;
 import java.util.Properties;
+import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
@@ -112,12 +114,12 @@ public class JavadocUtil
      * directory <code>String</code> path.
      *
      * @param project the current Maven project not null
-     * @param dirs the list of <code>String</code> directories path that will 
be validated.
+     * @param dirs the collection of <code>String</code> directories path that 
will be validated.
      * @return a List of valid <code>String</code> directories absolute paths.
      */
-    public static List<String> pruneDirs( MavenProject project, List<String> 
dirs )
+    public static Collection<String> pruneDirs( MavenProject project, 
Collection<String> dirs )
     {
-        List<String> pruned = new ArrayList<>( dirs.size() );
+        Set<String> pruned = new LinkedHashSet<>( dirs.size() );
         for ( String dir : dirs )
         {
             if ( dir == null )
@@ -131,7 +133,7 @@ public class JavadocUtil
                 directory = new File( project.getBasedir(), 
directory.getPath() );
             }
 
-            if ( directory.isDirectory() && !pruned.contains( 
directory.getAbsolutePath() ) )
+            if ( directory.isDirectory() )
             {
                 pruned.add( directory.getAbsolutePath() );
             }
@@ -147,7 +149,7 @@ public class JavadocUtil
      * @param files the list of <code>String</code> files paths that will be 
validated.
      * @return a List of valid <code>File</code> objects.
      */
-    protected static List<String> pruneFiles( List<String> files )
+    protected static List<String> pruneFiles( Collection<String> files )
     {
         List<String> pruned = new ArrayList<>( files.size() );
         for ( String f : files )
@@ -191,7 +193,7 @@ public class JavadocUtil
      * @param excludedPackages the package names to be excluded in the javadoc
      * @return a List of the source files to be excluded in the generated 
javadoc
      */
-    protected static List<String> getExcludedNames( List<String> sourcePaths, 
String[] subpackagesList,
+    protected static List<String> getExcludedNames( Collection<String> 
sourcePaths, String[] subpackagesList,
                                                     String[] excludedPackages )
     {
         List<String> excludedNames = new ArrayList<>();
diff --git 
a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java 
b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
index c24c62b..e47aa99 100644
--- 
a/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
+++ 
b/src/main/java/org/apache/maven/plugins/javadoc/resolver/ResourceResolver.java
@@ -26,6 +26,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -39,11 +40,11 @@ import 
org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.plugins.javadoc.options.JavadocOptions;
-import 
org.apache.maven.plugins.javadoc.options.io.xpp3.JavadocOptionsXpp3Reader;
 import org.apache.maven.plugins.javadoc.AbstractJavadocMojo;
 import org.apache.maven.plugins.javadoc.JavadocUtil;
 import org.apache.maven.plugins.javadoc.ResourcesBundleMojo;
+import org.apache.maven.plugins.javadoc.options.JavadocOptions;
+import 
org.apache.maven.plugins.javadoc.options.io.xpp3.JavadocOptionsXpp3Reader;
 import org.apache.maven.project.MavenProject;
 import 
org.apache.maven.shared.artifact.filter.resolve.transform.ArtifactIncludeFilterTransformer;
 import org.apache.maven.shared.artifact.resolve.ArtifactResolver;
@@ -439,7 +440,7 @@ public final class ResourceResolver extends 
AbstractLogEnabled
         return result;
     }
 
-    private static List<String> resolveFromProject( final SourceResolverConfig 
config,
+    private static Collection<String> resolveFromProject( final 
SourceResolverConfig config,
                                                     final MavenProject 
reactorProject, final Artifact artifact )
     {
         final List<String> dirs = new ArrayList<>();
diff --git a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java 
b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
index ecff198..2ecd5d5 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocJarTest.java
@@ -75,13 +75,16 @@ public class JavadocJarTest
             new File( getBasedir(), 
"target/test/unit/javadocjar-default/target/javadocjar-default-javadoc.jar" );
         assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) );
 
-        //validate contents of jar file
-        ZipFile jar = new ZipFile( generatedFile );
         Set<String> set = new HashSet<>();
-        for( Enumeration<? extends ZipEntry> entries = jar.entries(); 
entries.hasMoreElements(); )
+
+        //validate contents of jar file
+        try ( ZipFile jar = new ZipFile( generatedFile ) )
         {
-            ZipEntry entry = entries.nextElement();
-            set.add( entry.getName() );
+            for( Enumeration<? extends ZipEntry> entries = jar.entries(); 
entries.hasMoreElements(); )
+            {
+                ZipEntry entry = entries.nextElement();
+                set.add( entry.getName() );
+            }
         }
 
         assertTrue( set.contains( "stylesheet.css" ) );
diff --git 
a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java 
b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
index 8f8eb50..e13f176 100644
--- a/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
+++ b/src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java
@@ -25,9 +25,11 @@ import java.io.IOException;
 import java.net.SocketTimeoutException;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.PatternSyntaxException;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
@@ -585,10 +587,10 @@ public class JavadocUtilTest
         list.add( getBasedir() + "/target/classes" );
         list.add( getBasedir() + "/target/classes" );
 
-        List<String> expected = new ArrayList<>();
-        expected.add( getBasedir() + "/target/classes" );
+        String FS = System.getProperty( "file.separator" );
+        Set<String> expected = Collections.singleton( getBasedir() + FS 
+"target" + FS + "classes" );
 
-        assertTrue( EqualsBuilder.reflectionEquals( expected, 
JavadocUtil.pruneDirs( null, list ) ) );
+        assertEquals( expected, JavadocUtil.pruneDirs( null, list ) );
     }
 
     /**

-- 
To stop receiving notification emails like this one, please contact
"commits@maven.apache.org" <commits@maven.apache.org>.

Reply via email to