You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2012/04/14 01:16:45 UTC
svn commit: r1326005 - in
/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering:
AbstractMavenFilteringRequest.java DefaultMavenFileFilter.java
MavenFileFilter.java
Author: olamy
Date: Fri Apr 13 23:16:44 2012
New Revision: 1326005
URL: http://svn.apache.org/viewvc?rev=1326005&view=rev
Log:
add generics
Modified:
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java?rev=1326005&r1=1326004&r2=1326005&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/AbstractMavenFilteringRequest.java Fri Apr 13 23:16:44 2012
@@ -26,6 +26,7 @@ import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
/**
* @since 1.0-beta-3
@@ -50,7 +51,7 @@ public class AbstractMavenFilteringReque
*
* @since 1.0-beta-2
*/
- private List projectStartExpressions = new ArrayList();
+ private List<String> projectStartExpressions = new ArrayList<String>();
/**
* String which will escape interpolation mechanism:
@@ -77,7 +78,7 @@ public class AbstractMavenFilteringReque
*
* @since 1.0-beta-3
*/
- private LinkedHashSet delimiters = new LinkedHashSet();
+ private LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
/**
* Do not stop trying to filter tokens when reaching EOL.
@@ -258,7 +259,7 @@ public class AbstractMavenFilteringReque
* @return Not allowed to be <code>null</code> or empty.
* @since 1.0-beta-3
*/
- public LinkedHashSet getDelimiters()
+ public LinkedHashSet<String> getDelimiters()
{
return delimiters;
}
@@ -271,7 +272,7 @@ public class AbstractMavenFilteringReque
* @param delimiters If <code>null</code>, reset delimiters to '${*}' only. Otherwise, use the provided value.
* @since 1.0-beta-3
*/
- public void setDelimiters( LinkedHashSet delimiters )
+ public void setDelimiters( LinkedHashSet<String> delimiters )
{
if ( delimiters == null || delimiters.isEmpty() )
{
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java?rev=1326005&r1=1326004&r2=1326005&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java Fri Apr 13 23:16:44 2012
@@ -19,16 +19,6 @@ package org.apache.maven.shared.filterin
* under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Properties;
-
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;
@@ -46,19 +36,30 @@ import org.codehaus.plexus.util.FileUtil
import org.codehaus.plexus.util.StringUtils;
import org.sonatype.plexus.build.incremental.BuildContext;
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Properties;
+
/**
* @author <a href="mailto:olamy@apache.org">olamy</a>
* @version $Id$
- *
* @plexus.component role="org.apache.maven.shared.filtering.MavenFileFilter"
- * role-hint="default"
+ * role-hint="default"
*/
public class DefaultMavenFileFilter
extends AbstractLogEnabled
implements MavenFileFilter
{
- /** @plexus.requirement */
+ /**
+ * @plexus.requirement
+ */
private BuildContext buildContext;
public void copyFile( File from, File to, boolean filtering, MavenProject mavenProject, List filters,
@@ -71,24 +72,22 @@ public class DefaultMavenFileFilter
mre.setEscapeWindowsPaths( escapedBackslashesInFilePath );
mre.setMavenSession( mavenSession );
mre.setInjectProjectBuildFilters( true );
-
+
List filterWrappers = getDefaultFilterWrappers( mre );
copyFile( from, to, filtering, filterWrappers, encoding );
}
-
-
+
+
public void copyFile( MavenFileFilterRequest mavenFileFilterRequest )
throws MavenFilteringException
{
- List filterWrappers =
- getDefaultFilterWrappers( mavenFileFilterRequest );
-
+ List filterWrappers = getDefaultFilterWrappers( mavenFileFilterRequest );
+
copyFile( mavenFileFilterRequest.getFrom(), mavenFileFilterRequest.getTo(),
mavenFileFilterRequest.isFiltering(), filterWrappers, mavenFileFilterRequest.getEncoding() );
}
-
public void copyFile( File from, File to, boolean filtering, List filterWrappers, String encoding )
throws MavenFilteringException
{
@@ -96,8 +95,7 @@ public class DefaultMavenFileFilter
copyFile( from, to, filtering, filterWrappers, encoding, false );
}
-
-
+
public void copyFile( File from, File to, boolean filtering, List filterWrappers, String encoding,
boolean overwrite )
throws MavenFilteringException
@@ -110,8 +108,8 @@ public class DefaultMavenFileFilter
{
getLogger().debug( "filtering " + from.getPath() + " to " + to.getPath() );
}
- FileUtils.FilterWrapper[] wrappers = (FileUtils.FilterWrapper[]) filterWrappers
- .toArray( new FileUtils.FilterWrapper[filterWrappers.size()] );
+ FileUtils.FilterWrapper[] wrappers = (FileUtils.FilterWrapper[]) filterWrappers.toArray(
+ new FileUtils.FilterWrapper[filterWrappers.size()] );
FileUtils.copyFile( from, to, encoding, wrappers );
}
else
@@ -129,52 +127,52 @@ public class DefaultMavenFileFilter
{
throw new MavenFilteringException( e.getMessage(), e );
}
-
+
}
- /**
+ /**
* @see org.apache.maven.shared.filtering.MavenFileFilter#getDefaultFilterWrappers(org.apache.maven.project.MavenProject, java.util.List, boolean, org.apache.maven.execution.MavenSession)
* @deprecated
*/
- public List getDefaultFilterWrappers( final MavenProject mavenProject, List filters,
- final boolean escapedBackslashesInFilePath, MavenSession mavenSession )
+ public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject, List filters,
+ final boolean escapedBackslashesInFilePath,
+ MavenSession mavenSession )
throws MavenFilteringException
{
return getDefaultFilterWrappers( mavenProject, filters, escapedBackslashesInFilePath, mavenSession, null );
}
-
-
-
- public List getDefaultFilterWrappers( final MavenProject mavenProject, List filters,
- final boolean escapedBackslashesInFilePath, MavenSession mavenSession,
- MavenResourcesExecution mavenResourcesExecution )
+
+ public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject, List filters,
+ final boolean escapedBackslashesInFilePath,
+ MavenSession mavenSession,
+ MavenResourcesExecution mavenResourcesExecution )
throws MavenFilteringException
{
- MavenResourcesExecution mre = mavenResourcesExecution == null ? new MavenResourcesExecution()
- : mavenResourcesExecution.copyOf();
-
+ MavenResourcesExecution mre =
+ mavenResourcesExecution == null ? new MavenResourcesExecution() : mavenResourcesExecution.copyOf();
+
mre.setMavenProject( mavenProject );
mre.setMavenSession( mavenSession );
mre.setFilters( filters );
mre.setEscapedBackslashesInFilePath( escapedBackslashesInFilePath );
-
+
return getDefaultFilterWrappers( mre );
}
-
- public List getDefaultFilterWrappers( final AbstractMavenFilteringRequest req )
+
+ public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final AbstractMavenFilteringRequest req )
throws MavenFilteringException
{
// backup values
boolean supportMultiLineFiltering = req.isSupportMultiLineFiltering();
-
+
// compensate for null parameter value.
final AbstractMavenFilteringRequest request = req == null ? new MavenFileFilterRequest() : req;
request.setSupportMultiLineFiltering( supportMultiLineFiltering );
-
+
// Here we build some properties which will be used to read some properties files
// to interpolate the expression ${ } in this properties file
@@ -186,8 +184,9 @@ public class DefaultMavenFileFilter
// Project properties
if ( request.getMavenProject() != null )
{
- baseProps.putAll( request.getMavenProject().getProperties() == null ? Collections.EMPTY_MAP
- : request.getMavenProject().getProperties() );
+ baseProps.putAll( request.getMavenProject().getProperties() == null
+ ? Collections.emptyMap()
+ : request.getMavenProject().getProperties() );
}
// TODO this is NPE free but do we consider this as normal
// or do we have to throw an MavenFilteringException with mavenSession cannot be null
@@ -213,13 +212,14 @@ public class DefaultMavenFileFilter
{
List buildFilters = new ArrayList( request.getMavenProject().getBuild().getFilters() );
buildFilters.removeAll( request.getFileFilters() );
-
+
loadProperties( filterProperties, buildFilters, baseProps );
}
// Project properties
- filterProperties.putAll( request.getMavenProject().getProperties() == null ? Collections.EMPTY_MAP
- : request.getMavenProject().getProperties() );
+ filterProperties.putAll( request.getMavenProject().getProperties() == null
+ ? Collections.emptyMap()
+ : request.getMavenProject().getProperties() );
}
if ( request.getMavenSession() != null )
{
@@ -232,9 +232,10 @@ public class DefaultMavenFileFilter
// additional properties wins
filterProperties.putAll( request.getAdditionalProperties() );
}
-
- List defaultFilterWrappers
- = request == null ? new ArrayList( 1 ) : new ArrayList( request.getDelimiters().size() + 1 );
+
+ List<FileUtils.FilterWrapper> defaultFilterWrappers = request == null
+ ? new ArrayList<FileUtils.FilterWrapper>( 1 )
+ : new ArrayList<FileUtils.FilterWrapper>( request.getDelimiters().size() + 1 );
if ( getLogger().isDebugEnabled() )
{
@@ -245,23 +246,22 @@ public class DefaultMavenFileFilter
if ( request != null )
{
- FileUtils.FilterWrapper wrapper = new Wrapper( request.getDelimiters(), request.getMavenProject(),
- request.getMavenSession(), propertiesValueSource,
- request.getProjectStartExpressions(),
- request.getEscapeString(), request.isEscapeWindowsPaths(),
- request.isSupportMultiLineFiltering() );
-
+ FileUtils.FilterWrapper wrapper =
+ new Wrapper( request.getDelimiters(), request.getMavenProject(), request.getMavenSession(),
+ propertiesValueSource, request.getProjectStartExpressions(), request.getEscapeString(),
+ request.isEscapeWindowsPaths(), request.isSupportMultiLineFiltering() );
+
defaultFilterWrappers.add( wrapper );
}
return defaultFilterWrappers;
- }
+ }
/**
* protected only for testing reason !
*/
protected void loadProperties( Properties filterProperties, List /* String */propertiesFilePaths,
- Properties baseProps )
+ Properties baseProps )
throws MavenFilteringException
{
if ( propertiesFilePaths != null )
@@ -291,27 +291,28 @@ public class DefaultMavenFileFilter
}
}
}
-
- private static final class Wrapper extends FileUtils.FilterWrapper
+
+ private static final class Wrapper
+ extends FileUtils.FilterWrapper
{
-
- private LinkedHashSet delimiters;
-
+
+ private LinkedHashSet<String> delimiters;
+
private MavenProject project;
-
+
private ValueSource propertiesValueSource;
-
+
private List projectStartExpressions;
-
+
private String escapeString;
-
+
private boolean escapeWindowsPaths;
private final MavenSession mavenSession;
-
+
private boolean supportMultiLineFiltering;
- Wrapper( LinkedHashSet delimiters, MavenProject project, MavenSession mavenSession,
+ Wrapper( LinkedHashSet<String> delimiters, MavenProject project, MavenSession mavenSession,
ValueSource propertiesValueSource, List projectStartExpressions, String escapeString,
boolean escapeWindowsPaths, boolean supportMultiLineFiltering )
{
@@ -330,7 +331,7 @@ public class DefaultMavenFileFilter
{
MultiDelimiterStringSearchInterpolator interpolator = new MultiDelimiterStringSearchInterpolator();
interpolator.setDelimiterSpecs( delimiters );
-
+
RecursionInterceptor ri = null;
if ( projectStartExpressions != null && !projectStartExpressions.isEmpty() )
{
@@ -340,29 +341,29 @@ public class DefaultMavenFileFilter
{
ri = new SimpleRecursionInterceptor();
}
-
+
interpolator.addValueSource( propertiesValueSource );
-
+
if ( project != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( projectStartExpressions, project, true ) );
}
-
+
if ( mavenSession != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "session", mavenSession ) );
-
+
final Settings settings = mavenSession.getSettings();
if ( settings != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "settings", settings ) );
- interpolator.addValueSource( new SingleResponseValueSource( "localRepository",
- settings.getLocalRepository() ) );
+ interpolator.addValueSource(
+ new SingleResponseValueSource( "localRepository", settings.getLocalRepository() ) );
}
}
-
+
interpolator.setEscapeString( escapeString );
-
+
if ( escapeWindowsPaths )
{
interpolator.addPostProcessor( new InterpolationPostProcessor()
@@ -373,23 +374,23 @@ public class DefaultMavenFileFilter
{
return FilteringUtils.escapeWindowsPath( (String) value );
}
-
+
return value;
}
} );
}
-
- MultiDelimiterInterpolatorFilterReaderLineEnding filterReader =
+
+ MultiDelimiterInterpolatorFilterReaderLineEnding filterReader =
new MultiDelimiterInterpolatorFilterReaderLineEnding( reader, interpolator, supportMultiLineFiltering );
filterReader.setRecursionInterceptor( ri );
filterReader.setDelimiterSpecs( delimiters );
-
+
filterReader.setInterpolateWithPrefixPattern( false );
filterReader.setEscapeString( escapeString );
-
+
return filterReader;
}
-
+
}
}
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java?rev=1326005&r1=1326004&r2=1326005&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java Fri Apr 13 23:16:44 2012
@@ -21,6 +21,7 @@ package org.apache.maven.shared.filterin
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
import java.io.File;
import java.util.List;
@@ -31,22 +32,22 @@ import java.util.List;
*/
public interface MavenFileFilter
{
-
+
/**
* Will copy a file with some filtering using defaultFilterWrappers.
*
- * @see #getDefaultFilterWrappers(MavenProject, List, boolean, MavenSession)
- * @param from file to copy/filter
- * @param to destination file
- * @param filtering enable or not filering
+ * @param from file to copy/filter
+ * @param to destination file
+ * @param filtering enable or not filering
* @param mavenProject the mavenproject
- * @param filters {@link List} of String which are path to a Property file
- * @throws MavenFilteringException
+ * @param filters {@link List} of String which are path to a Property file
+ * @throws MavenFilteringException
+ * @see #getDefaultFilterWrappers(MavenProject, List, boolean, MavenSession)
*/
void copyFile( File from, final File to, boolean filtering, MavenProject mavenProject, List filters,
boolean escapedBackslashesInFilePath, String encoding, MavenSession mavenSession )
throws MavenFilteringException;
-
+
/**
* @param mavenFileFilterRequest
* @throws MavenFilteringException
@@ -62,44 +63,46 @@ public interface MavenFileFilter
* @param filterWrappers {@link List} of FileUtils.FilterWrapper
* @throws MavenFilteringException
*/
- void copyFile( File from, final File to, boolean filtering, List filterWrappers, String encoding )
+ void copyFile( File from, final File to, boolean filtering, List<FileUtils.FilterWrapper> filterWrappers,
+ String encoding )
throws MavenFilteringException;
-
+
/**
* @param from
* @param to
* @param filtering
* @param filterWrappers
* @param encoding
- * @param overwrite
+ * @param overwrite
* @throws MavenFilteringException
* @since 1.0-beta-2
*/
- void copyFile( File from, final File to, boolean filtering, List filterWrappers, String encoding,
- boolean overwrite )
- throws MavenFilteringException;
-
+ void copyFile( File from, final File to, boolean filtering, List<FileUtils.FilterWrapper> filterWrappers,
+ String encoding, boolean overwrite )
+ throws MavenFilteringException;
+
/**
* Will return the default FileUtils.FilterWrappers.
- *
+ * <p/>
* <ul>
- * <li>interpolate with token ${} and values from sysProps, project.properties, filters and project filters.</li>
- * <li>interpolate with token @ @ and values from sysProps, project.properties, filters and project filters.</li>
- * <li>interpolate with token ${} and values from mavenProject interpolation.</li>
- * <li>interpolation with token @ @ and values from mavenProject interpolation</li>
+ * <li>interpolate with token ${} and values from sysProps, project.properties, filters and project filters.</li>
+ * <li>interpolate with token @ @ and values from sysProps, project.properties, filters and project filters.</li>
+ * <li>interpolate with token ${} and values from mavenProject interpolation.</li>
+ * <li>interpolation with token @ @ and values from mavenProject interpolation</li>
* </ul>
* <b>This method is now deprecated and no escape mechanism will be used.</b>
*
* @param mavenProject
- * @param filters {@link List} of properties file
+ * @param filters {@link List} of properties file
* @return {@link List} of FileUtils.FilterWrapper
* @deprecated use {@link #getDefaultFilterWrappers(MavenProject, List, boolean, MavenSession, MavenResourcesExecution)}
*/
- List getDefaultFilterWrappers( MavenProject mavenProject, List filters, boolean escapedBackslashesInFilePath,
- MavenSession mavenSession )
+ List<FileUtils.FilterWrapper> getDefaultFilterWrappers( MavenProject mavenProject, List filters,
+ boolean escapedBackslashesInFilePath,
+ MavenSession mavenSession )
throws MavenFilteringException;
-
+
/**
* @param mavenProject
* @param filters
@@ -110,17 +113,19 @@ public interface MavenFileFilter
* @throws MavenFilteringException
* @since 1.0-beta-2
*/
- List getDefaultFilterWrappers( MavenProject mavenProject, List filters, boolean escapedBackslashesInFilePath,
- MavenSession mavenSession, MavenResourcesExecution mavenResourcesExecution )
+ List<FileUtils.FilterWrapper> getDefaultFilterWrappers( MavenProject mavenProject, List filters,
+ boolean escapedBackslashesInFilePath,
+ MavenSession mavenSession,
+ MavenResourcesExecution mavenResourcesExecution )
throws MavenFilteringException;
-
+
/**
* @param request
* @return {@link List} of FileUtils.FilterWrapper
* @throws MavenFilteringException
* @since 1.0-beta-3
*/
- List getDefaultFilterWrappers( AbstractMavenFilteringRequest request )
+ List<FileUtils.FilterWrapper> getDefaultFilterWrappers( AbstractMavenFilteringRequest request )
throws MavenFilteringException;
-
+
}