Author: sisbell
Date: Tue Aug 26 21:50:45 2008
New Revision: 689358

URL: http://svn.apache.org/viewvc?rev=689358&view=rev
Log:
Fixed a number of issues related to proper sorting, merging of properties.

Modified:
    
maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java
    
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/ModelProperty.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java?rev=689358&r1=689357&r2=689358&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java
 (original)
+++ 
maven/shared/trunk/maven-shared-model/src/main/java/org/apache/maven/shared/model/ModelProperty.java
 Tue Aug 26 21:50:45 2008
@@ -85,7 +85,22 @@
                 unresolvedExpressions.add( matcher.group( 0 ) );
             }
         }
-        depth = uri.split( "/" ).length;
+
+        String uriWithoutProperty;
+        int index =  uri.lastIndexOf( "/" );
+        if(index > -1) {
+            uriWithoutProperty = uri.substring( 0, uri.lastIndexOf( "/" ) );
+            if(uriWithoutProperty.endsWith("#property"))
+            {
+                uriWithoutProperty = uriWithoutProperty.substring( 0, 
uriWithoutProperty.lastIndexOf( "/" ) );
+            }
+        }
+        else
+        {
+            uriWithoutProperty = uri;
+        }
+
+        depth = uriWithoutProperty.split( "/" ).length;
     }
 
     /**

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=689358&r1=689357&r2=689358&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
 Tue Aug 26 21:50:45 2008
@@ -299,7 +299,13 @@
         for ( ModelProperty p : properties )
         {
             String uri = p.getUri();
-            String parentUri = uri.substring( 0, uri.lastIndexOf( "/" ) 
).replaceAll( "#property", "" );
+            String parentUri = uri.substring( 0, uri.lastIndexOf( "/" ) );
+            if(parentUri.endsWith("#property") && !parentUri.substring( 0, 
parentUri.lastIndexOf( "/" )).equals(baseUri))
+            {
+                parentUri = parentUri.substring( 0, parentUri.lastIndexOf( "/" 
) );
+            }
+            parentUri = parentUri.replaceAll("#property", "");
+
             if ( !projectIsContained && uri.equals( baseUri ) )
             {
                 projectIsContained = true;
@@ -309,6 +315,11 @@
             else if ( !position.contains( uri ) || parentUri.contains( 
"#collection" ) || parentUri.contains( "#set" ) )
             {
                 int pst = position.indexOf( parentUri ) + 1;
+                if(pst == 0 && !uri.equals(properties.get(0).getUri()) )
+                {
+                    throw new IllegalArgumentException("Could not locate 
parent: Parent URI = " + parentUri
+                            + ": Child - " + p.toString());
+                }
                 processedProperties.add( pst, p );
                 position.add( pst, uri );
             }


Reply via email to