[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