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/17 23:09:59 UTC

svn commit: r785804 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java

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;