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/17 00:02:18 UTC
svn commit: r677444 -
/maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
Author: sisbell
Date: Wed Jul 16 15:02:18 2008
New Revision: 677444
URL: http://svn.apache.org/viewvc?rev=677444&view=rev
Log:
Sorts collection back into original order.
Modified:
maven/sandbox/trunk/shared/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.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=677444&r1=677443&r2=677444&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 Wed Jul 16 15:02:18 2008
@@ -62,7 +62,7 @@
for (ModelContainerFactory factory : factories) {
for (String uri : factory.getUris()) {
- List<ModelContainer> modelContainers = null;
+ List<ModelContainer> modelContainers;
try {
modelContainers = modelDataSource.queryFor(uri);
} catch (IllegalArgumentException e) {
@@ -114,18 +114,18 @@
unresolvedProperties.add(mp);
}
}
- /*
- System.out.println("Properties: " + properties.size());
+
for (InterpolatorProperty ip : properties) {
for (ModelProperty mp : unresolvedProperties) {
- System.out.println(ip);
- mp.resolveWith(ip);
- System.out.println(mp);
- System.out.println("-------------------");
+ // mp.resolveWith(ip);
+ // System.out.println(mp);
+ // System.out.println("-------------------");
}
}
- */
+
+
+ mps = reverseSort(mps);
try {
validate(mps);
@@ -186,8 +186,42 @@
int pst = position.indexOf(parentUri) + 1;
processedProperties.add(pst, p);
position.add(pst, uri);
+ }
+ }
+ logger.info("Properties removed through sort: " + (properties.size() - processedProperties.size()));
+ return processedProperties;
+ }
+
+ protected List<ModelProperty> reverseSort(List<ModelProperty> properties) {
+ if (properties == null) {
+ throw new IllegalArgumentException("properties");
+ }
+ LinkedList<ModelProperty> processedProperties = new LinkedList<ModelProperty>();
+
+ int currentIndex = -1;
+ String currentUri = "";
+ for (ModelProperty p : properties) {
+ String uri = p.getUri();
+ String parentUri = uri.substring(0, uri.lastIndexOf("/"));
+
+ if (parentUri.endsWith("#collection")) {
+ for (int j = processedProperties.size(); j >= 0; j--) {
+ if (properties.get(j).getUri().equals(parentUri)) {
+ currentIndex = j + 1;
+ break;
+ }
+ }
+ currentUri = p.getUri();
+ processedProperties.add(currentIndex, p);
+ } else if(p.getUri().startsWith(currentUri)){
+ currentIndex++;
+ processedProperties.add(currentIndex, p);
+ } else {
+ currentIndex++;
+ processedProperties.add(p);
}
}
+ logger.info("Properties removed through reverse sort: " + (properties.size() - processedProperties.size()));
return processedProperties;
}