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/01 19:49:35 UTC
svn commit: r780749 - in /maven/components/trunk: ./ maven-model-builder/
maven-model-builder/src/main/java/org/apache/maven/model/
maven-model-builder/src/main/java/org/apache/maven/model/interpolation/
maven-model-builder/src/main/java/org/apache/mav...
Author: bentmann
Date: Mon Jun 1 17:49:34 2009
New Revision: 780749
URL: http://svn.apache.org/viewvc?rev=780749&view=rev
Log:
o Flipped interpolation over to use the in-memory based interpolator from 2.2.x which makes the overall building twice as fast as before
Added:
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/
- copied from r780665, maven/components/branches/maven-2.2.x/maven-project/src/main/java/org/apache/maven/project/interpolation/
Removed:
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/RegexBasedModelInterpolator.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/
Modified:
maven/components/trunk/maven-model-builder/pom.xml
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
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/BuildTimestampValueSource.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolationException.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/PathTranslatingPostProcessor.java
maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
maven/components/trunk/pom.xml
Modified: maven/components/trunk/maven-model-builder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/pom.xml?rev=780749&r1=780748&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/pom.xml (original)
+++ maven/components/trunk/maven-model-builder/pom.xml Mon Jun 1 17:49:34 2009
@@ -31,6 +31,10 @@
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
</dependency>
<dependency>
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java?rev=780749&r1=780748&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/DefaultModelBuilder.java Mon Jun 1 17:49:34 2009
@@ -28,11 +28,13 @@
import java.util.Map;
import org.apache.maven.model.inheritance.InheritanceAssembler;
-import org.apache.maven.model.interpolator.Interpolator;
+import org.apache.maven.model.interpolation.ModelInterpolationException;
+import org.apache.maven.model.interpolation.ModelInterpolator;
import org.apache.maven.model.io.ModelParseException;
import org.apache.maven.model.io.ModelReader;
import org.apache.maven.model.management.ManagementInjector;
import org.apache.maven.model.normalization.ModelNormalizer;
+import org.apache.maven.model.path.ModelPathTranslator;
import org.apache.maven.model.plugin.LifecycleBindingsInjector;
import org.apache.maven.model.plugin.PluginConfigurationExpander;
import org.apache.maven.model.profile.ProfileActivationException;
@@ -66,7 +68,10 @@
private ModelNormalizer modelNormalizer;
@Requirement
- private Interpolator modelInterpolator;
+ private ModelInterpolator modelInterpolator;
+
+ @Requirement
+ private ModelPathTranslator modelPathTranslator;
@Requirement
private InheritanceAssembler inheritanceAssembler;
@@ -155,6 +160,8 @@
resultModel = interpolateModel( resultModel, request );
resultModels.set( 0, resultModel );
+ modelPathTranslator.alignToBaseDirectory( resultModel, resultModel.getProjectDirectory() );
+
if ( request.isProcessPlugins() )
{
lifecycleBindingsInjector.injectLifecycleBindings( resultModel );
@@ -281,14 +288,11 @@
{
try
{
- Model result =
- modelInterpolator.interpolateModel( model,
- request.getProfileActivationContext().getExecutionProperties(),
- model.getProjectDirectory() );
+ Model result = modelInterpolator.interpolateModel( model, model.getProjectDirectory(), request );
result.setPomFile( model.getPomFile() );
return result;
}
- catch ( IOException e )
+ catch ( ModelInterpolationException e )
{
throw new ModelBuildingException( "Failed to interpolate model " + toSourceHint( model ), e );
}
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=780749&r1=780665&r2=780749&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 Mon Jun 1 17:49:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,11 +20,9 @@
*/
import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.project.DefaultProjectBuilderConfiguration;
-import org.apache.maven.project.ProjectBuilderConfiguration;
-import org.apache.maven.project.path.PathTranslator;
+import org.apache.maven.model.ModelBuildingRequest;
+import org.apache.maven.model.path.PathTranslator;
+import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.AbstractValueSource;
import org.codehaus.plexus.interpolation.InterpolationException;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
@@ -36,21 +34,12 @@
import org.codehaus.plexus.interpolation.PrefixedValueSourceWrapper;
import org.codehaus.plexus.interpolation.RecursionInterceptor;
import org.codehaus.plexus.interpolation.ValueSource;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
/**
@@ -61,8 +50,7 @@
* @todo Consolidate this logic with the PluginParameterExpressionEvaluator, minus deprecations/bans.
*/
public abstract class AbstractStringBasedModelInterpolator
- extends AbstractLogEnabled
- implements ModelInterpolator, Initializable
+ implements ModelInterpolator
{
private static final List<String> PROJECT_PREFIXES = Arrays.asList( new String[]{ "pom.", "project." } );
@@ -88,133 +76,20 @@
TRANSLATED_PATH_EXPRESSIONS = translatedPrefixes;
}
+ @Requirement
private PathTranslator pathTranslator;
private Interpolator interpolator;
private RecursionInterceptor recursionInterceptor;
-
- // for testing.
- protected AbstractStringBasedModelInterpolator( PathTranslator pathTranslator )
- {
- this.pathTranslator = pathTranslator;
- }
-
- /**
- * @todo: Remove the throws clause.
- * @throws IOException This exception is not thrown any more, and needs to be removed.
- */
- protected AbstractStringBasedModelInterpolator()
- {
- }
-
- public Model interpolate( Model model, Map<String, ?> context )
- throws ModelInterpolationException
- {
- return interpolate( model, context, true );
- }
-
- /**
- * Serialize the inbound Model instance to a StringWriter, perform the regex replacement to resolve
- * POM expressions, then re-parse into the resolved Model instance.
- * <br/>
- * <b>NOTE:</b> This will result in a different instance of Model being returned!!!
- *
- * @param model The inbound Model instance, to serialize and reference for expression resolution
- * @param context The other context map to be used during resolution
- * @return The resolved instance of the inbound Model. This is a different instance!
- *
- * @deprecated Use {@link ModelInterpolator#interpolate(Model, File, ProjectBuilderConfiguration, boolean)} instead.
- */
- public Model interpolate( Model model, Map<String, ?> context, boolean strict )
- throws ModelInterpolationException
- {
- Properties props = new Properties();
- props.putAll( context );
-
- return interpolate( model,
- null,
- new DefaultProjectBuilderConfiguration().setExecutionProperties( props ),
- true );
- }
-
- public Model interpolate( Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugEnabled )
- throws ModelInterpolationException
+
+ public AbstractStringBasedModelInterpolator()
{
- StringWriter sWriter = new StringWriter( 1024 );
-
- MavenXpp3Writer writer = new MavenXpp3Writer();
- try
- {
- writer.write( sWriter, model );
- }
- catch ( IOException e )
- {
- throw new ModelInterpolationException( "Cannot serialize project model for interpolation.", e );
- }
-
- String serializedModel = sWriter.toString();
- serializedModel = interpolate( serializedModel, model, projectDir, config, debugEnabled );
-
- StringReader sReader = new StringReader( serializedModel );
-
- MavenXpp3Reader modelReader = new MavenXpp3Reader();
- try
- {
- model = modelReader.read( sReader );
- }
- catch ( IOException e )
- {
- throw new ModelInterpolationException(
- "Cannot read project model from interpolating filter of serialized version.", e );
- }
- catch ( XmlPullParserException e )
- {
- throw new ModelInterpolationException(
- "Cannot read project model from interpolating filter of serialized version.", e );
- }
-
- return model;
+ interpolator = createInterpolator();
+ recursionInterceptor = new PrefixAwareRecursionInterceptor( PROJECT_PREFIXES );
}
- /**
- * Interpolates all expressions in the src parameter.
- * <p>
- * The algorithm used for each expression is:
- * <ul>
- * <li>If it starts with either "pom." or "project.", the expression is evaluated against the model.</li>
- * <li>If the value is null, get the value from the context.</li>
- * <li>If the value is null, but the context contains the expression, don't replace the expression string
- * with the value, and continue to find other expressions.</li>
- * <li>If the value is null, get it from the model properties.</li>
- * <li>
- * @param overrideContext
- * @param outputDebugMessages
- */
- public String interpolate( String src,
- Model model,
- final File projectDir,
- ProjectBuilderConfiguration config,
- boolean debug )
- throws ModelInterpolationException
- {
- try
- {
- List<ValueSource> valueSources = createValueSources( model, projectDir, config );
- List<InterpolationPostProcessor> postProcessors = createPostProcessors( model, projectDir, config );
-
- return interpolateInternal( src, valueSources, postProcessors, debug );
- }
- finally
- {
- interpolator.clearAnswers();
- }
- }
-
- protected List<ValueSource> createValueSources( final Model model, final File projectDir, final ProjectBuilderConfiguration config )
+ protected List<ValueSource> createValueSources( final Model model, final File projectDir, final ModelBuildingRequest config )
{
String timestampFormat = DEFAULT_BUILD_TIMESTAMP_FORMAT;
@@ -255,9 +130,8 @@
// NOTE: Order counts here!
valueSources.add( basedirValueSource );
valueSources.add( baseUriValueSource );
- valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), timestampFormat ) );
+ // TODO: valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), timestampFormat ) );
valueSources.add( modelValueSource1 );
- valueSources.add( new MapBasedValueSource( config.getUserProperties() ) );
valueSources.add( new MapBasedValueSource( modelProperties ) );
valueSources.add( new MapBasedValueSource( config.getExecutionProperties() ) );
valueSources.add( new AbstractValueSource( false )
@@ -273,7 +147,7 @@
}
protected List<InterpolationPostProcessor> createPostProcessors( final Model model, final File projectDir,
- final ProjectBuilderConfiguration config )
+ final ModelBuildingRequest config )
{
return Collections.singletonList( (InterpolationPostProcessor) new PathTranslatingPostProcessor(
PROJECT_PREFIXES,
@@ -282,17 +156,14 @@
pathTranslator ) );
}
- @SuppressWarnings("unchecked")
protected String interpolateInternal( String src, List<ValueSource> valueSources,
- List<InterpolationPostProcessor> postProcessors, boolean debug )
+ List<InterpolationPostProcessor> postProcessors )
throws ModelInterpolationException
{
if ( src.indexOf( "${" ) < 0 )
{
return src;
}
-
- Logger logger = getLogger();
String result = src;
synchronized( this )
@@ -319,45 +190,6 @@
throw new ModelInterpolationException( e.getMessage(), e );
}
- if ( debug )
- {
- List<Object> feedback = (List<Object>) interpolator.getFeedback();
- if ( feedback != null && !feedback.isEmpty() )
- {
- logger.debug( "Maven encountered the following problems during initial POM interpolation:" );
-
- Object last = null;
- for ( Object next : feedback )
- {
- if ( next instanceof Throwable )
- {
- if ( last == null )
- {
- logger.debug( "", ( (Throwable) next ) );
- }
- else
- {
- logger.debug( String.valueOf( last ), ( (Throwable) next ) );
- }
- }
- else
- {
- if ( last != null )
- {
- logger.debug( String.valueOf( last ) );
- }
-
- last = next;
- }
- }
-
- if ( last != null )
- {
- logger.debug( String.valueOf( last ) );
- }
- }
- }
-
interpolator.clearFeedback();
}
finally
@@ -388,13 +220,6 @@
}
protected abstract Interpolator createInterpolator();
-
- public void initialize()
- throws InitializationException
- {
- interpolator = createInterpolator();
- recursionInterceptor = new PrefixAwareRecursionInterceptor( PROJECT_PREFIXES );
- }
protected final Interpolator getInterpolator()
{
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java?rev=780749&r1=780665&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/BuildTimestampValueSource.java Mon Jun 1 17:49:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
/*
* Licensed to the Apache Software Foundation (ASF) under one
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolationException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolationException.java?rev=780749&r1=780665&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolationException.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolationException.java Mon Jun 1 17:49:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -28,9 +28,6 @@
public class ModelInterpolationException
extends Exception
{
- private String expression;
-
- private String originalMessage;
public ModelInterpolationException( String message )
{
@@ -42,30 +39,4 @@
super( message, cause );
}
- public ModelInterpolationException( String expression, String message, Throwable cause )
- {
- super( "The POM expression: " + expression + " could not be evaluated. Reason: " + message, cause );
-
- this.expression = expression;
- this.originalMessage = message;
- }
-
- public ModelInterpolationException( String expression, String message )
- {
- super( "The POM expression: " + expression + " could not be evaluated. Reason: " + message );
-
- this.expression = expression;
- this.originalMessage = message;
- }
-
- public String getExpression()
- {
- return expression;
- }
-
- public String getOriginalMessage()
- {
- return originalMessage;
- }
-
}
\ No newline at end of file
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java?rev=780749&r1=780665&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java Mon Jun 1 17:49:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,10 +20,9 @@
*/
import org.apache.maven.model.Model;
-import org.apache.maven.project.ProjectBuilderConfiguration;
+import org.apache.maven.model.ModelBuildingRequest;
import java.io.File;
-import java.util.Map;
/**
* @author jdcasey
@@ -32,34 +31,12 @@
*/
public interface ModelInterpolator
{
+
String DEFAULT_BUILD_TIMESTAMP_FORMAT = "yyyyMMdd-HHmm";
String BUILD_TIMESTAMP_FORMAT_PROPERTY = "maven.build.timestamp.format";
- String ROLE = ModelInterpolator.class.getName();
-
- /**
- * @deprecated Use {@link ModelInterpolator#interpolate(Model, File, ProjectBuilderConfiguration, boolean)} instead.
- */
- Model interpolate( Model project, Map<String, ?> context )
- throws ModelInterpolationException;
-
- /**
- * @deprecated Use {@link ModelInterpolator#interpolate(Model, File, ProjectBuilderConfiguration, boolean)} instead.
- */
- Model interpolate( Model model, Map<String, ?> context, boolean strict )
+ Model interpolateModel( Model model, File projectDir, ModelBuildingRequest request )
throws ModelInterpolationException;
- Model interpolate( Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugEnabled )
- throws ModelInterpolationException;
-
- String interpolate( String src,
- Model model,
- File projectDir,
- ProjectBuilderConfiguration config,
- boolean debugEnabled )
- throws ModelInterpolationException;
-}
\ No newline at end of file
+}
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=780749&r1=780665&r2=780749&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 Mon Jun 1 17:49:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -19,7 +19,7 @@
* under the License.
*/
-import org.apache.maven.project.path.PathTranslator;
+import org.apache.maven.model.path.PathTranslator;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
import org.codehaus.plexus.interpolation.util.ValueSourceUtils;
@@ -47,8 +47,7 @@
this.pathTranslator = pathTranslator;
}
- public Object execute( String expression,
- Object value )
+ public Object execute( String expression, Object value )
{
expression = ValueSourceUtils.trimPrefix( expression, expressionPrefixes, true );
Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java?rev=780749&r1=780665&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/StringSearchModelInterpolator.java Mon Jun 1 17:49:34 2009
@@ -1,13 +1,31 @@
-package org.apache.maven.project.interpolation;
+package org.apache.maven.model.interpolation;
+
+/*
+ * 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 org.apache.maven.model.Model;
-import org.apache.maven.project.ProjectBuilderConfiguration;
-import org.apache.maven.project.path.PathTranslator;
+import org.apache.maven.model.ModelBuildingRequest;
+import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
import org.codehaus.plexus.interpolation.Interpolator;
import org.codehaus.plexus.interpolation.StringSearchInterpolator;
import org.codehaus.plexus.interpolation.ValueSource;
-import org.codehaus.plexus.logging.Logger;
import java.io.File;
import java.lang.reflect.Array;
@@ -21,6 +39,7 @@
import java.util.Map;
import java.util.WeakHashMap;
+@Component( role = ModelInterpolator.class )
public class StringSearchModelInterpolator
extends AbstractStringBasedModelInterpolator
{
@@ -28,25 +47,15 @@
private static final Map<Class<?>, Field[]> fieldsByClass = new WeakHashMap<Class<?>, Field[]>();
private static final Map<Class<?>, Boolean> fieldIsPrimitiveByClass = new WeakHashMap<Class<?>, Boolean>();
- public StringSearchModelInterpolator()
- {
- }
-
- public StringSearchModelInterpolator( PathTranslator pathTranslator )
- {
- super( pathTranslator );
- }
-
- public Model interpolate( Model model, File projectDir, ProjectBuilderConfiguration config, boolean debugEnabled )
+ public Model interpolateModel( Model model, File projectDir, ModelBuildingRequest config )
throws ModelInterpolationException
{
- interpolateObject( model, model, projectDir, config, debugEnabled );
+ interpolateObject( model, model, projectDir, config );
return model;
}
- protected void interpolateObject( Object obj, Model model, File projectDir, ProjectBuilderConfiguration config,
- boolean debugEnabled )
+ protected void interpolateObject( Object obj, Model model, File projectDir, ModelBuildingRequest config )
throws ModelInterpolationException
{
try
@@ -55,11 +64,9 @@
List<InterpolationPostProcessor> postProcessors = createPostProcessors( model, projectDir, config );
InterpolateObjectAction action =
- new InterpolateObjectAction( obj, valueSources, postProcessors, debugEnabled,
- this, getLogger() );
+ new InterpolateObjectAction( obj, valueSources, postProcessors, this );
- ModelInterpolationException error =
- (ModelInterpolationException) AccessController.doPrivileged( action );
+ ModelInterpolationException error = AccessController.doPrivileged( action );
if ( error != null )
{
@@ -83,26 +90,22 @@
private static final class InterpolateObjectAction implements PrivilegedAction<ModelInterpolationException>
{
- private final boolean debugEnabled;
private final LinkedList<Object> interpolationTargets;
private final StringSearchModelInterpolator modelInterpolator;
- private final Logger logger;
private final List<ValueSource> valueSources;
private final List<InterpolationPostProcessor> postProcessors;
public InterpolateObjectAction( Object target, List<ValueSource> valueSources,
- List<InterpolationPostProcessor> postProcessors, boolean debugEnabled,
- StringSearchModelInterpolator modelInterpolator, Logger logger )
+ List<InterpolationPostProcessor> postProcessors,
+ StringSearchModelInterpolator modelInterpolator )
{
this.valueSources = valueSources;
this.postProcessors = postProcessors;
- this.debugEnabled = debugEnabled;
this.interpolationTargets = new LinkedList<Object>();
interpolationTargets.add( target );
this.modelInterpolator = modelInterpolator;
- this.logger = logger;
}
public ModelInterpolationException run()
@@ -140,7 +143,7 @@
}
else if ( isQualifiedForInterpolation( cls ) )
{
- Field[] fields = (Field[]) fieldsByClass.get( cls );
+ Field[] fields = fieldsByClass.get( cls );
if ( fields == null )
{
fields = cls.getDeclaredFields();
@@ -163,7 +166,7 @@
String value = (String) fields[i].get( target );
if ( value != null )
{
- String interpolated = modelInterpolator.interpolateInternal( value, valueSources, postProcessors, debugEnabled );
+ String interpolated = modelInterpolator.interpolateInternal( value, valueSources, postProcessors );
if ( !interpolated.equals( value ) )
{
@@ -183,10 +186,6 @@
}
catch( UnsupportedOperationException e )
{
- if ( debugEnabled && logger != null )
- {
- logger.debug( "Skipping interpolation of field: " + fields[i] + " in: " + cls.getName() + "; it is an unmodifiable collection." );
- }
continue;
}
@@ -196,7 +195,7 @@
{
if( String.class == value.getClass() )
{
- String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
+ String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors );
if ( !interpolated.equals( value ) )
{
@@ -241,7 +240,7 @@
{
if( String.class == value.getClass() )
{
- String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
+ String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors );
if ( !interpolated.equals( value ) )
{
@@ -251,10 +250,6 @@
}
catch( UnsupportedOperationException e )
{
- if ( debugEnabled && logger != null )
- {
- logger.debug( "Skipping interpolation of field: " + fields[i] + " (key: " + entry.getKey() + ") in: " + cls.getName() + "; it is an unmodifiable collection." );
- }
continue;
}
}
@@ -322,7 +317,7 @@
fieldIsPrimitiveByClass.put( fieldType, Boolean.valueOf( fieldType.isPrimitive() ) );
}
- if ( ((Boolean) fieldIsPrimitiveByClass.get( fieldType )).booleanValue() )
+ if ( fieldIsPrimitiveByClass.get( fieldType ).booleanValue() )
{
return false;
}
@@ -351,7 +346,7 @@
{
if ( String.class == value.getClass() )
{
- String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
+ String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors );
if ( !interpolated.equals( value ) )
{
Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?rev=780749&r1=780748&r2=780749&view=diff
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Mon Jun 1 17:49:34 2009
@@ -52,7 +52,7 @@
<easyMockVersion>1.2_Java1.3</easyMockVersion>
<junitVersion>3.8.1</junitVersion>
<plexusVersion>1.0-beta-3.0.8-SNAPSHOT</plexusVersion>
- <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
+ <plexusInterpolationVersion>1.8.1</plexusInterpolationVersion>
<plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
<plexusUtilsVersion>1.5.8</plexusUtilsVersion>
<plexusJetty6Version>1.6</plexusJetty6Version>