You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/10/30 09:16:20 UTC
svn commit: r1635424 - in
/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils:
./ cli/ introspection/ io/ xml/
Author: hboutemy
Date: Thu Oct 30 08:16:19 2014
New Revision: 1635424
URL: http://svn.apache.org/r1635424
Log:
fixed a lot of Checkstyle violations reported when trying updating parent pom
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XmlReaderException.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PropertyUtils.java Thu Oct 30 08:16:19 2014
@@ -19,7 +19,6 @@ package org.apache.maven.shared.utils;
* under the License.
*/
-
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
@@ -28,6 +27,9 @@ import org.apache.maven.shared.utils.io.
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+/**
+ *
+ */
public class PropertyUtils
{
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/cli/CommandLineUtils.java Thu Oct 30 08:16:19 2014
@@ -40,7 +40,6 @@ import javax.annotation.Nullable;
public abstract class CommandLineUtils
{
-
@SuppressWarnings( "UnusedDeclaration" )
public static class StringStreamConsumer
implements StreamConsumer
@@ -137,7 +136,8 @@ public abstract class CommandLineUtils
throws CommandLineException
{
final CommandLineCallable future =
- executeCommandLineAsCallable( cl, systemIn, systemOut, systemErr, timeoutInSeconds, runAfterProcessTermination );
+ executeCommandLineAsCallable( cl, systemIn, systemOut, systemErr, timeoutInSeconds,
+ runAfterProcessTermination );
return future.call();
}
@@ -150,8 +150,8 @@ public abstract class CommandLineUtils
* @param systemErr A consumer that receives system error stream output, must be thread safe
* @param timeoutInSeconds Positive integer to specify timeout, zero and negative integers for no timeout.
* @param runAfterProcessTermination Optional callback to run after the process terminated or the the timeout was
- * @return A CommandLineCallable that provides the process return value, see {@link Process#exitValue()}. "call" must be called on
- * this to be sure the forked process has terminated, no guarantees is made about
+ * @return A CommandLineCallable that provides the process return value, see {@link Process#exitValue()}. "call"
+ * must be called on this to be sure the forked process has terminated, no guarantees is made about
* any internal state before after the completion of the call statements
* @throws CommandLineException or CommandLineTimeOutException if time out occurs
* @noinspection ThrowableResultOfMethodCallIgnored
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/introspection/ReflectionValueExtractor.java Thu Oct 30 08:16:19 2014
@@ -22,13 +22,9 @@ package org.apache.maven.shared.utils.in
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.Arrays;
import java.util.List;
import java.util.Map;
-import java.util.StringTokenizer;
import java.util.WeakHashMap;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import org.apache.maven.shared.utils.StringUtils;
import org.apache.maven.shared.utils.introspection.MethodMap.AmbiguousException;
@@ -46,295 +42,356 @@ 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>
+ * @see <a href="http://struts.apache.org/1.x/struts-taglib/indexedprops.html">
+ * http://struts.apache.org/1.x/struts-taglib/indexedprops.html</a>
*/
-public class ReflectionValueExtractor {
- private static final Class<?>[] CLASS_ARGS = new Class[0];
+public class ReflectionValueExtractor
+{
+ private static final Class<?>[] CLASS_ARGS = new Class[0];
- private static final Object[] OBJECT_ARGS = new Object[0];
+ private static final Object[] OBJECT_ARGS = new Object[0];
- /**
- * Use a WeakHashMap here, so the keys (Class objects) can be garbage collected.
- * This approach prevents permgen space overflows due to retention of discarded
- * classloaders.
- */
- private static final Map<Class<?>, ClassMap> classMaps = new WeakHashMap<Class<?>, ClassMap>();
-
-
- static final int EOF = -1;
-
- static final char PROPERTY_START = '.';
-
- static final char INDEXED_START = '[';
-
- static final char INDEXED_END = ']';
-
- static final char MAPPED_START = '(';
-
- static final char MAPPED_END = ')';
-
- static class Tokenizer {
- final String expression;
-
- int idx;
-
- public Tokenizer(String expression) {
- this.expression = expression;
- }
-
- public int peekChar() {
- return idx < expression.length() ? expression.charAt(idx) : EOF;
- }
-
- public int skipChar() {
- return idx < expression.length() ? expression.charAt(idx++) : EOF;
- }
-
- public String nextToken(char delimiter) {
- int start = idx;
-
- while (idx < expression.length() && delimiter != expression.charAt(idx)) {
- idx++;
- }
-
- // delimiter MUST be present
- if (idx <= start || idx >= expression.length()) {
- return null;
- }
-
- return expression.substring(start, idx++);
- }
-
- public String nextPropertyName() {
- final int start = idx;
-
- while (idx < expression.length() && Character.isJavaIdentifierPart(expression.charAt(idx))) {
- idx++;
- }
-
- // property name does not require delimiter
- if (idx <= start || idx > expression.length()) {
- return null;
- }
-
- return expression.substring(start, idx);
- }
-
- public int getPosition() {
- return idx < expression.length() ? idx : EOF;
- }
-
- // to make tokenizer look pretty in debugger
- @Override
- public String toString() {
- return idx < expression.length() ? expression.substring(idx) : "<EOF>";
- }
- }
-
- private ReflectionValueExtractor() {
- }
-
- /**
- * <p>The implementation supports indexed, nested and mapped properties.</p>
- * <p/>
- * <ul>
- * <li>nested properties should be defined by a dot, i.e. "user.address.street"</li>
- * <li>indexed properties (java.util.List or array instance) should be contains <code>(\\w+)\\[(\\d+)\\]</code>
- * pattern, i.e. "user.addresses[1].street"</li>
- * <li>mapped properties should be contains <code>(\\w+)\\((.+)\\)</code> pattern, i.e. "user.addresses(myAddress).street"</li>
- * <ul>
- *
- * @param expression not null expression
- * @param root not null object
- * @return the object defined by the expression
- * @throws IntrospectionException if any
- */
- public static Object evaluate(@Nonnull String expression, @Nullable Object root)
- throws IntrospectionException {
- return evaluate(expression, root, true);
- }
-
- /**
- * <p>The implementation supports indexed, nested and mapped properties.</p>
- * <p/>
- * <ul>
- * <li>nested properties should be defined by a dot, i.e. "user.address.street"</li>
- * <li>indexed properties (java.util.List or array instance) should be contains <code>(\\w+)\\[(\\d+)\\]</code>
- * pattern, i.e. "user.addresses[1].street"</li>
- * <li>mapped properties should be contains <code>(\\w+)\\((.+)\\)</code> pattern, i.e. "user.addresses(myAddress).street"</li>
- * <ul>
- *
- * @param expression not null expression
- * @param root not null object
- * @return the object defined by the expression
- * @throws IntrospectionException if any
- */
- public static Object evaluate(@Nonnull String expression, @Nullable Object root, boolean trimRootToken)
- throws IntrospectionException {
- Object value = root;
-
- // ----------------------------------------------------------------------
- // Walk the dots and retrieve the ultimate value desired from the
- // MavenProject instance.
- // ----------------------------------------------------------------------
-
- if (StringUtils.isEmpty(expression) || !Character.isJavaIdentifierStart(expression.charAt(0))) {
- return null;
- }
+ /**
+ * Use a WeakHashMap here, so the keys (Class objects) can be garbage collected.
+ * This approach prevents permgen space overflows due to retention of discarded
+ * classloaders.
+ */
+ private static final Map<Class<?>, ClassMap> classMaps = new WeakHashMap<Class<?>, ClassMap>();
+
+ static final int EOF = -1;
+
+ static final char PROPERTY_START = '.';
+
+ static final char INDEXED_START = '[';
+
+ static final char INDEXED_END = ']';
+
+ static final char MAPPED_START = '(';
+
+ static final char MAPPED_END = ')';
+
+ static class Tokenizer
+ {
+ final String expression;
+
+ int idx;
+
+ public Tokenizer( String expression )
+ {
+ this.expression = expression;
+ }
+
+ public int peekChar()
+ {
+ return idx < expression.length() ? expression.charAt( idx ) : EOF;
+ }
+
+ public int skipChar()
+ {
+ return idx < expression.length() ? expression.charAt( idx++ ) : EOF;
+ }
+
+ public String nextToken( char delimiter )
+ {
+ int start = idx;
+
+ while ( idx < expression.length() && delimiter != expression.charAt( idx ) )
+ {
+ idx++;
+ }
+
+ // delimiter MUST be present
+ if ( idx <= start || idx >= expression.length() )
+ {
+ return null;
+ }
+
+ return expression.substring( start, idx++ );
+ }
+
+ public String nextPropertyName()
+ {
+ final int start = idx;
+
+ while ( idx < expression.length() && Character.isJavaIdentifierPart( expression.charAt( idx ) ) )
+ {
+ idx++;
+ }
+
+ // property name does not require delimiter
+ if ( idx <= start || idx > expression.length() )
+ {
+ return null;
+ }
+
+ return expression.substring( start, idx );
+ }
+
+ public int getPosition()
+ {
+ return idx < expression.length() ? idx : EOF;
+ }
+
+ // to make tokenizer look pretty in debugger
+ @Override
+ public String toString()
+ {
+ return idx < expression.length() ? expression.substring( idx ) : "<EOF>";
+ }
+ }
+
+ private ReflectionValueExtractor()
+ {
+ }
+
+ /**
+ * <p>The implementation supports indexed, nested and mapped properties.</p>
+ * <p/>
+ * <ul>
+ * <li>nested properties should be defined by a dot, i.e. "user.address.street"</li>
+ * <li>indexed properties (java.util.List or array instance) should be contains <code>(\\w+)\\[(\\d+)\\]</code>
+ * pattern, i.e. "user.addresses[1].street"</li>
+ * <li>mapped properties should be contains <code>(\\w+)\\((.+)\\)</code> pattern,
+ * i.e. "user.addresses(myAddress).street"</li>
+ * <ul>
+ *
+ * @param expression not null expression
+ * @param root not null object
+ * @return the object defined by the expression
+ * @throws IntrospectionException if any
+ */
+ public static Object evaluate( @Nonnull String expression, @Nullable Object root )
+ throws IntrospectionException
+ {
+ return evaluate( expression, root, true );
+ }
+
+ /**
+ * <p>The implementation supports indexed, nested and mapped properties.</p>
+ * <p/>
+ * <ul>
+ * <li>nested properties should be defined by a dot, i.e. "user.address.street"</li>
+ * <li>indexed properties (java.util.List or array instance) should be contains <code>(\\w+)\\[(\\d+)\\]</code>
+ * pattern, i.e. "user.addresses[1].street"</li>
+ * <li>mapped properties should be contains <code>(\\w+)\\((.+)\\)</code> pattern, i.e. "user.addresses(myAddress).street"</li>
+ * <ul>
+ *
+ * @param expression not null expression
+ * @param root not null object
+ * @return the object defined by the expression
+ * @throws IntrospectionException if any
+ */
+ public static Object evaluate( @Nonnull String expression, @Nullable Object root, boolean trimRootToken )
+ throws IntrospectionException
+ {
+ Object value = root;
+
+ // ----------------------------------------------------------------------
+ // Walk the dots and retrieve the ultimate value desired from the
+ // MavenProject instance.
+ // ----------------------------------------------------------------------
+
+ if ( StringUtils.isEmpty( expression ) || !Character.isJavaIdentifierStart( expression.charAt( 0 ) ) )
+ {
+ return null;
+ }
boolean hasDots = expression.indexOf( PROPERTY_START ) >= 0;
final Tokenizer tokenizer;
- if (trimRootToken && hasDots) {
- tokenizer = new Tokenizer(expression);
- tokenizer.nextPropertyName();
- if (tokenizer.getPosition() == EOF) {
- return null;
- }
- } else {
- tokenizer = new Tokenizer("." + expression);
- }
-
- int propertyPosition = tokenizer.getPosition();
- while (value != null && tokenizer.peekChar() != EOF) {
- switch (tokenizer.skipChar()) {
- case INDEXED_START:
- value =
- getIndexedValue(expression, propertyPosition, tokenizer.getPosition(), value,
- tokenizer.nextToken(INDEXED_END));
- break;
- case MAPPED_START:
- value =
- getMappedValue(expression, propertyPosition, tokenizer.getPosition(), value,
- tokenizer.nextToken(MAPPED_END));
- break;
- case PROPERTY_START:
- propertyPosition = tokenizer.getPosition();
- value = getPropertyValue(value, tokenizer.nextPropertyName());
- break;
- default:
- // could not parse expression
- return null;
- }
- }
-
- return value;
- }
-
- private static Object getMappedValue(final String expression, final int from, final int to, final Object value,
- final String key)
- throws IntrospectionException {
- if (value == null || key == null) {
- return null;
- }
-
- if (value instanceof Map) {
- Object[] localParams = new Object[] { key };
- ClassMap classMap = getClassMap(value.getClass());
- try {
- Method method = classMap.findMethod("get", localParams);
- return method.invoke(value, localParams);
- } catch (AmbiguousException e) {
- throw new IntrospectionException(e);
- } catch (IllegalAccessException e) {
- throw new IntrospectionException(e);
- } catch (InvocationTargetException e) {
- throw new IntrospectionException(e.getTargetException());
- }
-
- }
-
- final String message =
- String.format("The token '%s' at position '%d' refers to a java.util.Map, but the value seems is an instance of '%s'",
- expression.subSequence(from, to), from, value.getClass());
-
- throw new IntrospectionException(message);
- }
-
- private static Object getIndexedValue(final String expression, final int from, final int to, final Object value,
- final String indexStr)
- throws IntrospectionException {
- try {
- int index = Integer.parseInt(indexStr);
-
- if (value.getClass().isArray()) {
- return Array.get(value, index);
- }
-
- if (value instanceof List) {
- ClassMap classMap = getClassMap(value.getClass());
- // use get method on List interface
- Object[] localParams = new Object[] { index };
- Method method = null;
- try {
- method = classMap.findMethod("get", localParams);
- return method.invoke(value, localParams);
- } catch (AmbiguousException e) {
- throw new IntrospectionException(e);
- } catch (IllegalAccessException e) {
- throw new IntrospectionException(e);
- }
- }
- } catch (NumberFormatException e) {
- return null;
- } catch (InvocationTargetException e) {
- // catch array index issues gracefully, otherwise release
- if (e.getCause() instanceof IndexOutOfBoundsException) {
- return null;
- }
-
- throw new IntrospectionException(e.getTargetException());
- }
-
- final String message =
- String.format("The token '%s' at position '%d' refers to a java.util.List or an array, but the value seems is an instance of '%s'",
- expression.subSequence(from, to), from, value.getClass());
-
- throw new IntrospectionException(message);
- }
-
- private static Object getPropertyValue(Object value, String property)
- throws IntrospectionException {
- if (value == null || property == null) {
- return null;
- }
-
- ClassMap classMap = getClassMap(value.getClass());
- String methodBase = StringUtils.capitalizeFirstLetter(property);
- String methodName = "get" + methodBase;
- try {
- Method method = classMap.findMethod(methodName, CLASS_ARGS);
-
- if (method == null) {
- // perhaps this is a boolean property??
- methodName = "is" + methodBase;
-
- method = classMap.findMethod(methodName, CLASS_ARGS);
- }
-
- if (method == null) {
- return null;
- }
-
- return method.invoke(value, OBJECT_ARGS);
- } catch (InvocationTargetException e) {
- throw new IntrospectionException(e.getTargetException());
- } catch (AmbiguousException e) {
- throw new IntrospectionException(e);
- } catch (IllegalAccessException e) {
- throw new IntrospectionException(e);
+ if ( trimRootToken && hasDots )
+ {
+ tokenizer = new Tokenizer( expression );
+ tokenizer.nextPropertyName();
+ if ( tokenizer.getPosition() == EOF )
+ {
+ return null;
+ }
}
+ else
+ {
+ tokenizer = new Tokenizer( "." + expression );
+ }
+
+ int propertyPosition = tokenizer.getPosition();
+ while ( value != null && tokenizer.peekChar() != EOF )
+ {
+ switch ( tokenizer.skipChar() )
+ {
+ case INDEXED_START:
+ value =
+ getIndexedValue( expression, propertyPosition, tokenizer.getPosition(), value,
+ tokenizer.nextToken( INDEXED_END ) );
+ break;
+ case MAPPED_START:
+ value =
+ getMappedValue( expression, propertyPosition, tokenizer.getPosition(), value,
+ tokenizer.nextToken( MAPPED_END ) );
+ break;
+ case PROPERTY_START:
+ propertyPosition = tokenizer.getPosition();
+ value = getPropertyValue( value, tokenizer.nextPropertyName() );
+ break;
+ default:
+ // could not parse expression
+ return null;
+ }
+ }
+
+ return value;
+ }
+
+ private static Object getMappedValue( final String expression, final int from, final int to, final Object value,
+ final String key )
+ throws IntrospectionException
+ {
+ if ( value == null || key == null )
+ {
+ return null;
+ }
+
+ if ( value instanceof Map )
+ {
+ Object[] localParams = new Object[] { key };
+ ClassMap classMap = getClassMap( value.getClass() );
+ try
+ {
+ Method method = classMap.findMethod( "get", localParams );
+ return method.invoke( value, localParams );
+ }
+ catch ( AmbiguousException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ catch ( InvocationTargetException e )
+ {
+ throw new IntrospectionException( e.getTargetException() );
+ }
+
+ }
+
+ final String message =
+ String.format( "The token '%s' at position '%d' refers to a java.util.Map, but the value "
+ + "seems is an instance of '%s'", expression.subSequence( from, to ), from, value.getClass() );
+
+ throw new IntrospectionException( message );
+ }
+
+ private static Object getIndexedValue( final String expression, final int from, final int to, final Object value,
+ final String indexStr )
+ throws IntrospectionException
+ {
+ try
+ {
+ int index = Integer.parseInt( indexStr );
+
+ if ( value.getClass().isArray() )
+ {
+ return Array.get( value, index );
+ }
+
+ if ( value instanceof List )
+ {
+ ClassMap classMap = getClassMap( value.getClass() );
+ // use get method on List interface
+ Object[] localParams = new Object[] { index };
+ Method method = null;
+ try
+ {
+ method = classMap.findMethod( "get", localParams );
+ return method.invoke( value, localParams );
+ }
+ catch ( AmbiguousException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ }
+ }
+ catch ( NumberFormatException e )
+ {
+ return null;
+ }
+ catch ( InvocationTargetException e )
+ {
+ // catch array index issues gracefully, otherwise release
+ if ( e.getCause() instanceof IndexOutOfBoundsException )
+ {
+ return null;
+ }
+
+ throw new IntrospectionException( e.getTargetException() );
+ }
+
+ final String message =
+ String.format( "The token '%s' at position '%d' refers to a java.util.List or an array, but the value "
+ + "seems is an instance of '%s'", expression.subSequence( from, to ), from, value.getClass() );
+
+ throw new IntrospectionException( message );
}
- private static ClassMap getClassMap(Class<?> clazz) {
- ClassMap classMap = classMaps.get(clazz);
+ private static Object getPropertyValue( Object value, String property )
+ throws IntrospectionException
+ {
+ if ( value == null || property == null )
+ {
+ return null;
+ }
- if (classMap == null) {
- classMap = new ClassMap(clazz);
+ ClassMap classMap = getClassMap( value.getClass() );
+ String methodBase = StringUtils.capitalizeFirstLetter( property );
+ String methodName = "get" + methodBase;
+ try
+ {
+ Method method = classMap.findMethod( methodName, CLASS_ARGS );
+
+ if ( method == null )
+ {
+ // perhaps this is a boolean property??
+ methodName = "is" + methodBase;
+
+ method = classMap.findMethod( methodName, CLASS_ARGS );
+ }
+
+ if ( method == null )
+ {
+ return null;
+ }
- classMaps.put(clazz, classMap);
- }
+ return method.invoke( value, OBJECT_ARGS );
+ }
+ catch ( InvocationTargetException e )
+ {
+ throw new IntrospectionException( e.getTargetException() );
+ }
+ catch ( AmbiguousException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ catch ( IllegalAccessException e )
+ {
+ throw new IntrospectionException( e );
+ }
+ }
+
+ private static ClassMap getClassMap( Class<?> clazz )
+ {
+ ClassMap classMap = classMaps.get( clazz );
+
+ if ( classMap == null )
+ {
+ classMap = new ClassMap( clazz );
- return classMap;
- }
+ classMaps.put( clazz, classMap );
+ }
+
+ return classMap;
+ }
}
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryScanner.java Thu Oct 30 08:16:19 2014
@@ -407,7 +407,8 @@ public class DirectoryScanner
{
scanAction = scanConductor.visitDirectory( "", basedir );
- if ( ScanConductor.ScanAction.ABORT.equals( scanAction ) || ScanConductor.ScanAction.ABORT_DIRECTORY.equals( scanAction )
+ if ( ScanConductor.ScanAction.ABORT.equals( scanAction )
+ || ScanConductor.ScanAction.ABORT_DIRECTORY.equals( scanAction )
|| ScanConductor.ScanAction.NO_RECURSE.equals( scanAction ) )
{
return;
@@ -631,7 +632,8 @@ public class DirectoryScanner
{
scanAction = scanConductor.visitDirectory( name, file );
- if ( ScanConductor.ScanAction.ABORT.equals( scanAction ) || ScanConductor.ScanAction.ABORT_DIRECTORY.equals( scanAction ) )
+ if ( ScanConductor.ScanAction.ABORT.equals( scanAction )
+ || ScanConductor.ScanAction.ABORT_DIRECTORY.equals( scanAction ) )
{
return;
}
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java Thu Oct 30 08:16:19 2014
@@ -39,27 +39,27 @@ class DirectoryWalker
/**
* Count of files in the directory.
*/
- public final int count;
+ private final int count;
/**
* Current Directory.
*/
- public final File dir;
+ private final File dir;
/**
* Index (or offset) within the directory count.
*/
- public int index;
+ private int index;
/**
* Offset for percentage calculations. Based on parent DirStackEntry.
*/
- public double percentageOffset;
+ private double percentageOffset;
/**
* Size of percentage space to work with.
*/
- public double percentageSize;
+ private double percentageSize;
/**
* Create a DirStackEntry.
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java Thu Oct 30 08:16:19 2014
@@ -752,7 +752,8 @@ public class FileUtils
* @throws java.io.FileNotFoundException if <code>source</code> isn't a normal file.
* @throws IllegalArgumentException if <code>destinationDirectory</code> isn't a directory.
* @throws IOException if <code>source</code> does not exist, the file in
- * <code>destinationDirectory</code> cannot be written to, or an IO error occurs during copying.
+ * <code>destinationDirectory</code> cannot be written to, or an IO error
+ * occurs during copying.
*/
public static void copyFileToDirectory( @Nonnull final File source, @Nonnull final File destinationDirectory )
throws IOException
@@ -776,7 +777,8 @@ public class FileUtils
* @throws java.io.FileNotFoundException if <code>source</code> isn't a normal file.
* @throws IllegalArgumentException if <code>destinationDirectory</code> isn't a directory.
* @throws IOException if <code>source</code> does not exist, the file in
- * <code>destinationDirectory</code> cannot be written to, or an IO error occurs during copying.
+ * <code>destinationDirectory</code> cannot be written to, or an IO error
+ * occurs during copying.
*/
private static void copyFileToDirectoryIfModified( @Nonnull final File source,
@Nonnull final File destinationDirectory )
@@ -1299,7 +1301,7 @@ public class FileUtils
/* try delete the directory before its contents, which will take
* care of any directories that are really symbolic links.
*/
- if ( deleteLegacyStyle( directory) )
+ if ( deleteLegacyStyle( directory ) )
{
return;
}
@@ -1853,7 +1855,7 @@ public class FileUtils
copyFile( from, to, encoding, wrappers, false );
}
- public static abstract class FilterWrapper
+ public abstract static class FilterWrapper
{
public abstract Reader getReader( Reader fileReader );
}
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/IOUtil.java Thu Oct 30 08:16:19 2014
@@ -147,7 +147,8 @@ public final class IOUtil
*
* @param bufferSize Size of internal buffer to use.
*/
- public static void copy( @Nonnull final InputStream input, @Nonnull final OutputStream output, final int bufferSize )
+ public static void copy( @Nonnull final InputStream input, @Nonnull final OutputStream output,
+ final int bufferSize )
throws IOException
{
final byte[] buffer = new byte[bufferSize];
@@ -225,7 +226,8 @@ public final class IOUtil
* <a href="http://www.iana.org/assignments/character-sets">IANA
* Charset Registry</a> for a list of valid encoding types.
*/
- public static void copy( @Nonnull final InputStream input, @Nonnull final Writer output, @Nonnull final String encoding )
+ public static void copy( @Nonnull final InputStream input, @Nonnull final Writer output,
+ @Nonnull final String encoding )
throws IOException
{
final InputStreamReader in = new InputStreamReader( input, encoding );
@@ -241,7 +243,8 @@ public final class IOUtil
* Charset Registry</a> for a list of valid encoding types.
* @param bufferSize Size of internal buffer to use.
*/
- public static void copy( @Nonnull final InputStream input, @Nonnull final Writer output, @Nonnull final String encoding, final int bufferSize )
+ public static void copy( @Nonnull final InputStream input, @Nonnull final Writer output,
+ @Nonnull final String encoding, final int bufferSize )
throws IOException
{
final InputStreamReader in = new InputStreamReader( input, encoding );
@@ -296,7 +299,8 @@ public final class IOUtil
* Charset Registry</a> for a list of valid encoding types.
* @param bufferSize Size of internal buffer to use.
*/
- @Nonnull public static String toString( @Nonnull final InputStream input, @Nonnull final String encoding, final int bufferSize )
+ @Nonnull public static String toString( @Nonnull final InputStream input, @Nonnull final String encoding,
+ final int bufferSize )
throws IOException
{
final StringWriter sw = new StringWriter();
@@ -542,7 +546,8 @@ public final class IOUtil
* Charset Registry</a> for a list of valid encoding types.
* @param bufferSize Size of internal buffer to use.
*/
- public static void copy( @Nonnull final byte[] input, @Nonnull final Writer output, @Nonnull final String encoding, final int bufferSize )
+ public static void copy( @Nonnull final byte[] input, @Nonnull final Writer output, @Nonnull final String encoding,
+ final int bufferSize )
throws IOException
{
final ByteArrayInputStream in = new ByteArrayInputStream( input );
@@ -597,7 +602,8 @@ public final class IOUtil
* Charset Registry</a> for a list of valid encoding types.
* @param bufferSize Size of internal buffer to use.
*/
- @Nonnull public static String toString( @Nonnull final byte[] input, @Nonnull final String encoding, final int bufferSize )
+ @Nonnull public static String toString( @Nonnull final byte[] input, @Nonnull final String encoding,
+ final int bufferSize )
throws IOException
{
final StringWriter sw = new StringWriter();
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java Thu Oct 30 08:16:19 2014
@@ -59,17 +59,18 @@ public class Java7Support
boolean isJava7x = true;
try
{
- Class<?> files = Thread.currentThread().getContextClassLoader().loadClass( "java.nio.file.Files" );
- Class<?> path = Thread.currentThread().getContextClassLoader().loadClass( "java.nio.file.Path" );
- Class<?> fa = Thread.currentThread().getContextClassLoader().loadClass( "java.nio.file.attribute.FileAttribute" );
- Class<?> linkOption = Thread.currentThread().getContextClassLoader().loadClass( "java.nio.file.LinkOption" );
+ 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() );
+ 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" );
@@ -149,7 +150,8 @@ public class Java7Support
{
try
{
- if (!exists( symlink )){
+ if ( !exists( symlink ) )
+ {
Object link = toPath.invoke( symlink );
Object path = createSymlink.invoke( null, link, toPath.invoke( target ), emptyFileAttributes );
return (File) toFile.invoke( path );
@@ -163,7 +165,7 @@ public class Java7Support
catch ( InvocationTargetException e )
{
final Throwable targetException = e.getTargetException();
- throw (IOException)targetException;
+ throw (IOException) targetException;
}
}
@@ -172,8 +174,8 @@ public class Java7Support
* @param file the file to delete
* @throws IOException
*/
-
- public static void delete( @Nonnull File file ) throws IOException
+ public static void delete( @Nonnull File file )
+ throws IOException
{
try
{
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/MatchPattern.java Thu Oct 30 08:16:19 2014
@@ -51,12 +51,10 @@ public class MatchPattern
regexPattern = SelectorUtils.isRegexPrefixedPattern( source ) ? source.substring(
SelectorUtils.REGEX_HANDLER_PREFIX.length(),
source.length() - SelectorUtils.PATTERN_HANDLER_SUFFIX.length() ) : null;
- regexPatternRegex = regexPattern != null ? Pattern.compile( regexPattern ) : null;
- this.source =
- SelectorUtils.isAntPrefixedPattern( source ) ? source.substring( SelectorUtils.ANT_HANDLER_PREFIX.length(),
- source.length()
- - SelectorUtils.PATTERN_HANDLER_SUFFIX.length() )
- : source;
+ regexPatternRegex = regexPattern != null ? Pattern.compile( regexPattern ) : null;
+ this.source = SelectorUtils.isAntPrefixedPattern( source ) ? source.substring(
+ SelectorUtils.ANT_HANDLER_PREFIX.length(),
+ source.length() - SelectorUtils.PATTERN_HANDLER_SUFFIX.length() ) : source;
this.separator = separator;
tokenized = tokenizePathToString( this.source, separator );
}
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/ScanConductor.java Thu Oct 30 08:16:19 2014
@@ -19,7 +19,6 @@ package org.apache.maven.shared.utils.io
* under the License.
*/
-
import java.io.File;
/**
@@ -37,6 +36,9 @@ import java.io.File;
*/
public interface ScanConductor
{
+ /**
+ *
+ */
public enum ScanAction
{
/**
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java Thu Oct 30 08:16:19 2014
@@ -787,8 +787,8 @@ public final class SelectorUtils
&& pattern.startsWith( ANT_HANDLER_PREFIX ) && pattern.endsWith( PATTERN_HANDLER_SUFFIX );
}
- static boolean matchAntPathPattern( @Nonnull MatchPattern matchPattern, @Nonnull String str, @Nonnull String separator,
- boolean isCaseSensitive )
+ static boolean matchAntPathPattern( @Nonnull MatchPattern matchPattern, @Nonnull String str,
+ @Nonnull String separator, boolean isCaseSensitive )
{
if ( separatorPatternStartSlashMismatch( matchPattern, str, separator ) )
{
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/WalkCollector.java Thu Oct 30 08:16:19 2014
@@ -23,6 +23,9 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
+/**
+ *
+ */
public class WalkCollector
implements DirectoryWalkListener
{
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XmlReaderException.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XmlReaderException.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XmlReaderException.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XmlReaderException.java Thu Oct 30 08:16:19 2014
@@ -36,17 +36,17 @@ import java.io.InputStream;
class XmlReaderException
extends IOException
{
- private final String _bomEncoding;
+ private final String bomEncoding;
- private final String _xmlGuessEncoding;
+ private final String xmlGuessEncoding;
- private final String _xmlEncoding;
+ private final String xmlEncoding;
- private final String _contentTypeMime;
+ private final String contentTypeMime;
- private final String _contentTypeEncoding;
+ private final String contentTypeEncoding;
- private final InputStream _is;
+ private final InputStream is;
/**
* Creates an exception instance if the charset encoding could not be determined.
@@ -83,12 +83,12 @@ class XmlReaderException
String xmlEnc, InputStream is )
{
super( msg );
- _contentTypeMime = ctMime;
- _contentTypeEncoding = ctEnc;
- _bomEncoding = bomEnc;
- _xmlGuessEncoding = xmlGuessEnc;
- _xmlEncoding = xmlEnc;
- _is = is;
+ contentTypeMime = ctMime;
+ contentTypeEncoding = ctEnc;
+ bomEncoding = bomEnc;
+ xmlGuessEncoding = xmlGuessEnc;
+ xmlEncoding = xmlEnc;
+ this.is = is;
}
/**
@@ -99,7 +99,7 @@ class XmlReaderException
*/
public String getBomEncoding()
{
- return _bomEncoding;
+ return bomEncoding;
}
/**
@@ -110,7 +110,7 @@ class XmlReaderException
*/
public String getXmlGuessEncoding()
{
- return _xmlGuessEncoding;
+ return xmlGuessEncoding;
}
/**
@@ -121,7 +121,7 @@ class XmlReaderException
*/
public String getXmlEncoding()
{
- return _xmlEncoding;
+ return xmlEncoding;
}
/**
@@ -133,7 +133,7 @@ class XmlReaderException
*/
public String getContentTypeMime()
{
- return _contentTypeMime;
+ return contentTypeMime;
}
/**
@@ -145,7 +145,7 @@ class XmlReaderException
*/
public String getContentTypeEncoding()
{
- return _contentTypeEncoding;
+ return contentTypeEncoding;
}
/**
@@ -157,6 +157,6 @@ class XmlReaderException
*/
public InputStream getInputStream()
{
- return _is;
+ return is;
}
}
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java?rev=1635424&r1=1635423&r2=1635424&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/Xpp3DomUtils.java Thu Oct 30 08:16:19 2014
@@ -24,6 +24,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+/**
+ *
+ */
public class Xpp3DomUtils
{
public static Xpp3Dom mergeXpp3Dom( Xpp3Dom dominant, Xpp3Dom recessive, Boolean childMergeOverride )