View Javadoc
1   package org.apache.maven.plugins.gpg;
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 java.io.File;
23  import java.util.ArrayList;
24  import java.util.Collection;
25  import java.util.List;
26  
27  import org.apache.maven.artifact.Artifact;
28  import org.apache.maven.artifact.handler.ArtifactHandler;
29  import org.apache.maven.artifact.metadata.ArtifactMetadata;
30  import org.apache.maven.artifact.repository.ArtifactRepository;
31  import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
32  import org.apache.maven.artifact.versioning.ArtifactVersion;
33  import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
34  import org.apache.maven.artifact.versioning.VersionRange;
35  
36  /**
37   * A wrapper class for attached artifacts which have a GPG signature. Needed as attached artifacts in general do not
38   * have metadata.
39   */
40  public class AttachedSignedArtifact
41      implements Artifact
42  {
43      private final Artifact delegate;
44  
45      private final AscArtifactMetadata signature;
46  
47      public AttachedSignedArtifact( Artifact delegate, AscArtifactMetadata signature )
48      {
49          this.delegate = delegate;
50          this.signature = signature;
51      }
52  
53      @Override
54      public void setArtifactId( String artifactId )
55      {
56          delegate.setArtifactId( artifactId );
57      }
58  
59      @Override
60      public List<ArtifactVersion> getAvailableVersions()
61      {
62          return delegate.getAvailableVersions();
63      }
64  
65      @Override
66      public void setAvailableVersions( List<ArtifactVersion> availableVersions )
67      {
68          delegate.setAvailableVersions( availableVersions );
69      }
70  
71      @Override
72      public String getBaseVersion()
73      {
74          return delegate.getBaseVersion();
75      }
76  
77      @Override
78      public void setBaseVersion( String baseVersion )
79      {
80          delegate.setBaseVersion( baseVersion );
81      }
82  
83      @Override
84      public String getDownloadUrl()
85      {
86          return delegate.getDownloadUrl();
87      }
88  
89      @Override
90      public void setDownloadUrl( String downloadUrl )
91      {
92          delegate.setDownloadUrl( downloadUrl );
93      }
94  
95      @Override
96      public void setGroupId( String groupId )
97      {
98          delegate.setGroupId( groupId );
99      }
100 
101     @Override
102     public ArtifactRepository getRepository()
103     {
104         return delegate.getRepository();
105     }
106 
107     @Override
108     public void setRepository( ArtifactRepository repository )
109     {
110         delegate.setRepository( repository );
111     }
112 
113     @Override
114     public String getScope()
115     {
116         return delegate.getScope();
117     }
118 
119     @Override
120     public void setScope( String scope )
121     {
122         delegate.setScope( scope );
123     }
124 
125     @Override
126     public String getVersion()
127     {
128         return delegate.getVersion();
129     }
130 
131     @Override
132     public void setVersion( String version )
133     {
134         delegate.setVersion( version );
135     }
136 
137     @Override
138     public VersionRange getVersionRange()
139     {
140         return delegate.getVersionRange();
141     }
142 
143     @Override
144     public void setVersionRange( VersionRange range )
145     {
146         delegate.setVersionRange( range );
147     }
148 
149     @Override
150     public boolean isRelease()
151     {
152         return delegate.isRelease();
153     }
154 
155     @Override
156     public void setRelease( boolean release )
157     {
158         delegate.setRelease( release );
159     }
160 
161     @Override
162     public boolean isSnapshot()
163     {
164         return delegate.isSnapshot();
165     }
166 
167     @Override
168     public void addMetadata( ArtifactMetadata metadata )
169     {
170         delegate.addMetadata( metadata );
171     }
172 
173     @Override
174     public String getClassifier()
175     {
176         return delegate.getClassifier();
177     }
178 
179     @Override
180     public boolean hasClassifier()
181     {
182         return delegate.hasClassifier();
183     }
184 
185     @Override
186     public String getGroupId()
187     {
188         return delegate.getGroupId();
189     }
190 
191     @Override
192     public String getArtifactId()
193     {
194         return delegate.getArtifactId();
195     }
196 
197     @Override
198     public String getType()
199     {
200         return delegate.getType();
201     }
202 
203     @Override
204     public void setFile( File file )
205     {
206         delegate.setFile( file );
207     }
208 
209     @Override
210     public File getFile()
211     {
212         return delegate.getFile();
213     }
214 
215     @Override
216     public String getId()
217     {
218         return delegate.getId();
219     }
220 
221     @Override
222     public String getDependencyConflictId()
223     {
224         return delegate.getDependencyConflictId();
225     }
226 
227     @Override
228     public String toString()
229     {
230         return delegate.toString();
231     }
232 
233     @Override
234     public int hashCode()
235     {
236         return delegate.hashCode();
237     }
238 
239     @Override
240     public boolean equals( Object o )
241     {
242         return delegate.equals( o );
243     }
244 
245     @Override
246     public void updateVersion( String version, ArtifactRepository localRepository )
247     {
248         delegate.updateVersion( version, localRepository );
249     }
250 
251     @Override
252     public ArtifactFilter getDependencyFilter()
253     {
254         return delegate.getDependencyFilter();
255     }
256 
257     @Override
258     public void setDependencyFilter( ArtifactFilter artifactFilter )
259     {
260         delegate.setDependencyFilter( artifactFilter );
261     }
262 
263     @Override
264     public ArtifactHandler getArtifactHandler()
265     {
266         return delegate.getArtifactHandler();
267     }
268 
269     @Override
270     public List<String> getDependencyTrail()
271     {
272         return delegate.getDependencyTrail();
273     }
274 
275     @Override
276     public void setDependencyTrail( List<String> dependencyTrail )
277     {
278         delegate.setDependencyTrail( dependencyTrail );
279     }
280 
281     @Override
282     public void selectVersion( String version )
283     {
284         delegate.selectVersion( version );
285     }
286 
287     @Override
288     public void setResolved( boolean resolved )
289     {
290         delegate.setResolved( resolved );
291     }
292 
293     @Override
294     public boolean isResolved()
295     {
296         return delegate.isResolved();
297     }
298 
299     @Override
300     public void setResolvedVersion( String version )
301     {
302         delegate.setResolvedVersion( version );
303     }
304 
305     @Override
306     public void setArtifactHandler( ArtifactHandler artifactHandler )
307     {
308         delegate.setArtifactHandler( artifactHandler );
309     }
310 
311     @Override
312     public boolean isOptional()
313     {
314         return delegate.isOptional();
315     }
316 
317     @Override
318     public ArtifactVersion getSelectedVersion()
319         throws OverConstrainedVersionException
320     {
321         return delegate.getSelectedVersion();
322     }
323 
324     @Override
325     public boolean isSelectedVersionKnown()
326         throws OverConstrainedVersionException
327     {
328         return delegate.isSelectedVersionKnown();
329     }
330 
331     @Override
332     public void setOptional( boolean optional )
333     {
334         delegate.setOptional( optional );
335     }
336 
337     @Override
338     public Collection<ArtifactMetadata> getMetadataList()
339     {
340         List<ArtifactMetadata> result = new ArrayList<>( delegate.getMetadataList() );
341 
342         for ( ArtifactMetadata metadata : result )
343         {
344             if ( signature.getKey().equals( metadata.getKey() ) )
345             {
346                 // already signed
347                 return result;
348             }
349         }
350 
351         result.add( signature );
352 
353         return result;
354     }
355 
356     @Override
357     public int compareTo( Artifact o )
358     {
359         return delegate.compareTo( o );
360     }
361 }