This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to annotated tag maven-filtering-1.0-alpha-1 in repository https://gitbox.apache.org/repos/asf/maven-filtering.git
commit 76bc4172bee64fafd0d9b0110070b4f5573b3eb6 Author: Oliver Lamy <[email protected]> AuthorDate: Wed Feb 6 21:42:23 2008 +0000 if the resource contains empty expressions (${} or @@) the component filtered with a complex object toString or could failed to getSystemProperty git-svn-id: https://svn.apache.org/repos/asf/maven/sandbox/trunk/shared/maven-filtering@619165 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java | 3 ++- .../java/org/apache/maven/shared/filtering/ReflectionProperties.java | 5 +++++ .../maven/shared/filtering/DefaultMavenResourcesFilteringTest.java | 5 +++++ .../maven-resources-filtering/maven-resources-filtering.txt | 4 +++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java b/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java index 3f1e1c9..df94eda 100755 --- a/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java +++ b/src/main/java/org/apache/maven/shared/filtering/PropertyUtils.java @@ -19,6 +19,7 @@ package org.apache.maven.shared.filtering; * under the License. */ import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.StringUtils; import java.io.File; import java.io.FileInputStream; @@ -175,7 +176,7 @@ public final class PropertyUtils String nv = p.getProperty( nk ); // try global environment.. - if ( nv == null ) + if ( nv == null && !StringUtils.isEmpty( nk ) ) { nv = System.getProperty( nk ); } diff --git a/src/main/java/org/apache/maven/shared/filtering/ReflectionProperties.java b/src/main/java/org/apache/maven/shared/filtering/ReflectionProperties.java index b0ed590..2663eac 100755 --- a/src/main/java/org/apache/maven/shared/filtering/ReflectionProperties.java +++ b/src/main/java/org/apache/maven/shared/filtering/ReflectionProperties.java @@ -56,6 +56,11 @@ public class ReflectionProperties public Object get( Object key ) { + if (key == null || StringUtils.isEmpty( key.toString() )) + { + return null; + } + Object value = null; try { diff --git a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java index 10741e9..0fe15c4 100755 --- a/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java +++ b/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java @@ -84,6 +84,9 @@ public class DefaultMavenResourcesFilteringTest // FIXME this can fail with a windows path String base = result.getProperty( "base" ); assertEquals(getBasedir(), base); + + assertEquals( "@@", result.getProperty( "emptyexpression" ) ); + assertEquals( "${}", result.getProperty( "emptyexpression2" ) ); } public void testNoFiltering() @@ -114,5 +117,7 @@ public class DefaultMavenResourcesFilteringTest assertEquals( "${pom.version}", result.get( "version" ) ); assertEquals( "${pom.groupId}", result.get( "groupId" ) ); assertEquals( "${foo}", result.get( "foo" ) ); + assertEquals( "@@", result.getProperty( "emptyexpression" ) ); + assertEquals( "${}", result.getProperty( "emptyexpression2" ) ); } } diff --git a/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt b/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt index d5b56d1..3826b6f 100755 --- a/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt +++ b/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt @@ -20,4 +20,6 @@ version=${pom.version} groupId=${pom.groupId} foo=${foo} none=none filtered -base=${pom.basedir} \ No newline at end of file +base=${pom.basedir} +emptyexpression=@@ +emptyexpression2=${} \ No newline at end of file
