1 package org.apache.maven.archiva.dependency.graph.functors;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.commons.collections.Transformer;
23 import org.apache.maven.archiva.dependency.graph.DependencyGraphEdge;
24 import org.apache.maven.archiva.dependency.graph.DependencyGraphKeys;
25 import org.apache.maven.archiva.dependency.graph.DependencyGraphNode;
26 import org.apache.maven.archiva.model.ArchivaProjectModel;
27 import org.apache.maven.archiva.model.ArtifactReference;
28 import org.apache.maven.archiva.model.Keys;
29
30
31
32
33
34
35 public class ToKeyTransformer
36 implements Transformer
37 {
38
39 public Object transform( Object input )
40 {
41 if ( input instanceof ArchivaProjectModel )
42 {
43 return Keys.toKey( (ArchivaProjectModel) input );
44 }
45
46 if ( input instanceof DependencyGraphNode )
47 {
48 return DependencyGraphKeys.toKey( ((DependencyGraphNode) input).getArtifact() );
49 }
50
51 if ( input instanceof DependencyGraphEdge )
52 {
53 DependencyGraphEdge edge = (DependencyGraphEdge) input;
54
55 return DependencyGraphKeys.toKey( edge.getNodeTo() );
56 }
57
58 if ( input instanceof ArtifactReference )
59 {
60 return DependencyGraphKeys.toKey( ((ArtifactReference) input) );
61 }
62
63 return input;
64 }
65
66 }