Revert accidental commit "Aded stuff"

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1631749 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java b/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
deleted file mode 100644
index abfd59c..0000000
--- a/src/main/java/org/apache/maven/shared/filtering/BaseFilter.java
+++ /dev/null
@@ -1,289 +0,0 @@
-package org.apache.maven.shared.filtering;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.*;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.settings.Settings;
-import org.apache.maven.shared.utils.StringUtils;
-import org.apache.maven.shared.utils.io.FileUtils;
-import org.codehaus.plexus.interpolation.*;
-import org.codehaus.plexus.interpolation.multi.MultiDelimiterStringSearchInterpolator;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-
-class BaseFilter extends AbstractLogEnabled implements DefaultFilterInfo {
-
-
-	/**
-	 * @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<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject,
-			List<String> filters,
-			final boolean escapedBackslashesInFilePath,
-			MavenSession mavenSession )
-			throws MavenFilteringException
-	{
-		return getDefaultFilterWrappers( mavenProject, filters, escapedBackslashesInFilePath, mavenSession, null );
-	}
-
-
-	public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject, List<String> filters,
-			final boolean escapedBackslashesInFilePath,
-			MavenSession mavenSession,
-			MavenResourcesExecution mavenResourcesExecution )
-			throws MavenFilteringException
-	{
-
-		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<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
-
-		// Take a copy of filterProperties to ensure that evaluated filterTokens are not propagated
-		// to subsequent filter files. Note: this replicates current behaviour and seems to make sense.
-
-		final Properties baseProps = new Properties();
-
-		// Project properties
-		if ( request.getMavenProject() != null )
-		{
-			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
-		if ( request.getMavenSession() != null )
-		{
-			// execution properties wins
-			baseProps.putAll( request.getMavenSession().getExecutionProperties() );
-		}
-
-		// now we build properties to use for resources interpolation
-
-		final Properties filterProperties = new Properties();
-
-		File basedir = request.getMavenProject() != null ? request.getMavenProject().getBasedir() : new File( "." );
-
-		loadProperties( filterProperties, basedir, request.getFileFilters(), baseProps );
-		if ( filterProperties.size() < 1 )
-		{
-			filterProperties.putAll( baseProps );
-		}
-
-		if ( request.getMavenProject() != null )
-		{
-			if ( request.isInjectProjectBuildFilters() )
-			{
-				@SuppressWarnings( "unchecked" )
-				List<String> buildFilters = new ArrayList<String>( request.getMavenProject().getBuild().getFilters() );
-
-				// JDK-8015656: (coll) unexpected NPE from removeAll
-				if ( request.getFileFilters() != null )
-				{
-					buildFilters.removeAll( request.getFileFilters() );
-				}
-
-				loadProperties( filterProperties, basedir, buildFilters, baseProps );
-			}
-
-			// Project properties
-			filterProperties.putAll( request.getMavenProject().getProperties() == null
-					? Collections.emptyMap()
-					: request.getMavenProject().getProperties() );
-		}
-		if ( request.getMavenSession() != null )
-		{
-			// execution properties wins
-			filterProperties.putAll( request.getMavenSession().getExecutionProperties() );
-		}
-
-		if ( request.getAdditionalProperties() != null )
-		{
-			// additional properties wins
-			filterProperties.putAll( request.getAdditionalProperties() );
-		}
-
-		List<FileUtils.FilterWrapper> defaultFilterWrappers = request == null
-				? new ArrayList<FileUtils.FilterWrapper>( 1 )
-				: new ArrayList<FileUtils.FilterWrapper>( request.getDelimiters().size() + 1 );
-
-		if ( getLogger().isDebugEnabled() )
-		{
-			getLogger().debug( "properties used " + filterProperties );
-		}
-
-		final ValueSource propertiesValueSource = new PropertiesBasedValueSource( filterProperties );
-
-		if ( request != null )
-		{
-			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;
-	}
-
-	/**
-	 * default visibility only for testing reason !
-	 */
-	void loadProperties( Properties filterProperties, File basedir, List<String> propertiesFilePaths, Properties baseProps )
-			throws MavenFilteringException
-	{
-		if ( propertiesFilePaths != null )
-		{
-			Properties workProperties = new Properties();
-			workProperties.putAll( baseProps );
-
-			for ( String filterFile : propertiesFilePaths )
-			{
-				if ( StringUtils.isEmpty(filterFile) )
-				{
-					// skip empty file name
-					continue;
-				}
-				try
-				{
-					File propFile = FileUtils.resolveFile( basedir, filterFile );
-					Properties properties = PropertyUtils.loadPropertyFile( propFile, workProperties );
-					filterProperties.putAll( properties );
-					workProperties.putAll( properties );
-				}
-				catch ( IOException e )
-				{
-					throw new MavenFilteringException( "Error loading property file '" + filterFile + "'", e );
-				}
-			}
-		}
-	}
-
-	private static final class Wrapper
-			extends FileUtils.FilterWrapper
-	{
-
-		private LinkedHashSet<String> delimiters;
-
-		private MavenProject project;
-
-		private ValueSource propertiesValueSource;
-
-		private List<String> projectStartExpressions;
-
-		private String escapeString;
-
-		private boolean escapeWindowsPaths;
-
-		private final MavenSession mavenSession;
-
-		private boolean supportMultiLineFiltering;
-
-		Wrapper( LinkedHashSet<String> delimiters, MavenProject project, MavenSession mavenSession,
-				ValueSource propertiesValueSource, List<String> projectStartExpressions, String escapeString,
-				boolean escapeWindowsPaths, boolean supportMultiLineFiltering )
-		{
-			super();
-			this.delimiters = delimiters;
-			this.project = project;
-			this.mavenSession = mavenSession;
-			this.propertiesValueSource = propertiesValueSource;
-			this.projectStartExpressions = projectStartExpressions;
-			this.escapeString = escapeString;
-			this.escapeWindowsPaths = escapeWindowsPaths;
-			this.supportMultiLineFiltering = supportMultiLineFiltering;
-		}
-
-		public Reader getReader( Reader reader )
-		{
-			MultiDelimiterStringSearchInterpolator interpolator = new MultiDelimiterStringSearchInterpolator();
-			interpolator.setDelimiterSpecs( delimiters );
-
-			RecursionInterceptor ri = null;
-			if ( projectStartExpressions != null && !projectStartExpressions.isEmpty() )
-			{
-				ri = new PrefixAwareRecursionInterceptor( projectStartExpressions, true );
-			}
-			else
-			{
-				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.setEscapeString( escapeString );
-
-			if ( escapeWindowsPaths )
-			{
-				interpolator.addPostProcessor( new InterpolationPostProcessor()
-				{
-					public Object execute( String expression, Object value )
-					{
-						if ( value instanceof String )
-						{
-							return FilteringUtils.escapeWindowsPath( (String) value );
-						}
-
-						return value;
-					}
-				} );
-			}
-
-			MultiDelimiterInterpolatorFilterReaderLineEnding filterReader =
-					new MultiDelimiterInterpolatorFilterReaderLineEnding( reader, interpolator, supportMultiLineFiltering );
-			filterReader.setRecursionInterceptor( ri );
-			filterReader.setDelimiterSpecs( delimiters );
-
-			filterReader.setInterpolateWithPrefixPattern( false );
-			filterReader.setEscapeString( escapeString );
-
-			return filterReader;
-		}
-
-	}
-}
diff --git a/src/main/java/org/apache/maven/shared/filtering/DefaultFilterInfo.java b/src/main/java/org/apache/maven/shared/filtering/DefaultFilterInfo.java
deleted file mode 100644
index 6af1786..0000000
--- a/src/main/java/org/apache/maven/shared/filtering/DefaultFilterInfo.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.apache.maven.shared.filtering;
-
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.io.FileUtils;
-
-public interface DefaultFilterInfo {
-	/**
-	 * 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>
-	 * </ul>
-	 * <b>This method is now deprecated and no escape mechanism will be used.</b>
-	 *
-	 * @param mavenProject
-	 * @param filters      {@link java.util.List} of properties file
-	 * @return {@link java.util.List} of FileUtils.FilterWrapper
-	 * @deprecated use {@link #getDefaultFilterWrappers(org.apache.maven.project.MavenProject, java.util.List, boolean, org.apache.maven.execution.MavenSession, org.apache.maven.shared.filtering.MavenResourcesExecution)}
-	 */
-	List<FileUtils.FilterWrapper> getDefaultFilterWrappers(MavenProject mavenProject, List<String> filters,
-			boolean escapedBackslashesInFilePath,
-			MavenSession mavenSession)
-			throws MavenFilteringException;
-
-	/**
-	 * @param mavenProject
-	 * @param filters
-	 * @param escapedBackslashesInFilePath
-	 * @param mavenSession
-	 * @param mavenResourcesExecution
-	 * @return {@link java.util.List} of FileUtils.FilterWrapper
-	 * @throws org.apache.maven.shared.filtering.MavenFilteringException
-	 * @since 1.0-beta-2
-	 */
-	List<FileUtils.FilterWrapper> getDefaultFilterWrappers(MavenProject mavenProject, List<String> filters,
-			boolean escapedBackslashesInFilePath,
-			MavenSession mavenSession,
-			MavenResourcesExecution mavenResourcesExecution)
-			throws MavenFilteringException;
-
-	/**
-	 * @param request
-	 * @return {@link java.util.List} of FileUtils.FilterWrapper
-	 * @throws org.apache.maven.shared.filtering.MavenFilteringException
-	 * @since 1.0-beta-3
-	 */
-	List<FileUtils.FilterWrapper> getDefaultFilterWrappers(AbstractMavenFilteringRequest request)
-			throws MavenFilteringException;
-}
diff --git a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
index 67b8833..f1de523 100644
--- a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
+++ b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
@@ -53,7 +53,7 @@
  * role-hint="default"
  */
 public class DefaultMavenFileFilter
-    extends BaseFilter
+    extends AbstractLogEnabled
     implements MavenFileFilter
 {
 
@@ -130,4 +130,275 @@
         }
 
     }
+
+    /**
+     * @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<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject,
+                                                                   List<String> filters,
+                                                                   final boolean escapedBackslashesInFilePath,
+                                                                   MavenSession mavenSession )
+        throws MavenFilteringException
+    {
+        return getDefaultFilterWrappers( mavenProject, filters, escapedBackslashesInFilePath, mavenSession, null );
+    }
+
+
+    public List<FileUtils.FilterWrapper> getDefaultFilterWrappers( final MavenProject mavenProject, List<String> filters,
+                                                                   final boolean escapedBackslashesInFilePath,
+                                                                   MavenSession mavenSession,
+                                                                   MavenResourcesExecution mavenResourcesExecution )
+        throws MavenFilteringException
+    {
+
+        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<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
+
+        // Take a copy of filterProperties to ensure that evaluated filterTokens are not propagated
+        // to subsequent filter files. Note: this replicates current behaviour and seems to make sense.
+
+        final Properties baseProps = new Properties();
+
+        // Project properties
+        if ( request.getMavenProject() != null )
+        {
+            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
+        if ( request.getMavenSession() != null )
+        {
+            // execution properties wins
+            baseProps.putAll( request.getMavenSession().getExecutionProperties() );
+        }
+
+        // now we build properties to use for resources interpolation
+
+        final Properties filterProperties = new Properties();
+
+        File basedir = request.getMavenProject() != null ? request.getMavenProject().getBasedir() : new File( "." ); 
+
+        loadProperties( filterProperties, basedir, request.getFileFilters(), baseProps );
+        if ( filterProperties.size() < 1 )
+        {
+            filterProperties.putAll( baseProps );
+        }
+
+        if ( request.getMavenProject() != null )
+        {
+            if ( request.isInjectProjectBuildFilters() )
+            {
+                @SuppressWarnings( "unchecked" )
+                List<String> buildFilters = new ArrayList<String>( request.getMavenProject().getBuild().getFilters() );
+
+                // JDK-8015656: (coll) unexpected NPE from removeAll 
+                if ( request.getFileFilters() != null )
+                {
+                    buildFilters.removeAll( request.getFileFilters() );
+                }
+
+                loadProperties( filterProperties, basedir, buildFilters, baseProps );
+            }
+
+            // Project properties
+            filterProperties.putAll( request.getMavenProject().getProperties() == null
+                                         ? Collections.emptyMap()
+                                         : request.getMavenProject().getProperties() );
+        }
+        if ( request.getMavenSession() != null )
+        {
+            // execution properties wins
+            filterProperties.putAll( request.getMavenSession().getExecutionProperties() );
+        }
+
+        if ( request.getAdditionalProperties() != null )
+        {
+            // additional properties wins
+            filterProperties.putAll( request.getAdditionalProperties() );
+        }
+
+        List<FileUtils.FilterWrapper> defaultFilterWrappers = request == null
+            ? new ArrayList<FileUtils.FilterWrapper>( 1 )
+            : new ArrayList<FileUtils.FilterWrapper>( request.getDelimiters().size() + 1 );
+
+        if ( getLogger().isDebugEnabled() )
+        {
+            getLogger().debug( "properties used " + filterProperties );
+        }
+
+        final ValueSource propertiesValueSource = new PropertiesBasedValueSource( filterProperties );
+
+        if ( request != null )
+        {
+            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;
+    }
+
+    /**
+     * default visibility only for testing reason !
+     */
+    void loadProperties( Properties filterProperties, File basedir, List<String> propertiesFilePaths, Properties baseProps )
+        throws MavenFilteringException
+    {
+        if ( propertiesFilePaths != null )
+        {
+            Properties workProperties = new Properties();
+            workProperties.putAll( baseProps );
+
+            for ( String filterFile : propertiesFilePaths )
+            {
+                if ( StringUtils.isEmpty( filterFile ) )
+                {
+                    // skip empty file name
+                    continue;
+                }
+                try
+                {
+                    File propFile = FileUtils.resolveFile( basedir, filterFile );
+                    Properties properties = PropertyUtils.loadPropertyFile( propFile, workProperties );
+                    filterProperties.putAll( properties );
+                    workProperties.putAll( properties );
+                }
+                catch ( IOException e )
+                {
+                    throw new MavenFilteringException( "Error loading property file '" + filterFile + "'", e );
+                }
+            }
+        }
+    }
+
+    private static final class Wrapper
+        extends FileUtils.FilterWrapper
+    {
+
+        private LinkedHashSet<String> delimiters;
+
+        private MavenProject project;
+
+        private ValueSource propertiesValueSource;
+
+        private List<String> projectStartExpressions;
+
+        private String escapeString;
+
+        private boolean escapeWindowsPaths;
+
+        private final MavenSession mavenSession;
+
+        private boolean supportMultiLineFiltering;
+
+        Wrapper( LinkedHashSet<String> delimiters, MavenProject project, MavenSession mavenSession,
+                 ValueSource propertiesValueSource, List<String> projectStartExpressions, String escapeString,
+                 boolean escapeWindowsPaths, boolean supportMultiLineFiltering )
+        {
+            super();
+            this.delimiters = delimiters;
+            this.project = project;
+            this.mavenSession = mavenSession;
+            this.propertiesValueSource = propertiesValueSource;
+            this.projectStartExpressions = projectStartExpressions;
+            this.escapeString = escapeString;
+            this.escapeWindowsPaths = escapeWindowsPaths;
+            this.supportMultiLineFiltering = supportMultiLineFiltering;
+        }
+
+        public Reader getReader( Reader reader )
+        {
+            MultiDelimiterStringSearchInterpolator interpolator = new MultiDelimiterStringSearchInterpolator();
+            interpolator.setDelimiterSpecs( delimiters );
+
+            RecursionInterceptor ri = null;
+            if ( projectStartExpressions != null && !projectStartExpressions.isEmpty() )
+            {
+                ri = new PrefixAwareRecursionInterceptor( projectStartExpressions, true );
+            }
+            else
+            {
+                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.setEscapeString( escapeString );
+
+            if ( escapeWindowsPaths )
+            {
+                interpolator.addPostProcessor( new InterpolationPostProcessor()
+                {
+                    public Object execute( String expression, Object value )
+                    {
+                        if ( value instanceof String )
+                        {
+                            return FilteringUtils.escapeWindowsPath( (String) value );
+                        }
+
+                        return value;
+                    }
+                } );
+            }
+
+            MultiDelimiterInterpolatorFilterReaderLineEnding filterReader =
+                new MultiDelimiterInterpolatorFilterReaderLineEnding( reader, interpolator, supportMultiLineFiltering );
+            filterReader.setRecursionInterceptor( ri );
+            filterReader.setDelimiterSpecs( delimiters );
+
+            filterReader.setInterpolateWithPrefixPattern( false );
+            filterReader.setEscapeString( escapeString );
+
+            return filterReader;
+        }
+
+    }
+
 }
diff --git a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenStreamFilter.java b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenStreamFilter.java
deleted file mode 100644
index 9b74368..0000000
--- a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenStreamFilter.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package org.apache.maven.shared.filtering;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.*;
-import java.util.*;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.io.FileUtils.FilterWrapper;
-import org.apache.maven.shared.utils.io.IOUtil;
-import org.sonatype.plexus.build.incremental.BuildContext;
-
-/**
- * @author Olivier Lamy
- *
- * @plexus.component role="org.apache.maven.shared.filtering.MavenFileFilter"
- * role-hint="default"
- */
-public class DefaultMavenStreamFilter
-    extends BaseFilter
-    implements MavenStreamFilter
-{
-
-    /**
-     * @plexus.requirement
-     */
-    private BuildContext buildContext;
-
-    public InputStream filter( InputStream from, boolean filtering, MavenProject mavenProject, List<String> filters,
-                          boolean escapedBackslashesInFilePath, String encoding, MavenSession mavenSession )
-        throws MavenFilteringException
-    {
-        MavenResourcesExecution mre = new MavenResourcesExecution();
-        mre.setMavenProject( mavenProject );
-        mre.setFileFilters( filters );
-        mre.setEscapeWindowsPaths( escapedBackslashesInFilePath );
-        mre.setMavenSession( mavenSession );
-        mre.setInjectProjectBuildFilters( true );
-
-        List<FilterWrapper> filterWrappers = getDefaultFilterWrappers( mre );
-        return filter(from, filtering, filterWrappers, encoding);
-    }
-
-
-    public InputStream filter( MavenStreamFilterRequest mavenFileFilterRequest )
-        throws MavenFilteringException
-    {
-        List<FilterWrapper> filterWrappers = getDefaultFilterWrappers( mavenFileFilterRequest );
-
-        return filter(mavenFileFilterRequest.getFrom(),
-                mavenFileFilterRequest.isFiltering(), filterWrappers, mavenFileFilterRequest.getEncoding());
-    }
-
-
-    public InputStream filter( InputStream from,boolean filtering, List<FilterWrapper> filterWrappers,
-                          String encoding )
-        throws MavenFilteringException
-    {
-        // overwrite forced to false to preserve backward comp
-        return filter( from, filtering, filterWrappers, encoding, false );
-    }
-
-
-    public InputStream filter( InputStream from, boolean filtering, List<FilterWrapper> filterWrappers,
-                          String encoding, boolean overwrite )
-        throws MavenFilteringException
-    {
-        try
-        {
-            if ( filtering )
-            {
-                FilterWrapper[] wrappers = filterWrappers.toArray(
-                    new FilterWrapper[filterWrappers.size()] );
-                return filterWrap(from, encoding, wrappers, false);
-            }
-            else
-            {
-                return filterWrap(from, encoding, new FilterWrapper[0], overwrite);
-            }
-
-        }
-        catch ( IOException e )
-        {
-            throw new MavenFilteringException( e.getMessage(), e );
-        }
-
-    }
-
-
-    public static InputStream filterWrap(@Nonnull InputStream from, @Nullable String encoding,
-            @Nullable FilterWrapper[] wrappers, boolean overwrite)
-            throws IOException
-    {
-        if ( wrappers != null && wrappers.length > 0 )
-        {
-            // buffer so it isn't reading a byte at a time!
-            Reader fileReader = null;
-            Writer fileWriter = null;
-            try
-            {
-                if ( encoding == null || encoding.length() < 1 )
-                {
-                    fileReader = new BufferedReader( new InputStreamReader(from) );
-                    fileWriter = new FileWriter( to );
-                }
-                else
-                {
-                    FileInputStream instream = new FileInputStream( from );
-
-                    FileOutputStream outstream = new FileOutputStream( to );
-
-                    fileReader = new BufferedReader( new InputStreamReader( instream, encoding ) );
-
-                    fileWriter = new OutputStreamWriter( outstream, encoding );
-                }
-
-                Reader reader = fileReader;
-                for ( FilterWrapper wrapper : wrappers )
-                {
-                    reader = wrapper.getReader( reader );
-                }
-
-                IOUtil.copy(reader, fileWriter);
-            }
-            finally
-            {
-                IOUtil.close( fileReader );
-                IOUtil.close( fileWriter );
-            }
-        }
-        else
-        {
-            if ( to.lastModified() < from.lastModified() || overwrite )
-            {
-                filterWrap(from, to);
-            }
-        }
-    }
-
-
-}
diff --git a/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java b/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
index b383649..dbc7bdd 100644
--- a/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
+++ b/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
@@ -30,7 +30,7 @@
  * @author Olivier Lamy
  *
  */
-public interface MavenFileFilter extends DefaultFilterInfo
+public interface MavenFileFilter
 {
 
     /**
@@ -81,4 +81,51 @@
     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>
+     * </ul>
+     * <b>This method is now deprecated and no escape mechanism will be used.</b>
+     *
+     * @param mavenProject
+     * @param filters      {@link List} of properties file
+     * @return {@link List} of FileUtils.FilterWrapper
+     * @deprecated use {@link #getDefaultFilterWrappers(MavenProject, List, boolean, MavenSession, MavenResourcesExecution)}
+     */
+    List<FileUtils.FilterWrapper> getDefaultFilterWrappers( MavenProject mavenProject, List<String> filters,
+                                                            boolean escapedBackslashesInFilePath,
+                                                            MavenSession mavenSession )
+        throws MavenFilteringException;
+
+    /**
+     * @param mavenProject
+     * @param filters
+     * @param escapedBackslashesInFilePath
+     * @param mavenSession
+     * @param mavenResourcesExecution
+     * @return {@link List} of FileUtils.FilterWrapper
+     * @throws MavenFilteringException
+     * @since 1.0-beta-2
+     */
+    List<FileUtils.FilterWrapper> getDefaultFilterWrappers( MavenProject mavenProject, List<String> 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<FileUtils.FilterWrapper> getDefaultFilterWrappers( AbstractMavenFilteringRequest request )
+        throws MavenFilteringException;
+
 }
diff --git a/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilter.java b/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilter.java
deleted file mode 100644
index a79cc2d..0000000
--- a/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.shared.filtering;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.List;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.io.FileUtils;
-
-/**
- * @author Olivier Lamy
- * @author Kristian Rosenvold
- */
-public interface MavenStreamFilter extends DefaultFilterInfo
-{
-
-    /**
-     * Will copy a file with some filtering using defaultFilterWrappers.
-     *
-     * @param source         file to copy/filter
-     * @param filtering    enable or not filering
-     * @param mavenProject the mavenproject
-     * @param filters      {@link java.util.List} of String which are path to a Property file
-     * @return an input stream that applies the filter
-     * @throws org.apache.maven.shared.filtering.MavenFilteringException
-     * @see #getDefaultFilterWrappers(org.apache.maven.project.MavenProject, java.util.List, boolean, org.apache.maven.execution.MavenSession)
-     */
-    InputStream filter(InputStream source, boolean filtering, MavenProject mavenProject, List<String> filters,
-            boolean escapedBackslashesInFilePath, String encoding, MavenSession mavenSession)
-        throws MavenFilteringException;
-
-    /**
-     * @param mavenStreamFilterRequest The filter request
-     * @throws org.apache.maven.shared.filtering.MavenFilteringException
-     * @return an input stream that applies the filter
-     * @since 1.0-beta-3
-     */
-    InputStream filter(MavenStreamFilterRequest mavenStreamFilterRequest)
-        throws MavenFilteringException;
-
-    /**
-     * @param source The source stream to filter
-     * @param filtering
-     * @param filterWrappers {@link java.util.List} of FileUtils.FilterWrapper
-     * @return an input stream that applies the filter
-     * @throws org.apache.maven.shared.filtering.MavenFilteringException
-     */
-    InputStream filter(InputStream source, boolean filtering, List<FileUtils.FilterWrapper> filterWrappers,
-            String encoding)
-        throws MavenFilteringException;
-
-
-    /**
-     * @param source The source stream to filter
-     * @param filtering
-     * @param filterWrappers
-     * @param encoding
-     * @param overwrite
-     * @throws org.apache.maven.shared.filtering.MavenFilteringException
-     * @return an input stream that applies the filter
-     * @since 1.0-beta-2
-     */
-    InputStream filter(InputStream source, boolean filtering, List<FileUtils.FilterWrapper> filterWrappers,
-            String encoding, boolean overwrite)
-        throws MavenFilteringException;
-
-}
diff --git a/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilterRequest.java b/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilterRequest.java
deleted file mode 100644
index 14727aa..0000000
--- a/src/main/java/org/apache/maven/shared/filtering/MavenStreamFilterRequest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.shared.filtering;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.maven.execution.MavenSession;
-import org.apache.maven.project.MavenProject;
-
-/**
- * @author Olivier Lamy
- * @since 1.0-beta-3
- */
-public class MavenStreamFilterRequest
-    extends AbstractMavenFilteringRequest
-{
-
-    private InputStream from;
-
-    private boolean filtering;
-
-    public MavenStreamFilterRequest()
-    {
-        // nothing
-    }
-
-    public MavenStreamFilterRequest(InputStream from, boolean filtering, MavenProject mavenProject,
-            List<String> filters,
-            boolean escapedBackslashesInFilePath, String encoding, MavenSession mavenSession,
-            Properties additionalProperties)
-    {
-        super( mavenProject, filters, encoding, mavenSession );
-        this.from = from;
-        this.filtering = filtering;
-        setAdditionalProperties( additionalProperties );
-        setEscapeWindowsPaths( escapedBackslashesInFilePath );
-    }
-
-
-    public InputStream getFrom()
-    {
-        return from;
-    }
-
-    public void setFrom( InputStream from )
-    {
-        this.from = from;
-    }
-
-    public boolean isFiltering()
-    {
-        return filtering;
-    }
-
-    public void setFiltering( boolean filtering )
-    {
-        this.filtering = filtering;
-    }
-
-}