[jboss-cvs] JBossAS SVN: r65505 - projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 20 12:36:44 EDT 2007


Author: wolfc
Date: 2007-09-20 12:36:44 -0400 (Thu, 20 Sep 2007)
New Revision: 65505

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
Log:
Retain original order after merge

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-09-20 16:36:20 UTC (rev 65504)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/support/JavaEEMetaDataUtil.java	2007-09-20 16:36:44 UTC (rev 65505)
@@ -81,39 +81,33 @@
          return mapped;
       }
       
-      // Check the overrides
-      if (mapped != null && mapped.isEmpty() == false)
+      // Wolf: I want to maintain the order of originals (/ override)
+      // Process the originals
+      for(T original : overriden)
       {
-         for (T t : mapped)
+         String key = original.getKey();
+         if(mapped != null && mapped.containsKey(key))
          {
-            String key = t.getKey();
-            T original = overriden.get(key);
-            if (original == null)
-            {
-               if (mustOverride)
-                  throw new IllegalStateException(key + " in " + overrideFile + ", but not in "+ overridenFile);
-               else
-                  merged.add(t);
-            }
-            else
-            {
-               T merge = t.merge(original);
-               merged.add(merge);
-            }
+            T override = mapped.get(key);
+            merged.add(override.merge(original));
          }
+         else
+         {
+            merged.add(original);
+         }
       }
-
-      // Process the originals
-      if (overriden != null)
+      
+      // Process the remaining overrides
+      if(mapped != null)
       {
-         for (T t : overriden)
+         for(T override : mapped)
          {
-            // Add if no override
-            String key = t.getKey();
-            if (merged.get(key) == null)
-            {
-               merged.add(t);
-            }
+            String key = override.getKey();
+            if(merged.containsKey(key))
+               continue;
+            if(mustOverride)
+               throw new IllegalStateException(key + " in " + overrideFile + ", but not in "+ overridenFile);
+            merged.add(override);
          }
       }
       




More information about the jboss-cvs-commits mailing list