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/11/05 14:15:59 UTC

svn commit: r833044 - /maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java

Author: bentmann
Date: Thu Nov  5 13:15:54 2009
New Revision: 833044

URL: http://svn.apache.org/viewvc?rev=833044&view=rev
Log:
o Tuned code

Modified:
    maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java

Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java?rev=833044&r1=833043&r2=833044&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java (original)
+++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/normalization/DefaultModelNormalizer.java Thu Nov  5 13:15:54 2009
@@ -52,10 +52,10 @@
         Build build = model.getBuild();
         if ( build != null )
         {
-            List<Plugin> original = build.getPlugins();
-            Map<Object, Plugin> normalized = new LinkedHashMap<Object, Plugin>();
+            List<Plugin> plugins = build.getPlugins();
+            Map<Object, Plugin> normalized = new LinkedHashMap<Object, Plugin>( plugins.size() * 2 );
 
-            for ( Plugin plugin : original )
+            for ( Plugin plugin : plugins )
             {
                 Object key = plugin.getKey();
                 Plugin first = normalized.get( key );
@@ -66,7 +66,10 @@
                 normalized.put( key, plugin );
             }
 
-            build.setPlugins( new ArrayList<Plugin>( normalized.values() ) );
+            if ( plugins.size() != normalized.size() )
+            {
+                build.setPlugins( new ArrayList<Plugin>( normalized.values() ) );
+            }
         }
 
         /*
@@ -76,12 +79,18 @@
          * the way 2.x works. When we're in strict mode, the removal of duplicates just saves other merging steps from
          * aftereffects and bogus error messages.
          */
-        Map<String, Dependency> dependencies = new LinkedHashMap<String, Dependency>();
-        for ( Dependency dependency : model.getDependencies() )
+        List<Dependency> dependencies = model.getDependencies();
+        Map<String, Dependency> normalized = new LinkedHashMap<String, Dependency>( dependencies.size() * 2 );
+
+        for ( Dependency dependency : dependencies )
+        {
+            normalized.put( dependency.getManagementKey(), dependency );
+        }
+
+        if ( dependencies.size() != normalized.size() )
         {
-            dependencies.put( dependency.getManagementKey(), dependency );
+            model.setDependencies( new ArrayList<Dependency>( normalized.values() ) );
         }
-        model.setDependencies( new ArrayList<Dependency>( dependencies.values() ) );
     }
 
     private static class DuplicateMerger