]> source.dussan.org Git - archiva.git/blob
4e5acdddbba178a3f1b8dfebaf62c0de119184a3
[archiva.git] /
1 package org.apache.maven.archiva.reporting.group;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.maven.archiva.reporting.processor.ArtifactReportProcessor;
23 import org.apache.maven.archiva.reporting.processor.MetadataReportProcessor;
24 import org.apache.maven.artifact.Artifact;
25 import org.apache.maven.artifact.repository.ArtifactRepository;
26 import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
27 import org.apache.maven.model.Model;
28
29 import java.util.Iterator;
30 import java.util.Map;
31
32 /**
33  * Basic functionality for all report groups.
34  */
35 public abstract class AbstractReportGroup
36     implements ReportGroup
37 {
38     /**
39      * @plexus.requirement role="org.apache.maven.archiva.reporting.processor.ArtifactReportProcessor"
40      */
41     private Map artifactReports;
42
43     /**
44      * @plexus.requirement role="org.apache.maven.archiva.reporting.processor.MetadataReportProcessor"
45      */
46     private Map metadataReports;
47
48     public void processArtifact( Artifact artifact, Model model )
49     {
50         for ( Iterator i = artifactReports.entrySet().iterator(); i.hasNext(); )
51         {
52             Map.Entry entry = (Map.Entry) i.next();
53
54             if ( includeReport( (String) entry.getKey() ) )
55             {
56                 ArtifactReportProcessor report = (ArtifactReportProcessor) entry.getValue();
57
58                 report.processArtifact( artifact, model );
59             }
60         }
61     }
62
63     public void processMetadata( RepositoryMetadata repositoryMetadata, ArtifactRepository repository )
64     {
65         for ( Iterator i = metadataReports.entrySet().iterator(); i.hasNext(); )
66         {
67             Map.Entry entry = (Map.Entry) i.next();
68
69             if ( includeReport( (String) entry.getKey() ) )
70             {
71                 MetadataReportProcessor report = (MetadataReportProcessor) entry.getValue();
72
73                 report.processMetadata( repositoryMetadata, repository );
74             }
75         }
76     }
77
78     public String toString()
79     {
80         return getName();
81     }
82 }