]> source.dussan.org Git - archiva.git/blob
a5bdf952261cea16c503e7558d07d267317a6027
[archiva.git] /
1 package org.apache.maven.archiva.indexer.record;
2
3 /*
4  * Copyright 2005-2006 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 import org.apache.maven.artifact.Artifact;
20 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
21
22 import java.util.Collection;
23
24 /**
25  * Filter that removes artifacts already in the index.
26  * TODO: we could do timestamp comparisons here
27  */
28 public class IndexRecordExistsArtifactFilter
29     implements ArtifactFilter
30 {
31     private final Collection keys;
32
33     public IndexRecordExistsArtifactFilter( Collection keys )
34     {
35         this.keys = keys;
36     }
37
38     public boolean include( Artifact artifact )
39     {
40         String artifactKey = artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion() +
41             ( artifact.getClassifier() != null ? ":" + artifact.getClassifier() : "" );
42         return !keys.contains( artifactKey );
43     }
44 }