Author: sisbell
Date: Sun Nov 9 23:23:45 2008
New Revision: 712621
URL: http://svn.apache.org/viewvc?rev=712621&view=rev
Log:
Fix for IT 3821.
Added:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java?rev=712621&r1=712620&r2=712621&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/IdModelContainerFactory.java
Sun Nov 9 23:23:45 2008
@@ -36,7 +36,7 @@
private static final Collection<String> uris =
Collections.unmodifiableList( Arrays.asList(
ProjectUri.PluginRepositories.PluginRepository.xUri,
ProjectUri.Repositories.Repository.xUri,
- ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.xUri,
ProjectUri.Profiles.Profile.xUri) );
+ ProjectUri.Profiles.Profile.xUri) );
public Collection<String> getUris()
{
Added:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java?rev=712621&view=auto
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java
(added)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PluginReportSetIdModelContainerFactory.java
Sun Nov 9 23:23:45 2008
@@ -0,0 +1,84 @@
+package org.apache.maven.project.builder;
+
+import org.apache.maven.shared.model.ModelContainer;
+import org.apache.maven.shared.model.ModelProperty;
+import org.apache.maven.shared.model.ModelContainerAction;
+import org.apache.maven.shared.model.ModelContainerFactory;
+
+import java.util.*;
+
+public class PluginReportSetIdModelContainerFactory implements
ModelContainerFactory {
+
+ private static final Collection<String> uris =
Collections.unmodifiableList(Arrays.asList(
+ ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.xUri));
+
+ public Collection<String> getUris() {
+ return uris;
+ }
+
+ public ModelContainer create(List<ModelProperty> modelProperties) {
+ if ( modelProperties == null || modelProperties.size() == 0 )
+ {
+ throw new IllegalArgumentException( "modelProperties: null or
empty" );
+ }
+ return new PluginReportSetIdModelContainer( modelProperties );
+ }
+
+ private static class PluginReportSetIdModelContainer
+ implements ModelContainer
+ {
+
+ private String id;
+
+ private List<ModelProperty> properties;
+
+ private PluginReportSetIdModelContainer( List<ModelProperty>
properties )
+ {
+ this.properties = new ArrayList<ModelProperty>( properties );
+ this.properties = Collections.unmodifiableList( this.properties );
+
+ for ( ModelProperty mp : properties )
+ {
+ if ( mp.getUri().endsWith( "/id" ) )
+ {
+ this.id = mp.getResolvedValue();
+ }
+ }
+ }
+
+ public ModelContainerAction containerAction( ModelContainer
modelContainer )
+ {
+ if ( modelContainer == null )
+ {
+ throw new IllegalArgumentException( "modelContainer: null" );
+ }
+
+ if ( !( modelContainer instanceof PluginReportSetIdModelContainer
) )
+ {
+ throw new IllegalArgumentException( "modelContainer: wrong
type" );
+ }
+
+ PluginReportSetIdModelContainer c =
(PluginReportSetIdModelContainer) modelContainer;
+ if ( c.id == null || id == null )
+ {
+ return ModelContainerAction.NOP;
+ }
+ return ( c.id.equals( id ) ) ? ModelContainerAction.JOIN :
ModelContainerAction.NOP;
+ }
+
+ public ModelContainer createNewInstance( List<ModelProperty>
modelProperties )
+ {
+ return new PluginReportSetIdModelContainer( modelProperties );
+ }
+
+ public List<ModelProperty> getProperties()
+ {
+ return properties;
+ }
+
+ public String toString()
+ {
+ return "ID = " + id;
+ }
+ }
+}