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 2022/04/18 13:04:47 UTC

[maven-doxia-converter] 01/02: refactoring

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

slachiewicz pushed a commit to branch drop-sinks
in repository https://gitbox.apache.org/repos/asf/maven-doxia-converter.git

commit 8feeb2cf9a31460993173ed1b8f30e0e13d1adaa
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Mon Apr 18 12:28:50 2022 +0200

    refactoring
---
 .../java/org/apache/maven/doxia/Converter.java     |  6 +++--
 .../org/apache/maven/doxia/DefaultConverter.java   | 26 ++++++++++------------
 .../maven/doxia/UnsupportedFormatException.java    |  6 +++--
 .../org/apache/maven/doxia/cli/CLIManager.java     |  4 ++--
 .../org/apache/maven/doxia/util/ConverterUtil.java |  5 +++--
 .../maven/doxia/wrapper/AbstractFileWrapper.java   |  3 ++-
 .../maven/doxia/wrapper/AbstractWrapper.java       | 11 ++++-----
 .../maven/doxia/wrapper/InputFileWrapper.java      |  7 +++---
 .../maven/doxia/wrapper/InputReaderWrapper.java    |  5 +++--
 .../maven/doxia/wrapper/OutputFileWrapper.java     |  7 +++---
 .../maven/doxia/wrapper/OutputStreamWrapper.java   |  5 +++--
 11 files changed, 47 insertions(+), 38 deletions(-)

diff --git a/src/main/java/org/apache/maven/doxia/Converter.java b/src/main/java/org/apache/maven/doxia/Converter.java
index 3c625e4..8bc3245 100644
--- a/src/main/java/org/apache/maven/doxia/Converter.java
+++ b/src/main/java/org/apache/maven/doxia/Converter.java
@@ -25,6 +25,8 @@ import org.apache.maven.doxia.wrapper.InputReaderWrapper;
 import org.apache.maven.doxia.wrapper.OutputFileWrapper;
 import org.apache.maven.doxia.wrapper.OutputStreamWrapper;
 
+import java.util.List;
+
 /**
  * Interface to convert a Doxia input wrapper to a Doxia output wrapper.
  *
@@ -36,12 +38,12 @@ public interface Converter
     /**
      * @return a not null array containing supported input formats, i.e. <code>apt</code>.
      */
-    String[] getInputFormats();
+    List<String> getInputFormats();
 
     /**
      * @return a not null array containing supported output formats, i.e. <code>xhtml</code>.
      */
-    String[] getOutputFormats();
+    List<String> getOutputFormats();
 
     /**
      * @param input an input file wrapper, not null.
diff --git a/src/main/java/org/apache/maven/doxia/DefaultConverter.java b/src/main/java/org/apache/maven/doxia/DefaultConverter.java
index e6b7223..0991900 100644
--- a/src/main/java/org/apache/maven/doxia/DefaultConverter.java
+++ b/src/main/java/org/apache/maven/doxia/DefaultConverter.java
@@ -29,11 +29,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
 import java.io.Writer;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -95,9 +91,9 @@ public class DefaultConverter
     private static final String XHTML5_PARSER = "xhtml5";
 
     /** Supported input format, i.e. supported Doxia parser */
-    public static final String[] SUPPORTED_FROM_FORMAT =
-        { APT_PARSER, CONFLUENCE_PARSER, DOCBOOK_PARSER, FML_PARSER, TWIKI_PARSER, XDOC_PARSER, XHTML_PARSER,
-                XHTML5_PARSER};
+    public static final List<String> SUPPORTED_FROM_FORMAT =
+            Arrays.asList(APT_PARSER, CONFLUENCE_PARSER, DOCBOOK_PARSER, FML_PARSER, TWIKI_PARSER, XDOC_PARSER, XHTML_PARSER,
+                XHTML5_PARSER);
 
     private static final String APT_SINK = "apt";
 
@@ -122,9 +118,9 @@ public class DefaultConverter
     private static final String XHTML5_SINK = "xhtml5";
 
     /** Supported output format, i.e. supported Doxia Sink */
-    public static final String[] SUPPORTED_TO_FORMAT =
-        { APT_SINK, CONFLUENCE_SINK, DOCBOOK_SINK, FO_SINK, ITEXT_SINK, LATEX_SINK, RTF_SINK, TWIKI_SINK, XDOC_SINK,
-            XHTML_SINK, XHTML5_SINK };
+    public static final List<String> SUPPORTED_TO_FORMAT =
+        Arrays.asList( APT_SINK, CONFLUENCE_SINK, DOCBOOK_SINK, FO_SINK, ITEXT_SINK, LATEX_SINK, RTF_SINK, TWIKI_SINK, XDOC_SINK,
+            XHTML_SINK, XHTML5_SINK) ;
 
     /** Flag to format the generated files, actually only for XML based sinks. */
     private boolean formatOutput;
@@ -160,14 +156,16 @@ public class DefaultConverter
 
     /** {@inheritDoc} */
     @Override
-    public String[] getInputFormats()
+    public List<String> getInputFormats()
     {
         return SUPPORTED_FROM_FORMAT;
     }
 
-    /** {@inheritDoc} */
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public String[] getOutputFormats()
+    public List<String> getOutputFormats()
     {
         return SUPPORTED_TO_FORMAT;
     }
diff --git a/src/main/java/org/apache/maven/doxia/UnsupportedFormatException.java b/src/main/java/org/apache/maven/doxia/UnsupportedFormatException.java
index 78b3681..e400f96 100644
--- a/src/main/java/org/apache/maven/doxia/UnsupportedFormatException.java
+++ b/src/main/java/org/apache/maven/doxia/UnsupportedFormatException.java
@@ -21,6 +21,8 @@ package org.apache.maven.doxia;
 
 import org.codehaus.plexus.util.StringUtils;
 
+import java.util.List;
+
 /**
  * Wrap an exception that occurs if a format is not supported.
  *
@@ -39,10 +41,10 @@ public class UnsupportedFormatException
      * @param format the unsupported format, not null
      * @param supportedFormat the supported formats, not null
      */
-    public UnsupportedFormatException( String format, String[] supportedFormat )
+    public UnsupportedFormatException( String format, List<String> supportedFormat )
     {
         super( "Unsupported format '" + format + "'. The allowed format are: "
-            + StringUtils.join( supportedFormat, ", " ) );
+            + String.join( ", ", supportedFormat ) );
     }
 
     /**
diff --git a/src/main/java/org/apache/maven/doxia/cli/CLIManager.java b/src/main/java/org/apache/maven/doxia/cli/CLIManager.java
index 85756de..d56d5eb 100644
--- a/src/main/java/org/apache/maven/doxia/cli/CLIManager.java
+++ b/src/main/java/org/apache/maven/doxia/cli/CLIManager.java
@@ -159,8 +159,8 @@ class CLIManager
 
     private static String getSupportedFormat()
     {
-        return "\nSupported Formats:\n from: " + join( DefaultConverter.SUPPORTED_FROM_FORMAT, ", " )
-            + " or autodetect" + "\n to:   " + join( DefaultConverter.SUPPORTED_TO_FORMAT, ", " )
+        return "\nSupported Formats:\n from: " + String.join(", ", DefaultConverter.SUPPORTED_FROM_FORMAT)
+            + " or autodetect" + "\n to:   " + String.join( ", ", DefaultConverter.SUPPORTED_TO_FORMAT )
             + "\n";
     }
 
diff --git a/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java b/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
index 18983d6..e6b1786 100644
--- a/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
+++ b/src/main/java/org/apache/maven/doxia/util/ConverterUtil.java
@@ -25,6 +25,7 @@ import org.apache.maven.doxia.sink.SinkFactory;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -43,7 +44,7 @@ public class ConverterUtil
      * @throws UnsupportedFormatException if the found parser is not instantiated.
      * @throws IllegalArgumentException if any parameter is null
      */
-    public static Parser getParser( PlexusContainer plexus, String format, String[] supportedFormats )
+    public static Parser getParser( PlexusContainer plexus, String format, List<String> supportedFormats )
         throws ComponentLookupException, UnsupportedFormatException
     {
         Objects.requireNonNull( plexus, "plexus is required" );
@@ -77,7 +78,7 @@ public class ConverterUtil
      * @throws UnsupportedFormatException if the found sink is not instantiated.
      * @throws IllegalArgumentException if any parameter is null
      */
-    public static SinkFactory getSinkFactory( PlexusContainer plexus, String format, String[] supportedFormats )
+    public static SinkFactory getSinkFactory( PlexusContainer plexus, String format, List<String> supportedFormats )
         throws ComponentLookupException, UnsupportedFormatException
     {
         Objects.requireNonNull( plexus, "plexus is required" );
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/AbstractFileWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/AbstractFileWrapper.java
index 9936d91..31d1209 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/AbstractFileWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/AbstractFileWrapper.java
@@ -22,6 +22,7 @@ package org.apache.maven.doxia.wrapper;
 import java.io.File;
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.Charset;
+import java.util.List;
 import java.util.Objects;
 
 import org.codehaus.plexus.util.StringUtils;
@@ -54,7 +55,7 @@ abstract class AbstractFileWrapper
      * @throws UnsupportedEncodingException if the encoding is unsupported.
      * @throws IllegalArgumentException if any
      */
-    AbstractFileWrapper( String absolutePath, String format, String encoding, String[] supportedFormat )
+    AbstractFileWrapper( String absolutePath, String format, String encoding, List<String> supportedFormat )
         throws UnsupportedEncodingException
     {
         super( format, supportedFormat );
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/AbstractWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/AbstractWrapper.java
index f6e759a..374315c 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/AbstractWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/AbstractWrapper.java
@@ -20,6 +20,7 @@ package org.apache.maven.doxia.wrapper;
  */
 
 import java.io.Serializable;
+import java.util.List;
 import java.util.Objects;
 
 import static org.codehaus.plexus.util.StringUtils.isNotEmpty;
@@ -36,17 +37,17 @@ abstract class AbstractWrapper
 
     private String format;
 
-    private String[] supportedFormat;
+    private List<String> supportedFormat;
 
     /**
      * @param format could be null.
      * @param supportedFormat not null.
      * @throws IllegalArgumentException if supportedFormat is null.
      */
-    AbstractWrapper( String format, String[] supportedFormat )
+    AbstractWrapper( String format, List<String> supportedFormat )
     {
         this.format = ( isNotEmpty( format ) ? format : AUTO_FORMAT );
-        if ( supportedFormat == null )
+        if ( supportedFormat == null || supportedFormat.isEmpty() )
         {
             throw new IllegalArgumentException( "supportedFormat is required" );
         }
@@ -72,7 +73,7 @@ abstract class AbstractWrapper
     /**
      * @return the supportedFormat
      */
-    public String[] getSupportedFormat()
+    public List<String> getSupportedFormat()
     {
         return supportedFormat;
     }
@@ -80,7 +81,7 @@ abstract class AbstractWrapper
     /**
      * @param supportedFormat the supportedFormat to set
      */
-    void setSupportedFormat( String[] supportedFormat )
+    void setSupportedFormat( List<String> supportedFormat )
     {
         this.supportedFormat = supportedFormat;
     }
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/InputFileWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/InputFileWrapper.java
index fdedd88..ec516b4 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/InputFileWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/InputFileWrapper.java
@@ -21,6 +21,7 @@ package org.apache.maven.doxia.wrapper;
 
 import java.io.FileNotFoundException;
 import java.io.UnsupportedEncodingException;
+import java.util.List;
 
 /**
  * Wrapper for an input file.
@@ -43,7 +44,7 @@ public class InputFileWrapper
      * @throws UnsupportedEncodingException if the encoding is unsupported.
      * @throws FileNotFoundException if the file for absolutePath is not found.
      */
-    private InputFileWrapper( String absolutePath, String format, String charsetName, String[] supportedFormat )
+    private InputFileWrapper( String absolutePath, String format, String charsetName, List<String> supportedFormat )
         throws UnsupportedEncodingException, FileNotFoundException
     {
         super( absolutePath, format, charsetName, supportedFormat );
@@ -63,7 +64,7 @@ public class InputFileWrapper
      * @throws FileNotFoundException if the file for absolutePath is not found.
      * @see #valueOf(String, String, String, String[]) using AUTO_FORMAT
      */
-    public static InputFileWrapper valueOf( String absolutePath, String format, String[] supportedFormat )
+    public static InputFileWrapper valueOf( String absolutePath, String format, List<String> supportedFormat )
         throws UnsupportedEncodingException, FileNotFoundException
     {
         return valueOf( absolutePath, format, AUTO_FORMAT, supportedFormat );
@@ -79,7 +80,7 @@ public class InputFileWrapper
      * @throws FileNotFoundException if the file for absolutePath is not found.
      */
     public static InputFileWrapper valueOf( String absolutePath, String format, String charsetName,
-                                            String[] supportedFormat )
+                                            List<String> supportedFormat )
         throws UnsupportedEncodingException, FileNotFoundException
     {
         return new InputFileWrapper( absolutePath, format, charsetName, supportedFormat );
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/InputReaderWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/InputReaderWrapper.java
index d74004f..56ca904 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/InputReaderWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/InputReaderWrapper.java
@@ -20,6 +20,7 @@ package org.apache.maven.doxia.wrapper;
  */
 
 import java.io.Reader;
+import java.util.List;
 
 /**
  * Wrapper for an input reader.
@@ -41,7 +42,7 @@ public class InputReaderWrapper
      * @param supportedFormat not null
      * @throws IllegalArgumentException if the format equals AUTO_FORMAT.
      */
-    private InputReaderWrapper( Reader reader, String format, String[] supportedFormat )
+    private InputReaderWrapper( Reader reader, String format, List<String> supportedFormat )
     {
         super( format, supportedFormat );
 
@@ -71,7 +72,7 @@ public class InputReaderWrapper
      * @param supportedFormat not null
      * @return a type safe input reader
      */
-    public static InputReaderWrapper valueOf( Reader reader, String format, String[] supportedFormat )
+    public static InputReaderWrapper valueOf( Reader reader, String format, List<String> supportedFormat )
     {
         return new InputReaderWrapper( reader, format, supportedFormat );
     }
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/OutputFileWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/OutputFileWrapper.java
index a90a1e1..e7a0e03 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/OutputFileWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/OutputFileWrapper.java
@@ -20,6 +20,7 @@ package org.apache.maven.doxia.wrapper;
  */
 
 import java.io.UnsupportedEncodingException;
+import java.util.List;
 
 import org.codehaus.plexus.util.WriterFactory;
 
@@ -46,7 +47,7 @@ public class OutputFileWrapper
      * @throws IllegalArgumentException if any.
      * @throws UnsupportedEncodingException if the encoding is unsupported.
      */
-    private OutputFileWrapper( String absolutePath, String format, String charsetName, String[] supportedFormat )
+    private OutputFileWrapper( String absolutePath, String format, String charsetName, List<String> supportedFormat )
         throws UnsupportedEncodingException
     {
         super( absolutePath, format, charsetName, supportedFormat );
@@ -64,7 +65,7 @@ public class OutputFileWrapper
      * @return a type safe output writer
      * @throws UnsupportedEncodingException if the encoding is unsupported.
      */
-    public static OutputFileWrapper valueOf( String absolutePath, String format, String[] supportedFormat )
+    public static OutputFileWrapper valueOf( String absolutePath, String format, List<String> supportedFormat )
         throws UnsupportedEncodingException
     {
         return valueOf( absolutePath, format, WriterFactory.UTF_8, supportedFormat );
@@ -79,7 +80,7 @@ public class OutputFileWrapper
      * @throws UnsupportedEncodingException if the encoding is unsupported.
      */
     public static OutputFileWrapper valueOf( String absolutePath, String format, String charsetName,
-                                             String[] supportedFormat )
+                                             List<String> supportedFormat )
         throws UnsupportedEncodingException
     {
         if ( isEmpty( format ) )
diff --git a/src/main/java/org/apache/maven/doxia/wrapper/OutputStreamWrapper.java b/src/main/java/org/apache/maven/doxia/wrapper/OutputStreamWrapper.java
index 2357504..b12be0d 100644
--- a/src/main/java/org/apache/maven/doxia/wrapper/OutputStreamWrapper.java
+++ b/src/main/java/org/apache/maven/doxia/wrapper/OutputStreamWrapper.java
@@ -20,6 +20,7 @@ package org.apache.maven.doxia.wrapper;
  */
 
 import java.io.OutputStream;
+import java.util.List;
 import java.util.Objects;
 
 import static org.codehaus.plexus.util.StringUtils.isEmpty;
@@ -46,7 +47,7 @@ public class OutputStreamWrapper
      * @param supportedFormat not null
      * @throws IllegalArgumentException if any.
      */
-    private OutputStreamWrapper( OutputStream out, String format, String encoding, String[] supportedFormat )
+    private OutputStreamWrapper( OutputStream out, String format, String encoding, List<String> supportedFormat )
     {
         super( format, supportedFormat );
 
@@ -83,7 +84,7 @@ public class OutputStreamWrapper
      * @return a type safe output stream wrapper
      */
     public static OutputStreamWrapper valueOf( OutputStream out, String format, String encoding,
-            String[] supportedFormat )
+            List<String> supportedFormat )
     {
         Objects.requireNonNull( out, "output writer is required" );
         if ( isEmpty( format ) )