You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/06/02 23:06:58 UTC
svn commit: r781168 - in
/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation:
AbstractStringBasedModelInterpolator.java PathTranslatingPostProcessor.java
Author: bentmann
Date: Tue Jun 2 21:06:57 2009
New Revision: 781168
URL: http://svn.apache.org/viewvc?rev=781168&view=rev
Log:
o Minor tweaks to the interpolation post process:
- Excluded it completely if it has nothing to do
- Switched contains() test to use hash-based lookup rather than linear search
Modified:
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java?rev=781168&r1=781167&r2=781168&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java Tue Jun 2 21:06:57 2009
@@ -38,7 +38,9 @@
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
import java.util.Properties;
@@ -54,11 +56,11 @@
{
private static final List<String> PROJECT_PREFIXES = Arrays.asList( new String[]{ "pom.", "project." } );
- private static final List<String> TRANSLATED_PATH_EXPRESSIONS;
+ private static final Collection<String> TRANSLATED_PATH_EXPRESSIONS;
static
{
- List<String> translatedPrefixes = new ArrayList<String>();
+ Collection<String> translatedPrefixes = new HashSet<String>();
// MNG-1927, MNG-2124, MNG-3355:
// If the build section is present and the project directory is non-null, we should make
@@ -150,9 +152,16 @@
final File projectDir,
final ModelBuildingRequest config )
{
- return Collections.singletonList( new PathTranslatingPostProcessor( PROJECT_PREFIXES,
- TRANSLATED_PATH_EXPRESSIONS, projectDir,
- pathTranslator ) );
+ if ( projectDir != null )
+ {
+ return Collections.singletonList( new PathTranslatingPostProcessor( PROJECT_PREFIXES,
+ TRANSLATED_PATH_EXPRESSIONS,
+ projectDir, pathTranslator ) );
+ }
+ else
+ {
+ return Collections.emptyList();
+ }
}
protected String interpolateInternal( String src, List<? extends ValueSource> valueSources,
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java?rev=781168&r1=781167&r2=781168&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java Tue Jun 2 21:06:57 2009
@@ -24,6 +24,7 @@
import org.codehaus.plexus.interpolation.util.ValueSourceUtils;
import java.io.File;
+import java.util.Collection;
import java.util.List;
/**
@@ -34,12 +35,12 @@
implements InterpolationPostProcessor
{
- private final List<String> unprefixedPathKeys;
+ private final Collection<String> unprefixedPathKeys;
private final File projectDir;
private final PathTranslator pathTranslator;
private final List<String> expressionPrefixes;
- public PathTranslatingPostProcessor( List<String> expressionPrefixes, List<String> unprefixedPathKeys, File projectDir, PathTranslator pathTranslator )
+ public PathTranslatingPostProcessor( List<String> expressionPrefixes, Collection<String> unprefixedPathKeys, File projectDir, PathTranslator pathTranslator )
{
this.expressionPrefixes = expressionPrefixes;
this.unprefixedPathKeys = unprefixedPathKeys;
@@ -49,11 +50,14 @@
public Object execute( String expression, Object value )
{
- expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true );
-
- if ( projectDir != null && value != null && unprefixedPathKeys.contains( expression ) )
+ if ( value != null )
{
- return pathTranslator.alignToBaseDirectory( String.valueOf( value ), projectDir );
+ expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true );
+
+ if ( unprefixedPathKeys.contains( expression ) )
+ {
+ return pathTranslator.alignToBaseDirectory( String.valueOf( value ), projectDir );
+ }
}
return value;