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