]> source.dussan.org Git - archiva.git/blob
05c3a1aef85076b06090974151fdb1f3e74091fc
[archiva.git] /
1 package org.apache.maven.archiva.indexer.search;
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.commons.lang.StringUtils;
23 import org.apache.maven.archiva.model.ArchivaArtifact;
24
25 import java.util.ArrayList;
26 import java.util.List;
27
28 /**
29  * SearchResultHit 
30  *
31  * @version $Id$
32  */
33 public class SearchResultHit
34 {
35     // The (optional) context for this result.
36     private String context;
37
38     // Basic hit, direct to non-artifact resource.
39     private String url;
40
41     // Advanced hit, reference to groupId.
42     private String groupId;
43
44     //  Advanced hit, reference to artifactId.
45     private String artifactId;
46
47     private String version = "";
48     
49     private String repositoryId = "";
50
51     // Advanced hit, if artifact, all versions of artifact
52     private List artifacts = new ArrayList();
53
54     private List versions = new ArrayList();
55
56     public String getContext()
57     {
58         return context;
59     }
60
61     public void setContext( String context )
62     {
63         this.context = context;
64     }
65
66     public String getUrl()
67     {
68         return url;
69     }
70
71     public void setUrl( String url )
72     {
73         this.url = url;
74     }
75
76     public String getUrlFilename()
77     {
78         return this.url.substring( this.url.lastIndexOf( '/' ) );
79     }
80
81     public String getArtifactId()
82     {
83         return artifactId;
84     }
85
86     public void setArtifactId( String artifactId )
87     {
88         this.artifactId = artifactId;
89     }
90
91     public void addArtifact( ArchivaArtifact artifact )
92     {
93         this.artifacts.add( artifact );
94                 
95         String ver = artifact.getVersion();        
96
97         if ( !this.versions.contains( ver ) )
98         {
99             this.versions.add( ver );
100         }
101
102         if ( StringUtils.isBlank( this.groupId ) )
103         {
104             this.groupId = artifact.getGroupId();
105         }
106
107         if ( StringUtils.isBlank( this.artifactId ) )
108         {
109             this.artifactId = artifact.getArtifactId();
110         }
111
112         if ( StringUtils.isBlank( this.version ) )
113         {
114             this.version = ver;            
115         }
116     }
117
118     public List getArtifacts()
119     {
120         return artifacts;
121     }
122
123     public String getGroupId()
124     {
125         return groupId;
126     }
127
128     public void setGroupId( String groupId )
129     {
130         this.groupId = groupId;
131     }
132
133     public String getVersion()
134     {
135         return version;
136     }
137
138     public List getVersions()
139     {
140         return versions;
141     }
142
143     public String getRepositoryId()
144     {
145         return repositoryId;
146     }
147
148     public void setRepositoryId( String repositoryId )
149     {
150         this.repositoryId = repositoryId;
151     }
152 }