]> source.dussan.org Git - archiva.git/blob
a5b758c4b32c248e41ed0de72b8b32741386a4ef
[archiva.git] /
1 package org.apache.maven.archiva.converter.legacy;
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.common.consumers.GenericArtifactConsumer;
23 import org.apache.maven.archiva.common.utils.BaseFile;
24 import org.apache.maven.archiva.converter.ConversionListener;
25 import org.apache.maven.archiva.converter.RepositoryConversionException;
26 import org.apache.maven.archiva.converter.RepositoryConverter;
27 import org.apache.maven.artifact.Artifact;
28 import org.apache.maven.artifact.repository.ArtifactRepository;
29
30 /**
31  * LegacyConverterArtifactConsumer - convert artifacts as they are found
32  * into the destination repository. 
33  *
34  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
35  * @version $Id$
36  * 
37  * @plexus.component role="org.apache.maven.archiva.common.consumers.Consumers"
38  *     role-hint="legacy-converter"
39  *     instantiation-strategy="per-lookup"
40  */
41 public class LegacyConverterArtifactConsumer
42     extends GenericArtifactConsumer
43 {
44     /**
45      * @plexus.requirement
46      */
47     private RepositoryConverter repositoryConverter;
48
49     private ArtifactRepository destinationRepository;
50
51     public void processArtifact( Artifact artifact, BaseFile file )
52     {
53         try
54         {
55             repositoryConverter.convert( artifact, destinationRepository );
56         }
57         catch ( RepositoryConversionException e )
58         {
59             getLogger().error(
60                                "Unable to convert artifact " + artifact + " to destination repository "
61                                    + destinationRepository, e );
62         }
63     }
64
65     public void processFileProblem( BaseFile path, String message )
66     {
67         getLogger().error( "Artifact Build Failure on " + path + " : " + message );
68         // TODO: report this to the ConversionListener?
69     }
70
71     public ArtifactRepository getDestinationRepository()
72     {
73         return destinationRepository;
74     }
75
76     public void setDestinationRepository( ArtifactRepository destinationRepository )
77     {
78         this.destinationRepository = destinationRepository;
79     }
80     
81     public String getName()
82     {
83         return "Legacy Artifact Converter Consumer";
84     }
85     
86     /**
87      * Add a listener to the conversion process.
88      * 
89      * @param listener the listener to add.
90      */
91     public void addConversionListener( ConversionListener listener )
92     {
93         repositoryConverter.addConversionListener( listener );
94     }
95
96     /**
97      * Remove a listener from the conversion process.
98      * 
99      * @param listener the listener to remove.
100      */
101     public void removeConversionListener( ConversionListener listener )
102     {
103         repositoryConverter.removeConversionListener( listener );
104     }    
105 }