You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2022/01/02 20:16:58 UTC

[maven-dist-tool] 03/04: refactor to ease testing

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

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-dist-tool.git

commit def65b74090ea053b115831422b8648031c2ade8
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Jan 2 20:59:22 2022 +0100

    refactor to ease testing
---
 .../maven/dist/tools/AbstractDistCheckReport.java  | 10 ++--
 .../maven/dist/tools/site/CheckSiteResult.java     | 59 ++++++++++++----------
 .../maven/dist/tools/site/DistCheckSiteReport.java |  6 +--
 3 files changed, 39 insertions(+), 36 deletions(-)

diff --git a/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckReport.java b/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckReport.java
index af8904a..8e2dde5 100644
--- a/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckReport.java
+++ b/src/main/java/org/apache/maven/dist/tools/AbstractDistCheckReport.java
@@ -344,7 +344,7 @@ public abstract class AbstractDistCheckReport
      *
      * @param sink doxiasink
      */
-    public void iconError( Sink sink )
+    public static void iconError( Sink sink )
     {
         icon( sink, "icon_error_sml" );
     }
@@ -354,7 +354,7 @@ public abstract class AbstractDistCheckReport
      *
      * @param sink doxiasink
      */
-    public void iconWarning( Sink sink )
+    public static void iconWarning( Sink sink )
     {
         icon( sink, "icon_warning_sml" );
     }
@@ -364,7 +364,7 @@ public abstract class AbstractDistCheckReport
      *
      * @param sink doxiasink
      */
-    public void iconSuccess( Sink sink )
+    public static void iconSuccess( Sink sink )
     {
         icon( sink, "icon_success_sml" );
     }
@@ -374,12 +374,12 @@ public abstract class AbstractDistCheckReport
      *
      * @param sink doxiasink
      */
-    protected void iconRemove( Sink sink )
+    protected static void iconRemove( Sink sink )
     {
         icon( sink, "remove" );
     }
 
-    private void icon( Sink sink, String level )
+    private static void icon( Sink sink, String level )
     {
         sink.figure();
         sink.figureCaption();
diff --git a/src/main/java/org/apache/maven/dist/tools/site/CheckSiteResult.java b/src/main/java/org/apache/maven/dist/tools/site/CheckSiteResult.java
index 48f57d7..92bbf88 100644
--- a/src/main/java/org/apache/maven/dist/tools/site/CheckSiteResult.java
+++ b/src/main/java/org/apache/maven/dist/tools/site/CheckSiteResult.java
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.maven.dist.tools.AbstractCheckResult;
+import org.apache.maven.dist.tools.AbstractDistCheckReport;
 import org.apache.maven.dist.tools.ConfigurationLineInfo;
 import org.apache.maven.doxia.sink.Sink;
 import org.jsoup.nodes.Comment;
@@ -34,21 +35,19 @@ import org.jsoup.select.Elements;
 class CheckSiteResult
     extends AbstractCheckResult
 {
-
-    /**
-     * 
-     */
-    private final DistCheckSiteReport distCheckSiteMojo;
     private String url;
+
     private Map<HTMLChecker, Boolean> checkMap = new HashMap<>();
+
     private int statusCode = -1;
-    private Document document;
+
+    private String comment;
+
     private String screenshotName;
 
-    CheckSiteResult( DistCheckSiteReport distCheckSiteMojo, ConfigurationLineInfo r, String version )
+    CheckSiteResult( ConfigurationLineInfo r, String version )
     {
         super( r, version );
-        this.distCheckSiteMojo = distCheckSiteMojo;
     }
 
     void setUrl( String url )
@@ -93,21 +92,6 @@ class CheckSiteResult
         }
         else 
         {
-            String text = "";
-            Elements htmlTags = document.select( "html " );
-            for ( Element htmlTag : htmlTags )
-            {
-                Node n = htmlTag.previousSibling();
-                if ( n instanceof Comment )
-                {
-                    text += ( ( Comment ) n ).getData();
-                }
-                else
-                {
-                    text += " ";
-                }
-            }
-
             sink.text( "skin: " );
             if ( isSkin( "Fluido" ) )
             {
@@ -122,7 +106,7 @@ class CheckSiteResult
                 sink.text( "Not determined" );
             }
             sink.verbatim( null );
-            sink.text( text.trim().replace( " |", "|" ).replace( "| ", "" ) );
+            sink.text( comment.trim().replace( " |", "|" ).replace( "| ", "" ) );
             sink.verbatim_();
         }
     }
@@ -131,7 +115,7 @@ class CheckSiteResult
     {
         if ( statusCode != DistCheckSiteReport.HTTP_OK )
         {
-            this.distCheckSiteMojo.iconError( sink );
+            AbstractDistCheckReport.iconError( sink );
         }
         else
         {
@@ -140,14 +124,14 @@ class CheckSiteResult
             {
                 if ( e.getValue() )
                 {
-                    this.distCheckSiteMojo.iconSuccess( sink );
+                    AbstractDistCheckReport.iconSuccess( sink );
                     sink.text( ": " + e.getKey().getName() );
                     found = true;
                 }
             }
             if ( !found )
             {
-                this.distCheckSiteMojo.iconWarning( sink );
+                AbstractDistCheckReport.iconWarning( sink );
                 sink.text( ": artifact version not found" );
             }
         }
@@ -168,10 +152,29 @@ class CheckSiteResult
 
     void setDocument( Document doc )
     {
-        this.document = doc ;
+        comment = extractComment( doc );
         statusCode = ( doc == null ) ? -1 : DistCheckSiteReport.HTTP_OK;
     }
 
+    static String extractComment( Document document )
+    {
+        String text = "";
+        Elements htmlTags = document.select( "html " );
+        for ( Element htmlTag : htmlTags )
+        {
+            Node n = htmlTag.previousSibling();
+            if ( n instanceof Comment )
+            {
+                text += ( ( Comment ) n ).getData();
+            }
+            else
+            {
+                text += " ";
+            }
+        }
+        return text;
+    }
+
     void setScreenShot( String fileName )
     {
         this.screenshotName = fileName;
diff --git a/src/main/java/org/apache/maven/dist/tools/site/DistCheckSiteReport.java b/src/main/java/org/apache/maven/dist/tools/site/DistCheckSiteReport.java
index ed878b8..7fa9a02 100644
--- a/src/main/java/org/apache/maven/dist/tools/site/DistCheckSiteReport.java
+++ b/src/main/java/org/apache/maven/dist/tools/site/DistCheckSiteReport.java
@@ -104,7 +104,7 @@ public class DistCheckSiteReport
 
     // keep result
     private List<CheckSiteResult> results = new LinkedList<>();
-    private final List<HTMLChecker> checker = HTMLCheckerFactory.getCheckers();
+    private final List<HTMLChecker> checkers = HTMLCheckerFactory.getCheckers();
 
     @Override
     protected void executeReport( Locale locale )
@@ -227,7 +227,7 @@ public class DistCheckSiteReport
 
     private void checkSite( ConfigurationLineInfo cli, String version )
     {
-        CheckSiteResult result = new CheckSiteResult( this, cli, version );
+        CheckSiteResult result = new CheckSiteResult( cli, version );
         results.add( result );
         try
         {
@@ -248,7 +248,7 @@ public class DistCheckSiteReport
 
             result.setUrl( siteUrl );
             Document doc = JsoupRetry.get( siteUrl );
-            for ( HTMLChecker c : checker )
+            for ( HTMLChecker c : checkers )
             {
                 result.getCheckMap().put( c, c.isDisplayedArtifactVersionOk( doc, version ) );
             }