Author: sisbell
Date: Sat Jul 19 09:25:06 2008
New Revision: 678182

URL: http://svn.apache.org/viewvc?rev=678182&view=rev
Log:
Support for #property/combine.children. Fixes IT0060.

Modified:
    
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
    
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java

Modified: 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java?rev=678182&r1=678181&r2=678182&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
 Sat Jul 19 09:25:06 2008
@@ -178,7 +178,7 @@
                 projectIsContained = true;
                 processedProperties.add(p);
                 position.add(0, uri);
-            } else if (!position.contains(uri) || 
(parentUri.contains("#collection"))) {
+            } else if (!position.contains(uri) || 
parentUri.contains("#collection")) {
                 int pst = position.indexOf(parentUri) + 1;
                 processedProperties.add(pst, p);
                 position.add(pst, uri);

Modified: 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java?rev=678182&r1=678181&r2=678182&view=diff
==============================================================================
--- 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
 (original)
+++ 
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/impl/DefaultModelDataSource.java
 Sat Jul 19 09:25:06 2008
@@ -251,6 +251,14 @@
         m.addAll(a.getProperties());
         m.addAll(b.getProperties());
 
+        List<String> combineChildrenUris = new ArrayList<String>();
+        for(ModelProperty mp: m) {
+            String x = mp.getUri();
+            if(x.endsWith("#property/combine.children") && 
mp.getValue().equals("append")) {
+                combineChildrenUris.add(x.substring(0, x.length() - 26));    
+            }
+        }
+
         LinkedList<ModelProperty> processedProperties = new 
LinkedList<ModelProperty>();
         List<String> uris = new ArrayList<String>();
         String baseUri = a.getProperties().get(0).getUri();
@@ -261,11 +269,13 @@
                         + ", ModelProperty = " + p);
             }
             String subUri = p.getUri().substring(baseUri.length(), 
modelPropertyLength );
+
             if (!uris.contains(p.getUri())
-                    || (subUri.contains("#collection") && 
!subUri.endsWith("#collection"))) {
+                    || (subUri.contains("#collection") && 
!subUri.endsWith("#collection"))
+                    && (!combineChildrenUris.contains(p.getUri()) || 
p.getUri().endsWith("#property/combine.children"))) {
                 processedProperties.add(findLastIndexOfParent(p, 
processedProperties) + 1, p);
                 uris.add(p.getUri());
-            }
+            } 
         }
         return processedProperties;
     }


Reply via email to