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/11/29 02:40:49 UTC

svn commit: r721607 [3/3] - in /maven/shared/trunk/maven-shared-model/src: main/java/org/apache/maven/shared/model/ main/java/org/apache/maven/shared/model/impl/ test/java/org/apache/maven/shared/model/ test/java/org/apache/maven/shared/model/impl/

Modified: maven/shared/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/impl/DefaultModelDataSourceTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/impl/DefaultModelDataSourceTest.java?rev=721607&r1=721606&r2=721607&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/impl/DefaultModelDataSourceTest.java (original)
+++ maven/shared/trunk/maven-shared-model/src/test/java/org/apache/maven/shared/model/impl/DefaultModelDataSourceTest.java Fri Nov 28 17:40:49 2008
@@ -19,12 +19,7 @@
  * under the License.
  */
 
-import org.apache.maven.shared.model.DataSourceException;
-import org.apache.maven.shared.model.ModelContainer;
-import org.apache.maven.shared.model.ModelContainerAction;
-import org.apache.maven.shared.model.ModelContainerFactory;
-import org.apache.maven.shared.model.ModelDataSource;
-import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.*;
 import static org.junit.Assert.*;
 import org.junit.Test;
 
@@ -44,6 +39,48 @@
         factories.add( new DummyModelContainerFactory() );
     }
 
+     @Test
+    public void verifyQueryDoesNotModifyURI() throws IOException {
+        List<ModelProperty> mp = new ArrayList<ModelProperty>();
+        mp.add(new ModelProperty(ProjectUri.xUri, null));
+        mp.add(new ModelProperty(ProjectUri.Build.xUri, null));
+        mp.add(new ModelProperty(ProjectUri.Build.PluginManagement.xUri, null));
+        mp.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.xUri, null));
+
+        List<ModelProperty> pluginProperties = new ArrayList<ModelProperty>();
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri, null));
+
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.xUri, null));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.xUri, null));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.id, "site-docs"));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.phase, "phase"));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.Goals.xURI, null));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.Goals.goal, "xdoc"));
+        pluginProperties.add(new ModelProperty(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.Goals.goal, "xsd"));
+
+         List<ModelProperty> init = new ArrayList<ModelProperty>();
+         init.addAll(mp);
+         init.addAll(pluginProperties);
+         
+        DefaultModelDataSource datasource = new DefaultModelDataSource();
+        datasource.init( init, factories );
+
+        List<ModelContainer> containers = datasource.queryFor(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.xUri);
+        assertTrue(containsUri(ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.Goals.xURI, containers));
+     }
+
+    private static boolean containsUri(String a,  List<ModelContainer> containers) {
+         for(ModelContainer mc : containers) {
+             for(ModelProperty mps : mc.getProperties()) {
+                if(mps.getUri().equals(a))
+                {
+                    return true;
+                }
+             }
+         }
+        return false;
+    }
+
     @Test
     public void mergeModelContainersSetWithAppendChild() {
         ModelProperty dup0 = new ModelProperty( "http://apache.org/maven/project", null );
@@ -460,7 +497,7 @@
 
         public Collection<String> getUris()
         {
-            return Arrays.asList( "container-marker" );
+            return Arrays.asList( "container-marker", ProjectUri.Build.PluginManagement.Plugins.Plugin.Executions.Execution.xUri );
         }
 
         public ModelContainer create( final List<ModelProperty> modelProperties )