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( 
"t...@titi.com ${foo}" ) );
+        assertEquals( "t...@titi.com bar", IOUtil.toString( reader ) );
+    }
 }


Reply via email to