You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2014/02/11 23:30:39 UTC

svn commit: r1567425 - in /maven/shared/trunk/maven-filtering/src: main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java

Author: rfscholte
Date: Tue Feb 11 22:30:39 2014
New Revision: 1567425

URL: http://svn.apache.org/r1567425
Log:
[MSHARED-199] Filtering doesn't work if 2 delimiters are used on the same line, the first one being left open

Modified:
    maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
    maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java

Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java?rev=1567425&r1=1567424&r2=1567425&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MultiDelimiterInterpolatorFilterReaderLineEnding.java Tue Feb 11 22:30:39 2014
@@ -410,6 +410,12 @@ public class MultiDelimiterInterpolatorF
                 throw error;
             }
         }
+        else
+        {
+            // no endtoken? Write current char and continue in search for next expression
+            in.reset();
+            return in.read();
+        }
 
         // write away the value if present, otherwise the key unmodified
         if ( value != null )

Modified: maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java?rev=1567425&r1=1567424&r2=1567425&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java (original)
+++ maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenFileFilterTest.java Tue Feb 11 22:30:39 2014
@@ -176,4 +176,20 @@ public class DefaultMavenFileFilterTest
         reader = wrappers.get( 0 ).getReader( new StringReader( "abcFILTER.a.MEabc" ) );
         assertEquals( "DONE", IOUtil.toString( reader ) );
     }
+    
+    // MSHARED-199: Filtering doesn't work if 2 delimiters are used on the same line, the first one being left open
+    public void testLineWithSingleAtAndExpression() throws Exception
+    {
+        MavenFileFilter mavenFileFilter = (MavenFileFilter) lookup( MavenFileFilter.class.getName(), "default" );
+
+        AbstractMavenFilteringRequest req = new AbstractMavenFilteringRequest();
+        Properties additionalProperties = new Properties();
+        additionalProperties.setProperty( "foo", "bar" );
+        req.setAdditionalProperties( additionalProperties );
+
+        List<FilterWrapper> wrappers = mavenFileFilter.getDefaultFilterWrappers( req );
+
+        Reader reader = wrappers.get( 0 ).getReader( new StringReader( "toto@titi.com ${foo}" ) );
+        assertEquals( "toto@titi.com bar", IOUtil.toString( reader ) );
+    }
 }