Author: bentmann Date: Fri Aug 19 13:17:41 2011 New Revision: 1159625 URL: http://svn.apache.org/viewvc?rev=1159625&view=rev Log: [MNG-5155] 'inherited' flag of report sets ignored
Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java Modified: maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java?rev=1159625&r1=1159624&r2=1159625&view=diff ============================================================================== --- maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java (original) +++ maven/maven-3/trunk/maven-model-builder/src/main/java/org/apache/maven/model/merge/MavenModelMerger.java Fri Aug 19 13:17:41 2011 @@ -551,6 +551,40 @@ public class MavenModelMerger } @Override + protected void mergeReportPlugin_ReportSets( ReportPlugin target, ReportPlugin source, boolean sourceDominant, + Map<Object, Object> context ) + { + List<ReportSet> src = source.getReportSets(); + if ( !src.isEmpty() ) + { + List<ReportSet> tgt = target.getReportSets(); + Map<Object, ReportSet> merged = new LinkedHashMap<Object, ReportSet>( ( src.size() + tgt.size() ) * 2 ); + + for ( ReportSet element : src ) + { + if ( sourceDominant || ( element.getInherited() != null ? element.isInherited() : source.isInherited() ) ) + { + Object key = getReportSetKey( element ); + merged.put( key, element ); + } + } + + for ( ReportSet element : tgt ) + { + Object key = getReportSetKey( element ); + ReportSet existing = merged.get( key ); + if ( existing != null ) + { + mergeReportSet( element, existing, sourceDominant, context ); + } + merged.put( key, element ); + } + + target.setReportSets( new ArrayList<ReportSet>( merged.values() ) ); + } + } + + @Override protected Object getDependencyKey( Dependency dependency ) { return dependency.getManagementKey();