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 2020/03/11 20:44:27 UTC
[maven-shared-utils] 01/01: [MSHARED-826] Apply Java 7 syntax
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MSHARED-826
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git
commit 328fbf5da1220cb17017a49b2b6c39998b964da9
Author: rfscholte <rf...@apache.org>
AuthorDate: Wed Jun 12 20:26:18 2019 +0200
[MSHARED-826] Apply Java 7 syntax
---
.../org/apache/maven/shared/utils/PathTool.java | 4 +
.../apache/maven/shared/utils/PropertyUtils.java | 92 +++-----
.../org/apache/maven/shared/utils/StringUtils.java | 7 +-
.../apache/maven/shared/utils/WriterFactory.java | 1 -
.../shared/utils/cli/CommandLineCallable.java | 4 +-
.../shared/utils/cli/CommandLineException.java | 1 -
.../utils/cli/CommandLineTimeOutException.java | 1 -
.../maven/shared/utils/cli/CommandLineUtils.java | 12 +-
.../apache/maven/shared/utils/cli/Commandline.java | 35 +---
.../maven/shared/utils/cli/DefaultConsumer.java | 5 -
.../maven/shared/utils/cli/StreamFeeder.java | 1 -
.../maven/shared/utils/cli/StreamPumper.java | 1 +
.../shared/utils/cli/WriterStreamConsumer.java | 4 -
.../utils/cli/javatool/AbstractJavaTool.java | 50 +----
.../cli/javatool/AbstractJavaToolRequest.java | 16 +-
.../utils/cli/javatool/JavaToolException.java | 1 -
.../maven/shared/utils/cli/shell/BourneShell.java | 12 +-
.../maven/shared/utils/cli/shell/CmdShell.java | 1 +
.../apache/maven/shared/utils/cli/shell/Shell.java | 4 +-
.../maven/shared/utils/introspection/ClassMap.java | 3 +-
.../shared/utils/introspection/MethodMap.java | 9 +-
.../introspection/ReflectionValueExtractor.java | 1 -
.../shared/utils/io/DirectoryWalkListener.java | 2 -
.../maven/shared/utils/io/DirectoryWalker.java | 8 +-
.../apache/maven/shared/utils/io/FileUtils.java | 233 ++++++---------------
.../org/apache/maven/shared/utils/io/IOUtil.java | 15 ++
.../apache/maven/shared/utils/io/Java7Support.java | 171 +++------------
.../maven/shared/utils/io/WalkCollector.java | 10 +-
.../shared/utils/logging/AnsiMessageBuilder.java | 17 ++
.../shared/utils/logging/PlainMessageBuilder.java | 17 ++
.../shared/utils/xml/PrettyPrintXMLWriter.java | 14 +-
.../maven/shared/utils/xml/XmlStreamReader.java | 4 +-
.../maven/shared/utils/xml/XmlWriterUtil.java | 3 +-
.../org/apache/maven/shared/utils/xml/Xpp3Dom.java | 8 +-
.../maven/shared/utils/xml/Xpp3DomBuilder.java | 21 +-
.../maven/shared/utils/xml/Xpp3DomUtils.java | 2 +-
.../ReflectionValueExtractorTest.java | 2 +-
.../shared/utils/testhelpers/ExceptionHelper.java | 2 +
.../shared/utils/xml/PrettyPrintXmlWriterTest.java | 1 -
.../maven/shared/utils/xml/XmlWriterUtilTest.java | 3 +-
40 files changed, 253 insertions(+), 545 deletions(-)
diff --git a/src/main/java/org/apache/maven/shared/utils/PathTool.java b/src/main/java/org/apache/maven/shared/utils/PathTool.java
index b616211..a273f14 100644
--- a/src/main/java/org/apache/maven/shared/utils/PathTool.java
+++ b/src/main/java/org/apache/maven/shared/utils/PathTool.java
@@ -20,6 +20,7 @@ package org.apache.maven.shared.utils;
*/
import java.io.File;
+import java.nio.file.Path;
import java.util.StringTokenizer;
import javax.annotation.Nonnull;
@@ -32,7 +33,10 @@ import javax.annotation.Nullable;
* This class originally got developed at Apache Anakia and later maintained
* in maven-utils of Apache Maven-1.
* Some external fixes by Apache Committers have been applied later.
+ *
+ * @deprecated Use {@link Path} instead
*/
+@Deprecated
public class PathTool
{
/**
diff --git a/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java b/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java
index 4c211d5..6eed0ac 100644
--- a/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java
@@ -29,8 +29,6 @@ import java.util.Properties;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import org.apache.maven.shared.utils.io.IOUtil;
-
/**
*
*/
@@ -108,7 +106,7 @@ public class PropertyUtils
Properties result = new Properties();
if ( is != null )
{
- try
+ try ( InputStream in = is )
{
result.load( is );
}
@@ -123,10 +121,6 @@ public class PropertyUtils
{
// ignore
}
- finally
- {
- IOUtil.close( is );
- }
return null;
}
@@ -145,29 +139,21 @@ public class PropertyUtils
*/
@Nonnull public static Properties loadOptionalProperties( final @Nullable URL url )
{
- InputStream in = null;
- try
- {
- final Properties properties = new Properties();
+ final Properties properties = new Properties();
- if ( url != null )
+ if ( url != null )
+ {
+ try ( InputStream in = url.openStream() )
{
- in = url.openStream();
properties.load( in );
- in.close();
- in = null;
}
-
- return properties;
- }
- catch ( final IOException e )
- {
- throw new AssertionError( e );
- }
- finally
- {
- IOUtil.close( in );
+ catch ( final IOException e )
+ {
+ throw new AssertionError( e );
+ }
}
+
+ return properties;
}
/**
@@ -185,29 +171,21 @@ public class PropertyUtils
*/
@Nonnull public static Properties loadOptionalProperties( final @Nullable File file )
{
- InputStream in = null;
- try
- {
- final Properties properties = new Properties();
+ final Properties properties = new Properties();
- if ( file != null )
+ if ( file != null )
+ {
+ try ( InputStream in = new FileInputStream( file ) )
{
- in = new FileInputStream( file );
properties.load( in );
- in.close();
- in = null;
}
-
- return properties;
- }
- catch ( final IOException e )
- {
- throw new AssertionError( e );
- }
- finally
- {
- IOUtil.close( in );
+ catch ( final IOException e )
+ {
+ throw new AssertionError( e );
+ }
}
+
+ return properties;
}
/**
@@ -225,29 +203,21 @@ public class PropertyUtils
*/
@Nonnull public static Properties loadOptionalProperties( final @Nullable InputStream inputStream )
{
- InputStream in = null;
- try
- {
- final Properties properties = new Properties();
+ final Properties properties = new Properties();
- if ( inputStream != null )
+ if ( inputStream != null )
+ {
+ try ( InputStream in = inputStream )
{
- in = inputStream;
properties.load( in );
- in.close();
- in = null;
}
-
- return properties;
- }
- catch ( final IOException e )
- {
- throw new AssertionError( e );
- }
- finally
- {
- IOUtil.close( in );
+ catch ( final IOException e )
+ {
+ throw new AssertionError( e );
+ }
}
+
+ return properties;
}
}
diff --git a/src/main/java/org/apache/maven/shared/utils/StringUtils.java b/src/main/java/org/apache/maven/shared/utils/StringUtils.java
index 6b9a55a..b6b92c4 100644
--- a/src/main/java/org/apache/maven/shared/utils/StringUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/StringUtils.java
@@ -24,6 +24,7 @@ import java.util.Arrays;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import java.util.StringTokenizer;
import javax.annotation.Nonnull;
@@ -49,8 +50,6 @@ import javax.annotation.Nullable;
* @author <a href="mailto:fredrik@westermarck.com">Fredrik Westermarck</a>
* @author Holger Krauth
* @author <a href="mailto:alex@purpletech.com">Alexander Day Chaffee</a>
- * @version $Id$
- *
*/
public class StringUtils
{
@@ -1890,7 +1889,7 @@ public class StringUtils
*/
@Nonnull public static String defaultString( Object obj )
{
- return defaultString( obj, "" );
+ return Objects.toString( obj, "" );
}
/**
@@ -1906,7 +1905,7 @@ public class StringUtils
*/
@Nonnull public static String defaultString( Object obj, @Nonnull String defaultString )
{
- return ( obj == null ) ? defaultString : obj.toString();
+ return Objects.toString( obj, defaultString );
}
// Reversing
diff --git a/src/main/java/org/apache/maven/shared/utils/WriterFactory.java b/src/main/java/org/apache/maven/shared/utils/WriterFactory.java
index 7e33c8f..fb2f213 100644
--- a/src/main/java/org/apache/maven/shared/utils/WriterFactory.java
+++ b/src/main/java/org/apache/maven/shared/utils/WriterFactory.java
@@ -40,7 +40,6 @@ import javax.annotation.Nonnull;
* @author Hervé Boutemy
* @see java.nio.charset.Charset
* @see <a href="http://docs.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html">Supported encodings</a>
- * @version $Id$
*/
public class WriterFactory
{
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineCallable.java b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineCallable.java
index b4e4586..1a54b27 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineCallable.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineCallable.java
@@ -29,9 +29,7 @@ import java.util.concurrent.Callable;
public interface CommandLineCallable
extends Callable<Integer>
{
- /**
- * {@inheritDoc}
- */
+ @Override
Integer call()
throws CommandLineException;
}
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineException.java b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineException.java
index 77a50ee..9954e35 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineException.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineException.java
@@ -21,7 +21,6 @@ package org.apache.maven.shared.utils.cli;
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id$
*/
public class CommandLineException
extends Exception
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineTimeOutException.java b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineTimeOutException.java
index 5d83494..c1f8209 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineTimeOutException.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineTimeOutException.java
@@ -21,7 +21,6 @@ package org.apache.maven.shared.utils.cli;
/**
* @author Olivier Lamy
- * @version $Id$
*
*/
public class CommandLineTimeOutException
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java
index 904ecb9..626d565 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java
@@ -36,7 +36,6 @@ import org.apache.maven.shared.utils.StringUtils;
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl </a>
- * @version $Id$
*/
public abstract class CommandLineUtils
{
@@ -50,17 +49,12 @@ public abstract class CommandLineUtils
implements StreamConsumer
{
- private final StringBuffer string = new StringBuffer();
-
- private static final String LS = System.getProperty( "line.separator", "\n" );
-
- /**
- * {@inheritDoc}
- */
+ private final StringBuilder string = new StringBuilder();
+
@Override
public void consumeLine( String line )
{
- string.append( line ).append( LS );
+ string.append( line ).append( System.lineSeparator() );
}
/**
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/Commandline.java b/src/main/java/org/apache/maven/shared/utils/cli/Commandline.java
index db13770..75606e7 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/Commandline.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/Commandline.java
@@ -28,7 +28,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.Vector;
import org.apache.maven.shared.utils.Os;
import org.apache.maven.shared.utils.StringUtils;
@@ -68,7 +67,7 @@ import org.apache.maven.shared.utils.cli.shell.Shell;
public class Commandline
implements Cloneable
{
- private final List<Arg> arguments = new Vector<Arg>();
+ private final List<Argument> arguments = new ArrayList<>();
//protected Vector envVars = new Vector();
// synchronized added to preserve synchronize of Vector class
@@ -96,7 +95,7 @@ public class Commandline
{
setDefaultShell();
String[] tmp = CommandLineUtils.translateCommandline( toProcess );
- if ( ( tmp.length > 0 ) )
+ if ( tmp.length > 0 )
{
setExecutable( tmp[0] );
for ( int i = 1; i < tmp.length; i++ )
@@ -165,7 +164,7 @@ public class Commandline
*/
public Arg createArg( boolean insertAtStart )
{
- Arg argument = new Argument();
+ Argument argument = new Argument();
if ( insertAtStart )
{
arguments.add( 0, argument );
@@ -309,10 +308,9 @@ public class Commandline
*/
public String[] getArguments( boolean mask )
{
- List<String> result = new ArrayList<String>( arguments.size() * 2 );
- for ( Arg argument : arguments )
+ List<String> result = new ArrayList<>( arguments.size() * 2 );
+ for ( Argument arg : arguments )
{
- Argument arg = (Argument) argument;
String[] s = arg.getParts();
if ( s != null )
{
@@ -335,16 +333,13 @@ public class Commandline
return result.toArray( new String[result.size()] );
}
- /** {@inheritDoc}
- */
+ @Override
public String toString()
{
return StringUtils.join( getShellCommandline( true ), " " );
}
-
- /** {@inheritDoc}
- */
+ @Override
public Object clone()
{
throw new RuntimeException( "Do we ever clone a commandline?" );
@@ -462,9 +457,7 @@ public class Commandline
private boolean mask;
- /**
- * {@inheritDoc}
- */
+ @Override
public void setValue( String value )
{
if ( value != null )
@@ -473,9 +466,7 @@ public class Commandline
}
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setLine( String line ) throws CommandLineException
{
if ( line == null )
@@ -493,17 +484,13 @@ public class Commandline
}
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setFile( File value )
{
parts = new String[]{ value.getAbsolutePath() };
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setMask( boolean mask )
{
this.mask = mask;
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/DefaultConsumer.java b/src/main/java/org/apache/maven/shared/utils/cli/DefaultConsumer.java
index 5104877..ad33a55 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/DefaultConsumer.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/DefaultConsumer.java
@@ -23,15 +23,10 @@ import java.io.IOException;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- * @version $Id$
*/
public class DefaultConsumer
implements StreamConsumer
{
-
- /**
- * {@inheritDoc}
- */
@Override
public void consumeLine( String line ) throws IOException
{
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/StreamFeeder.java b/src/main/java/org/apache/maven/shared/utils/cli/StreamFeeder.java
index 26e9de3..6f6723c 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/StreamFeeder.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/StreamFeeder.java
@@ -28,7 +28,6 @@ import java.util.concurrent.atomic.AtomicReference;
* Read from an InputStream and write the output to an OutputStream.
*
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
- * @version $Id$
*/
class StreamFeeder
extends AbstractStreamHandler
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/StreamPumper.java b/src/main/java/org/apache/maven/shared/utils/cli/StreamPumper.java
index 980bfb6..052b980 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/StreamPumper.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/StreamPumper.java
@@ -75,6 +75,7 @@ public class StreamPumper
}
/** run it. */
+ @Override
public void run()
{
try
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/WriterStreamConsumer.java b/src/main/java/org/apache/maven/shared/utils/cli/WriterStreamConsumer.java
index f8ce0d8..ec90ff3 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/WriterStreamConsumer.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/WriterStreamConsumer.java
@@ -25,7 +25,6 @@ import java.io.Writer;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id$
*/
public class WriterStreamConsumer
implements StreamConsumer
@@ -42,9 +41,6 @@ public class WriterStreamConsumer
this.writer = new BufferedWriter( writer );
}
- /**
- * {@inheritDoc}
- */
@Override
public void consumeLine( String line ) throws IOException
{
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaTool.java b/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaTool.java
index 2282680..dbbc6c7 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaTool.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaTool.java
@@ -29,7 +29,6 @@ import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.io.File;
import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Map;
@@ -79,25 +78,19 @@ public abstract class AbstractJavaTool<Request extends JavaToolRequest>
protected abstract Commandline createCommandLine( Request request, String javaToolFileLocation )
throws JavaToolException;
- /**
- * {@inheritDoc}
- */
+ @Override
public String getJavaToolName()
{
return javaToolName;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setToolchain( Object toolchain )
{
this.toolchain = toolchain;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public JavaToolResult execute( Request request )
throws JavaToolException
{
@@ -134,10 +127,7 @@ public abstract class AbstractJavaTool<Request extends JavaToolRequest>
{
InputStream systemIn = new InputStream()
{
-
- /**
- * {@inheritDoc}
- */
+ @Override
public int read()
{
return -1;
@@ -195,10 +185,6 @@ public abstract class AbstractJavaTool<Request extends JavaToolRequest>
{
systemErr = new StreamConsumer()
{
-
- /**
- * {@inheritDoc}
- */
@Override
public void consumeLine( final String line )
{
@@ -223,10 +209,6 @@ public abstract class AbstractJavaTool<Request extends JavaToolRequest>
systemOut = new StreamConsumer()
{
-
- /**
- * {@inheritDoc}
- */
@Override
public void consumeLine( final String line )
{
@@ -302,30 +284,10 @@ public abstract class AbstractJavaTool<Request extends JavaToolRequest>
Method m = toolchain.getClass().getMethod( "findTool", String.class );
return (String) m.invoke( toolchain, javaToolName );
}
- catch ( NoSuchMethodException e )
+ catch ( ReflectiveOperationException | SecurityException | IllegalArgumentException e )
{
// should not happen if toolchain is really a Toolchain object
- getLogger().warn( "unexpected NoSuchMethodException", e );
- }
- catch ( SecurityException e )
- {
- // should not happen
- getLogger().warn( "unexpected SecurityException", e );
- }
- catch ( IllegalAccessException e )
- {
- // should not happen
- getLogger().warn( "unexpected IllegalAccessException", e );
- }
- catch ( IllegalArgumentException e )
- {
- // should not happen: parameter is the right type
- getLogger().warn( "unexpected IllegalArgumentException", e );
- }
- catch ( InvocationTargetException e )
- {
- // not expected...
- getLogger().warn( "unexpected InvocationTargetException", e );
+ getLogger().warn( "unexpected exception", e );
}
return null;
}
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaToolRequest.java b/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaToolRequest.java
index 6e18178..7efaccc 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaToolRequest.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/javatool/AbstractJavaToolRequest.java
@@ -41,33 +41,25 @@ public class AbstractJavaToolRequest
*/
private StreamConsumer systemErrorStreamConsumer;
- /**
- * {@inheritDoc}
- */
+ @Override
public StreamConsumer getSystemOutStreamConsumer()
{
return systemOutStreamConsumer;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public StreamConsumer getSystemErrorStreamConsumer()
{
return systemErrorStreamConsumer;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setSystemOutStreamConsumer( StreamConsumer systemOutStreamConsumer )
{
this.systemOutStreamConsumer = systemOutStreamConsumer;
}
- /**
- * {@inheritDoc}
- */
+ @Override
public void setSystemErrorStreamConsumer( StreamConsumer systemErrorStreamConsumer )
{
this.systemErrorStreamConsumer = systemErrorStreamConsumer;
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/javatool/JavaToolException.java b/src/main/java/org/apache/maven/shared/utils/cli/javatool/JavaToolException.java
index 6b6946c..5ff0af9 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/javatool/JavaToolException.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/javatool/JavaToolException.java
@@ -27,7 +27,6 @@ package org.apache.maven.shared.utils.cli.javatool;
* non-zero exit code.
*
* @author Tony Chemit <ch...@codelutin.com>
- * @version $Id$
* @see JavaToolResult#getExitCode()
* @since 0.5
*/
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java
index 1793cbb..60138c3 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java
@@ -49,9 +49,7 @@ public class BourneShell
setQuotedExecutableEnabled( true );
}
- /**
- * {@inheritDoc}
- */
+ @Override
public String getExecutable()
{
if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
@@ -62,7 +60,7 @@ public class BourneShell
return unifyQuotes( super.getExecutable() );
}
- /** {@inheritDoc} */
+ @Override
public List<String> getShellArgsList()
{
List<String> shellArgs = new ArrayList<String>();
@@ -78,7 +76,7 @@ public class BourneShell
return shellArgs;
}
- /** {@inheritDoc} */
+ @Override
public String[] getShellArgs()
{
String[] shellArgs = super.getShellArgs();
@@ -100,7 +98,7 @@ public class BourneShell
return shellArgs;
}
- /** {@inheritDoc} */
+ @Override
protected String getExecutionPreamble()
{
if ( getWorkingDirectoryAsString() == null )
@@ -118,7 +116,7 @@ public class BourneShell
return sb.toString();
}
- /** {@inheritDoc} */
+ @Override
protected char[] getQuotingTriggerChars()
{
return BASH_QUOTING_TRIGGER_CHARS;
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java
index 7c27ac1..867e8b6 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java
@@ -86,6 +86,7 @@ public class CmdShell
* @param arguments The arguments for the executable.
* @return The resulting command line.
*/
+ @Override
public List<String> getCommandLine( String executable, String... arguments )
{
StringBuilder sb = new StringBuilder();
diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java
index 5809610..c819c65 100644
--- a/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java
+++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java
@@ -273,7 +273,7 @@ public class Shell
public List<String> getShellCommandLine( String... arguments )
{
- List<String> commandLine = new ArrayList<String>();
+ List<String> commandLine = new ArrayList<>();
if ( getShellCommand() != null )
{
@@ -377,7 +377,7 @@ public class Shell
return workingDir;
}
- /** {@inheritDoc} */
+ @Override
public Object clone()
{
throw new RuntimeException( "Do we ever clone this?" );
diff --git a/src/main/java/org/apache/maven/shared/utils/introspection/ClassMap.java b/src/main/java/org/apache/maven/shared/utils/introspection/ClassMap.java
index 7d0120c..01fc400 100644
--- a/src/main/java/org/apache/maven/shared/utils/introspection/ClassMap.java
+++ b/src/main/java/org/apache/maven/shared/utils/introspection/ClassMap.java
@@ -33,7 +33,6 @@ import java.util.Map;
* @author <a href="mailto:bob@werken.com">Bob McWhirter</a>
* @author <a href="mailto:szegedia@freemail.hu">Attila Szegedi</a>
* @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
- * @version $Id$
*/
public class ClassMap
{
@@ -56,7 +55,7 @@ public class ClassMap
* Cache of Methods, or CACHE_MISS, keyed by method
* name and actual arguments used to find it.
*/
- private final Map<String, Object> methodCache = new Hashtable<String, Object>();
+ private final Map<String, Object> methodCache = new Hashtable<>();
private MethodMap methodMap = new MethodMap();
diff --git a/src/main/java/org/apache/maven/shared/utils/introspection/MethodMap.java b/src/main/java/org/apache/maven/shared/utils/introspection/MethodMap.java
index 16df95c..fe98d09 100644
--- a/src/main/java/org/apache/maven/shared/utils/introspection/MethodMap.java
+++ b/src/main/java/org/apache/maven/shared/utils/introspection/MethodMap.java
@@ -33,7 +33,6 @@ import java.util.Map;
* @author <a href="mailto:Christoph.Reck@dlr.de">Christoph Reck</a>
* @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
* @author <a href="mailto:szegedia@freemail.hu">Attila Szegedi</a>
- * @version $Id$
*/
class MethodMap
{
@@ -46,7 +45,7 @@ class MethodMap
/**
* Keep track of all methods with the same name.
*/
- private final Map<String, List<Method>> methodByNameMap = new Hashtable<String, List<Method>>();
+ private final Map<String, List<Method>> methodByNameMap = new Hashtable<>();
/**
* Add a method to a list of methods by name.
@@ -63,7 +62,7 @@ class MethodMap
if ( l == null )
{
- l = new ArrayList<Method>();
+ l = new ArrayList<>();
methodByNameMap.put( methodName, l );
}
@@ -169,7 +168,7 @@ class MethodMap
* (the most specific method) otherwise we have ambiguity.
*/
- LinkedList<Method> maximals = new LinkedList<Method>();
+ LinkedList<Method> maximals = new LinkedList<>();
for ( Method app : applicables )
{
@@ -283,7 +282,7 @@ class MethodMap
*/
private static LinkedList<Method> getApplicables( List<Method> methods, Class<?>... classes )
{
- LinkedList<Method> list = new LinkedList<Method>();
+ LinkedList<Method> list = new LinkedList<>();
for ( Method method : methods )
{
diff --git a/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java b/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java
index 014f10c..11d6383 100644
--- a/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java
+++ b/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java
@@ -41,7 +41,6 @@ import javax.annotation.Nullable;
*
* @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
* @see <a href="http://struts.apache.org/1.x/struts-taglib/indexedprops.html">
* http://struts.apache.org/1.x/struts-taglib/indexedprops.html</a>
*/
diff --git a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
index cf28080..71c688d 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalkListener.java
@@ -23,8 +23,6 @@ import java.io.File;
/**
* DirectoryWalkListener
- *
- * @version $Id$
*/
public interface DirectoryWalkListener
{
diff --git a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
index 3713fe2..65fa2c6 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
@@ -27,7 +27,6 @@ import java.util.Stack;
/**
* DirectoryWalker
*
- * @version $Id$
*/
class DirectoryWalker
{
@@ -104,6 +103,7 @@ class DirectoryWalker
return (int) Math.floor( percentageOffset + ( percentageWithinDir * percentageSize ) );
}
+ @Override
public String toString()
{
return "DirStackEntry[" + "dir=" + dir.getAbsolutePath() + ",count=" + count + ",index=" + index
@@ -127,9 +127,9 @@ class DirectoryWalker
DirectoryWalker()
{
- this.includes = new ArrayList<String>();
- this.excludes = new ArrayList<String>();
- this.listeners = new ArrayList<DirectoryWalkListener>();
+ this.includes = new ArrayList<>();
+ this.excludes = new ArrayList<>();
+ this.listeners = new ArrayList<>();
}
public void addDirectoryWalkListener( DirectoryWalkListener listener )
diff --git a/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java b/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
index 63a5aa3..7b9f4d5 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
@@ -41,6 +41,7 @@ import java.io.Reader;
import java.io.Writer;
import java.net.URL;
import java.nio.channels.FileChannel;
+import java.nio.file.Files;
import java.security.SecureRandom;
import java.text.DecimalFormat;
import java.util.ArrayList;
@@ -84,7 +85,6 @@ import java.util.Random;
* @author <a href="mailto:Christoph.Reck@dlr.de">Christoph.Reck</a>
* @author <a href="mailto:peter@apache.org">Peter Donald</a>
* @author <a href="mailto:jefft@apache.org">Jeff Turner</a>
- * @version $Id$
*/
public class FileUtils
{
@@ -117,11 +117,6 @@ public class FileUtils
private static final long FILE_COPY_BUFFER_SIZE = ONE_MB * 30;
/**
- * The vm line separator
- */
- private static final String FS = System.getProperty( "file.separator" );
-
- /**
* Non-valid Characters for naming files, folders under Windows: <code>":", "*", "?", "\"", "<", ">", "|"</code>
*
* @see <a href="http://support.microsoft.com/?scid=kb%3Ben-us%3B177506&x=12&y=13">
@@ -277,34 +272,30 @@ public class FileUtils
{
StringBuilder buf = new StringBuilder();
- Reader reader = null;
-
- try
+ try ( Reader reader = getReader( file, encoding ) )
{
- if ( encoding != null )
- {
- reader = new InputStreamReader( new FileInputStream( file ), encoding );
- }
- else
- {
- reader = new InputStreamReader( new FileInputStream( file ) );
- }
int count;
char[] b = new char[512];
while ( ( count = reader.read( b ) ) >= 0 ) // blocking read
{
buf.append( b, 0, count );
}
- reader.close();
- reader = null;
- }
- finally
- {
- IOUtil.close( reader );
}
return buf.toString();
}
+
+ private static Reader getReader( @Nonnull File file, @Nullable String encoding ) throws IOException
+ {
+ if ( encoding != null )
+ {
+ return new InputStreamReader( new FileInputStream( file ), encoding );
+ }
+ else
+ {
+ return new InputStreamReader( new FileInputStream( file ) );
+ }
+ }
/**
* @param file the file path
@@ -345,10 +336,8 @@ public class FileUtils
public static void fileAppend( @Nonnull String fileName, @Nullable String encoding, @Nonnull String data )
throws IOException
{
- FileOutputStream out = null;
- try
+ try ( FileOutputStream out = new FileOutputStream( fileName, true ) )
{
- out = new FileOutputStream( fileName, true );
if ( encoding != null )
{
out.write( data.getBytes( encoding ) );
@@ -357,12 +346,6 @@ public class FileUtils
{
out.write( data.getBytes() );
}
- out.close();
- out = null;
- }
- finally
- {
- IOUtil.close( out );
}
}
@@ -406,24 +389,21 @@ public class FileUtils
public static void fileWrite( @Nonnull File file, @Nullable String encoding, @Nonnull String data )
throws IOException
{
- Writer writer = null;
- try
+ try ( Writer writer = getWriter( file, encoding ) )
{
- if ( encoding != null )
- {
- writer = new OutputStreamWriter( new FileOutputStream( file ), encoding );
- }
- else
- {
- writer = new OutputStreamWriter( new FileOutputStream( file ) );
- }
writer.write( data );
- writer.close();
- writer = null;
}
- finally
+ }
+
+ private static Writer getWriter( @Nonnull File file, @Nullable String encoding ) throws IOException
+ {
+ if ( encoding != null )
+ {
+ return new OutputStreamWriter( new FileOutputStream( file ), encoding );
+ }
+ else
{
- IOUtil.close( writer );
+ return new OutputStreamWriter( new FileOutputStream( file ) );
}
}
@@ -452,18 +432,8 @@ public class FileUtils
public static void fileWriteArray( @Nonnull File file, @Nullable String encoding, @Nullable String... data )
throws IOException
{
- Writer writer = null;
- try
+ try ( Writer writer = getWriter( file, encoding ) )
{
- if ( encoding != null )
- {
- writer = new OutputStreamWriter( new FileOutputStream( file ), encoding );
- }
- else
- {
- writer = new OutputStreamWriter( new FileOutputStream( file ) );
- }
-
for ( int i = 0; data != null && i < data.length; i++ )
{
writer.write( data[i] );
@@ -472,13 +442,6 @@ public class FileUtils
writer.write( "\n" );
}
}
-
- writer.close();
- writer = null;
- }
- finally
- {
- IOUtil.close( writer );
}
}
@@ -508,7 +471,7 @@ public class FileUtils
*/
public static String[] getFilesFromExtension( @Nonnull String directory, @Nonnull String... extensions )
{
- List<String> files = new ArrayList<String>();
+ List<String> files = new ArrayList<>();
File currentDir = new File( directory );
@@ -521,7 +484,7 @@ public class FileUtils
for ( String unknownFile : unknownFiles )
{
- String currentFileName = directory + System.getProperty( "file.separator" ) + unknownFile;
+ String currentFileName = directory + File.separator + unknownFile;
File currentFile = new File( currentFileName );
if ( currentFile.isDirectory() )
@@ -645,25 +608,11 @@ public class FileUtils
return false;
}
- InputStream input1 = null;
- InputStream input2 = null;
- boolean equals = false;
- try
+ try ( InputStream input1 = new FileInputStream( file1 );
+ InputStream input2 = new FileInputStream( file2 ) )
{
- input1 = new FileInputStream( file1 );
- input2 = new FileInputStream( file2 );
- equals = IOUtil.contentEquals( input1, input2 );
- input1.close();
- input1 = null;
- input2.close();
- input2 = null;
+ return IOUtil.contentEquals( input1, input2 );
}
- finally
- {
- IOUtil.close( input1 );
- IOUtil.close( input2 );
- }
- return equals;
}
/**
@@ -828,9 +777,9 @@ public class FileUtils
final String message = "File " + source + " does not exist";
throw new IOException( message );
}
- if ( Java7Support.isAtLeastJava7() && Java7Support.isSymLink( source ) )
+ if ( Files.isSymbolicLink( source.toPath() ) )
{
- File target = Java7Support.readSymbolicLink( source );
+ File target = Files.readSymbolicLink( source.toPath() ).toFile();
Java7Support.createSymbolicLink( destination, target );
return;
}
@@ -866,16 +815,12 @@ public class FileUtils
private static void doCopyFile( @Nonnull File source, @Nonnull File destination )
throws IOException
{
- FileInputStream fis = null;
- FileOutputStream fos = null;
- FileChannel input = null;
- FileChannel output = null;
- try
+
+ try ( FileInputStream fis = new FileInputStream( source );
+ FileOutputStream fos = new FileOutputStream( destination );
+ FileChannel input = fis.getChannel();
+ FileChannel output = fos.getChannel(); )
{
- fis = new FileInputStream( source );
- fos = new FileOutputStream( destination );
- input = fis.getChannel();
- output = fos.getChannel();
long size = input.size();
long pos = 0;
long count;
@@ -884,21 +829,6 @@ public class FileUtils
count = size - pos > FILE_COPY_BUFFER_SIZE ? FILE_COPY_BUFFER_SIZE : size - pos;
pos += output.transferFrom( input, pos, count );
}
- output.close();
- output = null;
- fos.close();
- fos = null;
- input.close();
- input = null;
- fis.close();
- fis = null;
- }
- finally
- {
- IOUtil.close( output );
- IOUtil.close( fos );
- IOUtil.close( input );
- IOUtil.close( fis );
}
}
@@ -968,35 +898,24 @@ public class FileUtils
@Nonnull final File destination )
throws IOException
{
- InputStream in = source;
- OutputStream out = null;
- try
+ //does destination directory exist ?
+ if ( destination.getParentFile() != null && !destination.getParentFile().exists() )
{
- //does destination directory exist ?
- if ( destination.getParentFile() != null && !destination.getParentFile().exists() )
- {
- //noinspection ResultOfMethodCallIgnored
- destination.getParentFile().mkdirs();
- }
-
- //make sure we can write to destination
- if ( destination.exists() && !destination.canWrite() )
- {
- final String message = "Unable to open file " + destination + " for writing.";
- throw new IOException( message );
- }
+ //noinspection ResultOfMethodCallIgnored
+ destination.getParentFile().mkdirs();
+ }
- out = new FileOutputStream( destination );
- IOUtil.copy( in, out );
- out.close();
- out = null;
- in.close();
- in = null;
+ //make sure we can write to destination
+ if ( destination.exists() && !destination.canWrite() )
+ {
+ final String message = "Unable to open file " + destination + " for writing.";
+ throw new IOException( message );
}
- finally
+
+ try ( InputStream in = source;
+ OutputStream out = new FileOutputStream( destination ) )
{
- IOUtil.close( out );
- IOUtil.close( in );
+ IOUtil.copy( in, out );
}
}
@@ -1488,7 +1407,7 @@ public class FileUtils
{
List<String> fileNames = getFileNames( directory, includes, excludes, includeBasedir );
- List<File> files = new ArrayList<File>();
+ List<File> files = new ArrayList<>();
for ( String filename : fileNames )
{
@@ -1607,7 +1526,7 @@ public class FileUtils
scanner.scan();
- List<String> list = new ArrayList<String>();
+ List<String> list = new ArrayList<>();
if ( getFiles )
{
@@ -1617,7 +1536,7 @@ public class FileUtils
{
if ( includeBasedir )
{
- list.add( directory + FileUtils.FS + file );
+ list.add( directory + File.separator + file );
}
else
{
@@ -1634,7 +1553,7 @@ public class FileUtils
{
if ( includeBasedir )
{
- list.add( directory + FileUtils.FS + directory1 );
+ list.add( directory + File.separator + directory1 );
}
else
{
@@ -1974,15 +1893,12 @@ public class FileUtils
@Nonnull public static List<String> loadFile( @Nonnull File file )
throws IOException
{
- List<String> lines = new ArrayList<String>();
+ List<String> lines = new ArrayList<>();
if ( file.exists() )
{
- BufferedReader reader = null;
- try
+ try ( BufferedReader reader = new BufferedReader( new FileReader( file ) ) )
{
- reader = new BufferedReader( new FileReader( file ) );
-
for ( String line = reader.readLine(); line != null; line = reader.readLine() )
{
line = line.trim();
@@ -1992,13 +1908,6 @@ public class FileUtils
lines.add( line );
}
}
-
- reader.close();
- reader = null;
- }
- finally
- {
- IOUtil.close( reader );
}
}
@@ -2035,41 +1944,33 @@ public class FileUtils
/**
* Checks whether a given file is a symbolic link.
*
- * This only works reliably on java7 and higher. For earlier version we use a highly crappy heuristic
- * that mostly does not work.
- * <p>
- * It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical
- * - this may lead to false positives on some platforms.
- * </p>
- *
* @param file the file to check
* @throws IOException in case of failure.
* @return true if symbolic link false otherwise.
- *
+ * @deprecated Use {@link Files#isSymbolicLink(java.nio.file.Path)} instead
*/
+ @Deprecated
public static boolean isSymbolicLink( @Nonnull final File file )
throws IOException
{
- if ( Java7Support.isAtLeastJava7() )
- {
- return Java7Support.isSymLink( file );
- }
- return isSymbolicLinkLegacy( file );
+ return Files.isSymbolicLink( file.toPath() );
}
/**
* Checks whether a given file is a symbolic link.
*
* @param file the file to check
- * @return true if and only if we reliably can say this is a symlink. This will
- * always return false for java versions prior to 1.7.
+ * @return true if and only if we reliably can say this is a symlink.
*
* @throws IOException in case of failure.
+ * @deprecated Use {@link Files#isSymbolicLink(java.nio.file.Path)} instead
*/
+ @Deprecated
public static boolean isSymbolicLinkForSure( @Nonnull final File file )
throws IOException
{
- return Java7Support.isAtLeastJava7() && Java7Support.isSymLink( file );
+ // Used to return false for Java 6 and older
+ return Files.isSymbolicLink( file.toPath() );
}
/**
diff --git a/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java b/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java
index c0e421d..f0aea3f 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java
@@ -844,7 +844,10 @@ public final class IOUtil
* </p>
*
* @param channel The channel to close or {@code null}.
+ * @deprecated Use try-with-resources instead
+ * @see {@link AutoCloseable}
*/
+ @Deprecated
public static void close( @Nullable Channel channel )
{
try
@@ -948,7 +951,10 @@ public final class IOUtil
* </p>
*
* @param inputStream The stream to close or {@code null}.
+ * @deprecated Use try-with-resources instead
+ * @see {@link AutoCloseable}
*/
+ @Deprecated
public static void close( @Nullable InputStream inputStream )
{
try
@@ -1052,7 +1058,10 @@ public final class IOUtil
* </p>
*
* @param outputStream The stream to close or {@code null}.
+ * @deprecated Use try-with-resources instead
+ * @see {@link AutoCloseable}
*/
+ @Deprecated
public static void close( @Nullable OutputStream outputStream )
{
try
@@ -1156,7 +1165,10 @@ public final class IOUtil
* </p>
*
* @param reader The reader to close or {@code null}.
+ * @deprecated Use try-with-resources instead
+ * @see {@link AutoCloseable}
*/
+ @Deprecated
public static void close( @Nullable Reader reader )
{
try
@@ -1260,7 +1272,10 @@ public final class IOUtil
* </p>
*
* @param writer The writer to close or {@code null}.
+ * @deprecated Use try-with-resources instead
+ * @see {@link AutoCloseable}
*/
+ @Deprecated
public static void close( @Nullable Writer writer )
{
try
diff --git a/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java b/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
index 550de2f..7645de8 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
@@ -22,90 +22,26 @@ package org.apache.maven.shared.utils.io;
import javax.annotation.Nonnull;
import java.io.File;
import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
+import java.nio.file.Files;
/**
* Java7 feature detection
*
* @author Kristian Rosenvold
+ * @deprecated Java 7 is the minimum, so no need to have this class
*/
+@Deprecated
public class Java7Support
{
-
- private static final boolean IS_JAVA7;
-
- private static Method isSymbolicLink;
-
- private static Method delete;
-
- private static Method toPath;
-
- private static Method exists;
-
- private static Method toFile;
-
- private static Method readSymlink;
-
- private static Method createSymlink;
-
- private static Object emptyLinkOpts;
-
- private static Object emptyFileAttributes;
-
- static
- {
- boolean isJava7x = true;
- try
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- Class<?> files = cl.loadClass( "java.nio.file.Files" );
- Class<?> path = cl.loadClass( "java.nio.file.Path" );
- Class<?> fa = cl.loadClass( "java.nio.file.attribute.FileAttribute" );
- Class<?> linkOption = cl.loadClass( "java.nio.file.LinkOption" );
- isSymbolicLink = files.getMethod( "isSymbolicLink", path );
- delete = files.getMethod( "delete", path );
- readSymlink = files.getMethod( "readSymbolicLink", path );
-
- emptyFileAttributes = Array.newInstance( fa, 0 );
- final Object o = emptyFileAttributes;
- createSymlink = files.getMethod( "createSymbolicLink", path, path, o.getClass() );
- emptyLinkOpts = Array.newInstance( linkOption, 0 );
- exists = files.getMethod( "exists", path, emptyLinkOpts.getClass() );
- toPath = File.class.getMethod( "toPath" );
- toFile = path.getMethod( "toFile" );
- }
- catch ( ClassNotFoundException e )
- {
- isJava7x = false;
- }
- catch ( NoSuchMethodException e )
- {
- isJava7x = false;
- }
- IS_JAVA7 = isJava7x;
- }
-
/**
* @param file The file to check for being a symbolic link.
* @return true if the file is a symlink false otherwise.
+ *
+ * @deprecated Instead use {@link Files#isSymbolicLink(java.nio.file.Path)}
*/
public static boolean isSymLink( @Nonnull File file )
{
- try
- {
- Object path = toPath.invoke( file );
- return (Boolean) isSymbolicLink.invoke( null, path );
- }
- catch ( IllegalAccessException e )
- {
- throw new RuntimeException( e );
- }
- catch ( InvocationTargetException e )
- {
- throw new RuntimeException( e );
- }
+ return Files.isSymbolicLink( file.toPath() );
}
@@ -113,24 +49,12 @@ public class Java7Support
* @param symlink The sym link.
* @return The file.
* @throws IOException in case of error.
+ * @deprecated Instead use {@link Files#readSymbolicLink(java.nio.file.Path)}
*/
@Nonnull public static File readSymbolicLink( @Nonnull File symlink )
throws IOException
{
- try
- {
- Object path = toPath.invoke( symlink );
- Object resultPath = readSymlink.invoke( null, path );
- return (File) toFile.invoke( resultPath );
- }
- catch ( IllegalAccessException e )
- {
- throw new RuntimeException( e );
- }
- catch ( InvocationTargetException e )
- {
- throw new RuntimeException( e );
- }
+ return Files.readSymbolicLink( symlink.toPath() ).toFile();
}
@@ -138,107 +62,60 @@ public class Java7Support
* @param file The file to check.
* @return true if exist false otherwise.
* @throws IOException in case of failure.
+ * @deprecated Instead use {@link Files#exists(java.nio.file.Path, java.nio.file.LinkOption...)}
*/
public static boolean exists( @Nonnull File file )
throws IOException
{
- try
- {
- Object path = toPath.invoke( file );
- final Object invoke = exists.invoke( null, path, emptyLinkOpts );
- return (Boolean) invoke;
- }
- catch ( IllegalAccessException e )
- {
- throw new RuntimeException( e );
- }
- catch ( InvocationTargetException e )
- {
- throw (RuntimeException) e.getTargetException();
- }
-
+ return Files.exists( file.toPath() );
}
+ // CHECKSTYLE_OFF: LineLength
/**
* @param symlink The link name.
* @param target The target.
* @return The linked file.
* @throws IOException in case of an error.
+ * @deprecated Instead use
+ * {@link Files#createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute...)}
*/
+ // CHECKSTYLE_ON: LineLength
@Nonnull public static File createSymbolicLink( @Nonnull File symlink, @Nonnull File target )
throws IOException
{
- try
- {
- if ( !exists( symlink ) )
- {
- Object link = toPath.invoke( symlink );
- Object path = createSymlink.invoke( null, link, toPath.invoke( target ), emptyFileAttributes );
- return (File) toFile.invoke( path );
- }
- return symlink;
- }
- catch ( IllegalAccessException e )
+ if ( !exists( symlink ) )
{
- throw new RuntimeException( e );
+ return Files.createSymbolicLink( symlink.toPath(), target.toPath() ).toFile();
}
- catch ( InvocationTargetException e )
- {
- final Throwable targetException = e.getTargetException();
- if ( targetException instanceof IOException )
- {
- throw (IOException) targetException;
- }
- else if ( targetException instanceof RuntimeException )
- {
- // java.lang.UnsupportedOperationException: Symbolic links not supported on this operating system
- // java.lang.SecurityException: denies certain permissions see Javadoc
- throw ( RuntimeException ) targetException;
- }
- else
- {
- throw new IOException( targetException.getClass() + ": " + targetException.getLocalizedMessage() );
- }
- }
-
+ return symlink;
}
+
/**
* Performs a nio delete
* @param file the file to delete
* @throws IOException in case of error.
+ * @deprecated Instead use {@link Files#delete(java.nio.file.Path)}
*/
public static void delete( @Nonnull File file )
throws IOException
{
- try
- {
- Object path = toPath.invoke( file );
- delete.invoke( null, path );
- }
- catch ( IllegalAccessException e )
- {
- throw new RuntimeException( e );
- }
- catch ( InvocationTargetException e )
- {
- throw (IOException) e.getTargetException();
- }
+ Files.delete( file.toPath() );
}
/**
- * @return true in case of Java 7.
+ * @return true
*/
public static boolean isJava7()
{
- return IS_JAVA7;
+ return true;
}
/**
- * @return true in case of Java7 or greater.
+ * @return true
*/
public static boolean isAtLeastJava7()
{
- return IS_JAVA7;
+ return true;
}
}
diff --git a/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java b/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
index 5d48d4a..e9deb2b 100644
--- a/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
+++ b/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
@@ -46,27 +46,27 @@ public class WalkCollector
*/
public WalkCollector()
{
- steps = new ArrayList<File>();
+ steps = new ArrayList<>();
startCount = 0;
finishCount = 0;
percentageLow = 0;
percentageHigh = 0;
}
- /** {@inheritDoc} */
+ @Override
public void debug( String message )
{
// can be used to set some message
}
- /** {@inheritDoc} */
+ @Override
public void directoryWalkStarting( File basedir )
{
startingDir = basedir;
startCount++;
}
- /** {@inheritDoc} */
+ @Override
public void directoryWalkStep( int percentage, File file )
{
steps.add( file );
@@ -74,7 +74,7 @@ public class WalkCollector
percentageHigh = Math.max( percentageHigh, percentage );
}
- /** {@inheritDoc} */
+ @Override
public void directoryWalkFinished()
{
finishCount++;
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
index 2d59bc9..c947843 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/AnsiMessageBuilder.java
@@ -50,98 +50,115 @@ class AnsiMessageBuilder
this.ansi = ansi;
}
+ @Override
public String debug( String level )
{
return Style.DEBUG.apply( ansi ).a( level ).reset().toString();
}
+ @Override
public String info( String level )
{
return Style.INFO.apply( ansi ).a( level ).reset().toString();
}
+ @Override
public String warning( String level )
{
return Style.WARNING.apply( ansi ).a( level ).reset().toString();
}
+ @Override
public String error( String level )
{
return Style.ERROR.apply( ansi ).a( level ).reset().toString();
}
+ @Override
public AnsiMessageBuilder success( Object message )
{
Style.SUCCESS.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder warning( Object message )
{
Style.WARNING.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder failure( Object message )
{
Style.FAILURE.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder strong( Object message )
{
Style.STRONG.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder mojo( Object message )
{
Style.MOJO.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder project( Object message )
{
Style.PROJECT.apply( ansi ).a( message ).reset();
return this;
}
+ @Override
public AnsiMessageBuilder a( char[] value, int offset, int len )
{
ansi.a( value, offset, len );
return this;
}
+ @Override
public AnsiMessageBuilder a( char[] value )
{
ansi.a( value );
return this;
}
+ @Override
public AnsiMessageBuilder a( CharSequence value, int start, int end )
{
ansi.a( value, start, end );
return this;
}
+ @Override
public AnsiMessageBuilder a( CharSequence value )
{
ansi.a( value );
return this;
}
+ @Override
public AnsiMessageBuilder a( Object value )
{
ansi.a( value );
return this;
}
+ @Override
public AnsiMessageBuilder newline()
{
ansi.newline();
return this;
}
+ @Override
public AnsiMessageBuilder format( String pattern, Object... args )
{
ansi.format( pattern, args );
diff --git a/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java b/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
index 6a7b56e..92a7fb9 100644
--- a/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/logging/PlainMessageBuilder.java
@@ -42,92 +42,109 @@ class PlainMessageBuilder
buffer = new StringBuilder( size );
}
+ @Override
public String debug( String level )
{
return a( level ).toString();
}
+ @Override
public String info( String level )
{
return a( level ).toString();
}
+ @Override
public String warning( String level )
{
return a( level ).toString();
}
+ @Override
public String error( String level )
{
return a( level ).toString();
}
+ @Override
public PlainMessageBuilder success( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder warning( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder failure( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder strong( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder mojo( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder project( Object message )
{
return a( message );
}
+ @Override
public PlainMessageBuilder a( char[] value, int offset, int len )
{
buffer.append( value, offset, len );
return this;
}
+ @Override
public PlainMessageBuilder a( char[] value )
{
buffer.append( value );
return this;
}
+ @Override
public PlainMessageBuilder a( CharSequence value, int start, int end )
{
buffer.append( value, start, end );
return this;
}
+ @Override
public PlainMessageBuilder a( CharSequence value )
{
buffer.append( value );
return this;
}
+ @Override
public PlainMessageBuilder a( Object value )
{
buffer.append( value );
return this;
}
+ @Override
public PlainMessageBuilder newline()
{
buffer.append( System.getProperty( "line.separator" ) );
return this;
}
+ @Override
public PlainMessageBuilder format( String pattern, Object... args )
{
buffer.append( String.format( pattern, args ) );
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java b/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java
index deb07d2..f1656e6 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java
@@ -173,7 +173,7 @@ public class PrettyPrintXMLWriter
assert !writer.checkError() : "Unexpected error state PrintWriter passed to PrettyPrintXMLWriter.";
}
- /** {@inheritDoc} */
+ @Override
public void addAttribute( String key, String value ) throws IOException
{
if ( !processingElement )
@@ -191,7 +191,7 @@ public class PrettyPrintXMLWriter
}
}
- /** {@inheritDoc} */
+ @Override
public void setEncoding( String encoding )
{
if ( documentStarted )
@@ -202,7 +202,7 @@ public class PrettyPrintXMLWriter
this.encoding = encoding;
}
- /** {@inheritDoc} */
+ @Override
public void setDocType( String docType )
{
if ( documentStarted )
@@ -239,7 +239,7 @@ public class PrettyPrintXMLWriter
this.lineIndent = lineIndentParameter.toCharArray();
}
- /** {@inheritDoc} */
+ @Override
public void startElement( String elementName ) throws IOException
{
boolean firstLine = ensureDocumentStarted();
@@ -263,7 +263,7 @@ public class PrettyPrintXMLWriter
elementStack.add( depth++, elementName );
}
- /** {@inheritDoc} */
+ @Override
public void writeText( String text ) throws IOException
{
ensureDocumentStarted();
@@ -280,7 +280,7 @@ public class PrettyPrintXMLWriter
}
}
- /** {@inheritDoc} */
+ @Override
public void writeMarkup( String markup ) throws IOException
{
ensureDocumentStarted();
@@ -295,7 +295,7 @@ public class PrettyPrintXMLWriter
}
}
- /** {@inheritDoc} */
+ @Override
public void endElement() throws IOException
{
String chars = elementStack.get( --depth );
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/XmlStreamReader.java b/src/main/java/org/apache/maven/shared/utils/xml/XmlStreamReader.java
index 11a5777..c54cbab 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/XmlStreamReader.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/XmlStreamReader.java
@@ -155,14 +155,14 @@ public class XmlStreamReader
return reader.getEncoding();
}
- /** {@inheritDoc} */
+ @Override
public int read( char[] buf, int offset, int len )
throws IOException
{
return reader.read( buf, offset, len );
}
- /** {@inheritDoc} */
+ @Override
public void close()
throws IOException
{
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/XmlWriterUtil.java b/src/main/java/org/apache/maven/shared/utils/xml/XmlWriterUtil.java
index e83d1cf..826ab8f 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/XmlWriterUtil.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/XmlWriterUtil.java
@@ -26,12 +26,11 @@ import org.apache.maven.shared.utils.StringUtils;
* Utility class for the <code>XmlWriter</code> class.
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
*/
public class XmlWriterUtil
{
/** The vm line separator */
- public static final String LS = System.getProperty( "line.separator" );
+ public static final String LS = System.lineSeparator();
/** The default line indenter size i.e. 2. */
public static final int DEFAULT_INDENTATION_SIZE = 2;
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
index 5efa8fc..6442bd2 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3Dom.java
@@ -341,7 +341,7 @@ public class Xpp3Dom
return Xpp3DomUtils.mergeXpp3Dom( dominant, recessive );
}
- /** {@inheritDoc} */
+ @Override
public boolean equals( Object obj )
{
if ( obj == this )
@@ -362,7 +362,7 @@ public class Xpp3Dom
&& !( childList == null ? dom.childList != null : !childList.equals( dom.childList ) );
}
- /** {@inheritDoc} */
+ @Override
public int hashCode()
{
int result = 17;
@@ -373,7 +373,7 @@ public class Xpp3Dom
return result;
}
- /** {@inheritDoc} */
+ @Override
public String toString()
{
try
@@ -430,7 +430,7 @@ public class Xpp3Dom
return str == null || str.trim().length() == 0;
}
- /** {@inheritDoc} */
+ @Override
public Iterator<Xpp3Dom> iterator()
{
return getChildrenList().iterator();
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java
index 0798e4f..a4861f3 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomBuilder.java
@@ -19,7 +19,6 @@ package org.apache.maven.shared.utils.xml;
* under the License.
*/
-import org.apache.maven.shared.utils.io.IOUtil;
import org.apache.maven.shared.utils.xml.pull.XmlPullParserException;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
@@ -99,21 +98,15 @@ public class Xpp3DomBuilder
public static Xpp3Dom build( @WillClose Reader reader, boolean trim )
throws XmlPullParserException
{
- try
+ try ( Reader r = reader )
{
- DocHandler docHandler = parseSax( new InputSource( reader ), trim );
- reader.close();
- reader = null;
+ DocHandler docHandler = parseSax( new InputSource( r ), trim );
return docHandler.result;
}
catch ( final IOException e )
{
throw new XmlPullParserException( e );
}
- finally
- {
- IOUtil.close( reader );
- }
}
private static DocHandler parseSax( @Nonnull InputSource inputSource, boolean trim )
@@ -190,16 +183,16 @@ public class Xpp3DomBuilder
private static class DocHandler
extends DefaultHandler
{
- private final List<Xpp3Dom> elemStack = new ArrayList<Xpp3Dom>();
+ private final List<Xpp3Dom> elemStack = new ArrayList<>();
- private final List<StringBuilder> values = new ArrayList<StringBuilder>();
+ private final List<StringBuilder> values = new ArrayList<>();
// Todo: Use these for something smart !
- private final List<SAXParseException> warnings = new ArrayList<SAXParseException>();
+ private final List<SAXParseException> warnings = new ArrayList<>();
- private final List<SAXParseException> errors = new ArrayList<SAXParseException>();
+ private final List<SAXParseException> errors = new ArrayList<>();
- private final List<SAXParseException> fatals = new ArrayList<SAXParseException>();
+ private final List<SAXParseException> fatals = new ArrayList<>();
Xpp3Dom result = null;
diff --git a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java
index 1b10dc8..f42eb12 100644
--- a/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java
+++ b/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java
@@ -117,7 +117,7 @@ public class Xpp3DomUtils
private static Map<String, Iterator<Xpp3Dom>> getCommonChildren( Xpp3Dom dominant, Xpp3Dom recessive )
{
- Map<String, Iterator<Xpp3Dom>> commonChildren = new HashMap<String, Iterator<Xpp3Dom>>();
+ Map<String, Iterator<Xpp3Dom>> commonChildren = new HashMap<>();
for ( String childName : recessive.childMap.keySet() )
{
diff --git a/src/test/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractorTest.java b/src/test/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractorTest.java
index e082617..97b0f31 100644
--- a/src/test/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractorTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractorTest.java
@@ -30,13 +30,13 @@ import junit.framework.TestCase;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id$
*/
public class ReflectionValueExtractorTest
extends TestCase
{
private Project project;
+ @Override
protected void setUp()
throws Exception
{
diff --git a/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java b/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java
index 8d153b4..93a032d 100644
--- a/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java
+++ b/src/test/java/org/apache/maven/shared/utils/testhelpers/ExceptionHelper.java
@@ -49,6 +49,7 @@ public class ExceptionHelper
this.cause = cause;
}
+ @Override
public boolean matches( Object item )
{
Throwable throwable = (Throwable) item;
@@ -59,6 +60,7 @@ public class ExceptionHelper
return cause.isInstance( throwable );
}
+ @Override
public void describeTo( Description description )
{
description.appendText( "was caused by a " ).appendValue( cause ).appendText( " being thrown" );
diff --git a/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java b/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java
index f272332..3aa1930 100644
--- a/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java
@@ -36,7 +36,6 @@ import org.junit.Test;
* Test of {@link PrettyPrintXMLWriter}
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
*/
public class PrettyPrintXmlWriterTest
{
diff --git a/src/test/java/org/apache/maven/shared/utils/xml/XmlWriterUtilTest.java b/src/test/java/org/apache/maven/shared/utils/xml/XmlWriterUtilTest.java
index 894774a..7e1b7ef 100644
--- a/src/test/java/org/apache/maven/shared/utils/xml/XmlWriterUtilTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/xml/XmlWriterUtilTest.java
@@ -29,7 +29,6 @@ import junit.framework.TestCase;
/**
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @version $Id$
*/
public class XmlWriterUtilTest
extends TestCase
@@ -41,6 +40,7 @@ public class XmlWriterUtilTest
private XMLWriter xmlWriter;
/** {@inheritDoc} */
+ @Override
protected void setUp()
throws Exception
{
@@ -52,6 +52,7 @@ public class XmlWriterUtilTest
}
/** {@inheritDoc} */
+ @Override
protected void tearDown()
throws Exception
{