Author: bentmann
Date: Wed Jun 17 21:09:59 2009
New Revision: 785804
URL: http://svn.apache.org/viewvc?rev=785804&view=rev
Log:
[MNG-2293] maven-plugin-descriptor: Not possible to define a default
implementation for a field defined by its interface
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=785804&r1=785803&r2=785804&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Wed Jun 17 21:09:59 2009
@@ -499,7 +499,7 @@
{
Xpp3Dom mojoConfiguration = new Xpp3Dom(
executionConfiguration.getName() );
- Collection<String> mojoParameters =
mojoDescriptor.getParameterMap().keySet();
+ Map<String, Parameter> mojoParameters =
mojoDescriptor.getParameterMap();
Map<String, String> aliases = new HashMap<String, String>();
if ( mojoDescriptor.getParameters() != null )
@@ -519,28 +519,28 @@
Xpp3Dom executionDom = executionConfiguration.getChild( i );
String paramName = executionDom.getName();
- if ( mojoParameters.contains( paramName ) )
+ Xpp3Dom mojoDom;
+
+ if ( mojoParameters.containsKey( paramName ) )
{
- Xpp3Dom mojoDom = new Xpp3Dom( executionDom );
- mojoConfiguration.addChild( mojoDom );
+ mojoDom = new Xpp3Dom( executionDom );
}
else if ( aliases.containsKey( paramName ) )
{
- Xpp3Dom mojoDom = new Xpp3Dom( aliases.get( paramName ) );
- mojoDom.setValue( executionDom.getValue() );
-
- for ( String attributeName : executionDom.getAttributeNames() )
- {
- mojoDom.setAttribute( attributeName,
executionDom.getAttribute( attributeName ) );
- }
-
- for ( Xpp3Dom child : executionDom.getChildren() )
- {
- mojoDom.addChild( new Xpp3Dom( child ) );
- }
+ mojoDom = new Xpp3Dom( executionDom, aliases.get( paramName )
);
+ }
+ else
+ {
+ continue;
+ }
- mojoConfiguration.addChild( mojoDom );
+ String implementation = mojoParameters.get( mojoDom.getName()
).getImplementation();
+ if ( StringUtils.isNotEmpty( implementation ) )
+ {
+ mojoDom.setAttribute( "implementation", implementation );
}
+
+ mojoConfiguration.addChild( mojoDom );
}
return mojoConfiguration;