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/08/29 19:19:58 UTC
svn commit: r690340 -
/maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
Author: sisbell
Date: Fri Aug 29 10:19:57 2008
New Revision: 690340
URL: http://svn.apache.org/viewvc?rev=690340&view=rev
Log:
Fix: There may be empty tags, containing empty tags. Now removes entire parent node.
Modified:
maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
Modified: maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java?rev=690340&r1=690339&r2=690340&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java (original)
+++ maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelTransformerContext.java Fri Aug 29 10:19:57 2008
@@ -123,15 +123,7 @@
List<ModelProperty> transformedProperties =
importModelProperties(importModels, fromModelTransformer.transformToModelProperties( domainModels ));
- List<ModelProperty> emptyTags = new ArrayList<ModelProperty>();
- for(ModelProperty mp: transformedProperties)
- {
- if(isEmptyTag(mp, transformedProperties))
- {
- emptyTags.add(mp);
- }
- }
- transformedProperties.removeAll(emptyTags);
+ transformedProperties.removeAll(findEmptyTags(transformedProperties));
String baseUriForModel = fromModelTransformer.getBaseUri();
List<ModelProperty> modelProperties =
@@ -325,6 +317,23 @@
}
return processedProperties;
}
+
+ private List<ModelProperty> findEmptyTags(List<ModelProperty> modelProperties)
+ {
+ List<ModelProperty> props = new ArrayList<ModelProperty>(modelProperties);
+ List<ModelProperty> emptyTags = new ArrayList<ModelProperty>();
+ for(ModelProperty mp: props)
+ {
+ if(isEmptyTag(mp, props))
+ {
+ emptyTags.add(mp);
+ props.remove(mp);
+ emptyTags.addAll(findEmptyTags(props));
+ break;
+ }
+ }
+ return emptyTags;
+ }
private static boolean isEmptyTag(ModelProperty modelProperty, List<ModelProperty> modelProperties)
{
@@ -344,7 +353,7 @@
String uri = modelProperty.getUri();
for(ModelProperty mp: modelProperties) {
- if(mp.getUri().startsWith(uri))
+ if(mp.getUri().startsWith(uri) && !mp.equals(modelProperty))
{
return false;
}