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;


Reply via email to