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 ) )