You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/07/19 18:25:12 UTC

svn commit: r678182 - in /maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model: ModelTransformerContext.java impl/DefaultModelDataSource.java

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;
     }