You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2021/02/06 21:51:04 UTC

[maven-jxr] 01/03: Code cleanup, drop dependency to xalan

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

slachiewicz pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/maven-jxr.git

commit 38a4bfd46713b1eeb0ece6c1491260f673c1a56c
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Feb 6 22:48:10 2021 +0100

    Code cleanup, drop dependency to xalan
---
 maven-jxr-plugin/pom.xml                           |  5 --
 .../apache/maven/plugin/jxr/AbstractJxrReport.java | 13 ++--
 .../org/apache/maven/plugin/jxr/JxrReportUtil.java | 77 ++++------------------
 .../org/apache/maven/plugin/jxr/JxrTestReport.java |  4 +-
 .../org/apache/maven/jxr/JavaCodeTransform.java    | 38 +++++------
 .../apache/maven/jxr/util/SimpleWordTokenizer.java |  6 +-
 6 files changed, 37 insertions(+), 106 deletions(-)

diff --git a/maven-jxr-plugin/pom.xml b/maven-jxr-plugin/pom.xml
index 756b7e0..a5f757b 100644
--- a/maven-jxr-plugin/pom.xml
+++ b/maven-jxr-plugin/pom.xml
@@ -144,11 +144,6 @@ under the License.
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
-    <dependency>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <version>2.7.2</version>
-    </dependency>
 
     <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
index ecde8e9..10f9467 100644
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
+++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/AbstractJxrReport.java
@@ -191,7 +191,7 @@ public abstract class AbstractJxrReport
      */
     protected List<String> pruneSourceDirs( List<String> sourceDirs )
     {
-        List<String> pruned = new ArrayList<String>( sourceDirs.size() );
+        List<String> pruned = new ArrayList<>( sourceDirs.size() );
         for ( String dir : sourceDirs )
         {
             if ( !pruned.contains( dir ) && hasSources( new File( dir ) ) )
@@ -265,7 +265,7 @@ public abstract class AbstractJxrReport
      * @throws org.apache.maven.jxr.JxrException
      */
     private void createXref( Locale locale, String destinationDirectory, List<String> sourceDirs )
-        throws IOException, JxrException, MavenReportException
+        throws IOException, JxrException
     {
         FileManager fileManager = new FileManager();
         PackageManager packageManager = new PackageManager( fileManager );
@@ -549,11 +549,7 @@ public abstract class AbstractJxrReport
             {
                 createXref( locale, getDestinationDirectory(), sourceDirs );
             }
-            catch ( JxrException e )
-            {
-                throw new MavenReportException( "Error while generating the HTML source code of the project.", e );
-            }
-            catch ( IOException e )
+            catch ( JxrException | IOException e )
             {
                 throw new MavenReportException( "Error while generating the HTML source code of the project.", e );
             }
@@ -565,7 +561,6 @@ public abstract class AbstractJxrReport
      * Determine the templateDir to use, given javadocTemplatesVersion
      *
      * @return
-     * @throws org.apache.maven.reporting.MavenReportException if javadocTemplatesVersion cannot be parsed
      */
     private String getTemplateDir()
     {
@@ -618,7 +613,7 @@ public abstract class AbstractJxrReport
      */
     protected List<String> constructSourceDirs()
     {
-        List<String> sourceDirs = new ArrayList<String>( getSourceRoots() );
+        List<String> sourceDirs = new ArrayList<>( getSourceRoots() );
         if ( isAggregate() )
         {
             for ( MavenProject project : reactorProjects )
diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReportUtil.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReportUtil.java
index 6c037a2..27bc377 100644
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReportUtil.java
+++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrReportUtil.java
@@ -20,30 +20,17 @@ package org.apache.maven.plugin.jxr;
  */
 
 import java.io.IOException;
-import java.io.StringReader;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.model.Site;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.wagon.repository.Repository;
-import org.apache.xpath.XPathAPI;
-import org.apache.xpath.objects.XObject;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
 /**
  * Utility class for the jxr report.
  *
@@ -69,10 +56,8 @@ public class JxrReportUtil
         throws IOException
     {
         // first check conf for obsolete aggregate param.
-        // CHECKSTYLE_OFF: LineLength
-        boolean javadocAggregate =
-            Boolean.valueOf( JxrReportUtil.getMavenJavadocPluginBasicOption( project, "aggregate", "false" ) ).booleanValue();
-        // CHECKSTYLE_ON: LineLength
+        boolean javadocAggregate = Boolean.parseBoolean(
+                JxrReportUtil.getMavenJavadocPluginBasicOption( project, "aggregate", "false" ) );
 
         if ( javadocAggregate )
         {
@@ -113,15 +98,9 @@ public class JxrReportUtil
                                                               String defaultValue )
         throws IOException
     {
-        List<Object> plugins = new ArrayList<Object>();
-        for ( Iterator<?> it = project.getModel().getReporting().getPlugins().iterator(); it.hasNext(); )
-        {
-            plugins.add( it.next() );
-        }
-        for ( Iterator<?> it = project.getModel().getBuild().getPlugins().iterator(); it.hasNext(); )
-        {
-            plugins.add( it.next() );
-        }
+        List<Object> plugins = new ArrayList<>();
+        plugins.addAll( project.getModel().getReporting().getPlugins() );
+        plugins.addAll( project.getModel().getBuild().getPlugins() );
 
         String pluginArtifactId = MAVEN_JAVADOC_PLUGIN_ARTIFACT_ID;
         for ( Object next : plugins )
@@ -132,10 +111,8 @@ public class JxrReportUtil
             {
                 Plugin plugin = (Plugin) next;
 
-                // CHECKSTYLE_OFF: LineLength
                 // using out-of-box Maven plugins
                 if ( !isReportPluginMavenJavadoc( pluginArtifactId, plugin ) )
-                // CHECKSTYLE_ON: LineLength
                 {
                     continue;
                 }
@@ -161,34 +138,10 @@ public class JxrReportUtil
                 continue;
             }
 
-            try
-            {
-                StringReader reader = new StringReader( pluginConf.toString() );
-                InputSource source = new InputSource( reader );
-                Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse( source );
-
-                XObject obj = XPathAPI.eval( doc, "//configuration/" + optionName );
-
-                if ( StringUtils.isNotEmpty( obj.toString() ) )
-                {
-                    return obj.toString();
-                }
-            }
-            catch ( SAXException e )
-            {
-                throw new IOException( "SAXException: " + e.getMessage() );
-            }
-            catch ( ParserConfigurationException e )
+            String attribute = pluginConf.getAttribute( optionName );
+            if ( StringUtils.isNotEmpty( attribute ) )
             {
-                throw new IOException( "ParserConfigurationException: " + e.getMessage() );
-            }
-            catch ( FactoryConfigurationError e )
-            {
-                throw new IOException( "FactoryConfigurationError: " + e.getMessage() );
-            }
-            catch ( TransformerException e )
-            {
-                throw new IOException( "TransformerException: " + e.getMessage() );
+                return attribute;
             }
         }
 
@@ -204,17 +157,11 @@ public class JxrReportUtil
     protected static List<?> getMavenJavadocPlugins( MavenProject project )
         throws IOException
     {
-        List<Object> plugins = new ArrayList<Object>();
-        for ( Iterator<?> it = project.getModel().getReporting().getPlugins().iterator(); it.hasNext(); )
-        {
-            plugins.add( it.next() );
-        }
-        for ( Iterator<?> it = project.getModel().getBuild().getPlugins().iterator(); it.hasNext(); )
-        {
-            plugins.add( it.next() );
-        }
+        List<Object> plugins = new ArrayList<>();
+        plugins.addAll( project.getModel().getReporting().getPlugins() );
+        plugins.addAll( project.getModel().getBuild().getPlugins() );
 
-        List<Object> result = new ArrayList<Object>();
+        List<Object> result = new ArrayList<>();
 
         String pluginArtifactId = MAVEN_JAVADOC_PLUGIN_ARTIFACT_ID;
         for ( Object next : plugins )
diff --git a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
index a6c502e..2f1e82e 100644
--- a/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
+++ b/maven-jxr-plugin/src/main/java/org/apache/maven/plugin/jxr/JxrTestReport.java
@@ -64,7 +64,7 @@ public class JxrTestReport
     @Override
     protected List<String> getSourceRoots()
     {
-        List<String> l = new ArrayList<String>();
+        List<String> l = new ArrayList<>();
 
         if ( !"pom".equals( getProject().getPackaging().toLowerCase( Locale.US ) ) )
         {
@@ -85,7 +85,7 @@ public class JxrTestReport
     @Override
     protected List<String> getSourceRoots( MavenProject project )
     {
-        List<String> l = new ArrayList<String>();
+        List<String> l = new ArrayList<>();
 
         if ( project.getExecutionProject() != null )
         {
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
index 07e7fed..adea5fb 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/JavaCodeTransform.java
@@ -383,7 +383,6 @@ public class JavaCodeTransform
      * @param sourceReader Reader
      * @param destWriter Writer
      * @param locale String
-     * @param inputEncoding String
      * @param outputEncoding String
      * @param javadocLinkDir String
      * @param revision String
@@ -403,7 +402,7 @@ public class JavaCodeTransform
 
         PrintWriter out = new PrintWriter( destWriter );
 
-        String line = "";
+        String line;
 
         appendHeader( out );
 
@@ -518,7 +517,7 @@ public class JavaCodeTransform
     {
         StringBuilder buff = new StringBuilder();
 
-        JavaFile jf = null;
+        JavaFile jf;
 
         try
         {
@@ -548,12 +547,10 @@ public class JavaCodeTransform
      * @param line String
      * @return String
      */
-    private final String uriFilter( String line )
+    private String uriFilter( String line )
     {
-        for ( int i = 0; i < VALID_URI_SCHEMES.length; ++i )
+        for ( String scheme : VALID_URI_SCHEMES )
         {
-            String scheme = VALID_URI_SCHEMES[i];
-
             int index = line.indexOf( scheme );
 
             if ( index != -1 )
@@ -619,9 +616,9 @@ public class JavaCodeTransform
     {
         StringBuilder buff = new StringBuilder( line );
 
-        String link = null;
-        String find = null;
-        String href = null;
+        String link;
+        String find;
+        String href;
 
         if ( classType != null )
         {
@@ -847,7 +844,7 @@ public class JavaCodeTransform
             {
                 startStringIndex = -1;
                 endStringIndex = tempIndex;
-                buf.append( line.substring( 0, endStringIndex + 1 ) );
+                buf.append( line, 0, endStringIndex + 1 );
                 buf.append( STRING_END );
                 line = line.substring( endStringIndex + 1 );
             }
@@ -1047,7 +1044,7 @@ public class JavaCodeTransform
      */
     private String jxrFilter( String line )
     {
-        JavaFile jf = null;
+        JavaFile jf;
 
         try
         {
@@ -1065,7 +1062,7 @@ public class JavaCodeTransform
             return line;
         }
 
-        Set<String> packages = new HashSet<String>();
+        Set<String> packages = new HashSet<>();
 
         // get the imported packages
         for ( ImportType importType : jf.getImportTypes() )
@@ -1109,11 +1106,8 @@ public class JavaCodeTransform
                     // if there is a "." in the string then we have to assume
                     // it is a package.
 
-                    String fqpnPackage = null;
-                    String fqpnClass = null;
-
-                    fqpnPackage = wordName.substring( 0, wordName.lastIndexOf( '.' ) );
-                    fqpnClass = wordName.substring( wordName.lastIndexOf( '.' ) + 1, wordName.length() );
+                    String fqpnPackage = wordName.substring( 0, wordName.lastIndexOf( '.' ) );
+                    String fqpnClass = wordName.substring( wordName.lastIndexOf( '.' ) + 1 );
 
                     // note. since this is a reference to a full package then
                     // it doesn't have to be explicitly imported so this information
@@ -1261,7 +1255,7 @@ public class JavaCodeTransform
         if ( start != -1 )
         {
             // filter out this packagename...
-            String pkg = line.substring( start, line.length() ).trim();
+            String pkg = line.substring( start ).trim();
 
             // specify the classname of this import if any.
             String classname = null;
@@ -1274,7 +1268,7 @@ public class JavaCodeTransform
             {
                 // this is an explicit Class import
 
-                String packageLine = pkg.toString();
+                String packageLine = pkg;
 
                 // This catches a boundary problem where you have something like:
                 //
@@ -1334,9 +1328,9 @@ public class JavaCodeTransform
      */
     private boolean isInvalidURICharacter( char c )
     {
-        for ( int i = 0; i < VALID_URI_CHARS.length; ++i )
+        for ( char validUriChar : VALID_URI_CHARS )
         {
-            if ( VALID_URI_CHARS[i] == c )
+            if ( validUriChar == c )
             {
                 return false;
             }
diff --git a/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java b/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
index 51c26a4..c46c1b9 100644
--- a/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
+++ b/maven-jxr/src/main/java/org/apache/maven/jxr/util/SimpleWordTokenizer.java
@@ -93,7 +93,7 @@ public class SimpleWordTokenizer
     {
         Matcher matcher = NONBREAKERS.matcher( line.substring( start ) );
 
-        List<StringEntry> words = new ArrayList<StringEntry>();
+        List<StringEntry> words = new ArrayList<>();
 
         while ( matcher.find() )
         {
@@ -129,10 +129,10 @@ public class SimpleWordTokenizer
     private static boolean isBreaker( char c )
     {
 
-        for ( int i = 0; i < BREAKERS.length; ++i )
+        for ( char breaker : BREAKERS )
         {
 
-            if ( BREAKERS[i] == c )
+            if ( breaker == c )
             {
                 return true;
             }