]> source.dussan.org Git - archiva.git/blob
a9c0ac465a42a2ed0ed31d05866edfe392cbc132
[archiva.git] /
1 package org.apache.maven.archiva.scheduled.tasks;
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
24 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
25 import org.codehaus.plexus.taskqueue.Task;
26 import org.sonatype.nexus.index.context.IndexingContext;
27
28 public class ArtifactIndexingTask
29     implements Task
30 {
31     public enum Action
32     {
33         ADD, DELETE, FINISH
34     }
35
36     private final ManagedRepositoryConfiguration repository;
37
38     private final File resourceFile;
39
40     private final Action action;
41
42     private final IndexingContext context;
43
44     public ArtifactIndexingTask( ManagedRepositoryConfiguration repository, File resourceFile, Action action,
45                                  IndexingContext context )
46     {
47         this.repository = repository;
48         this.resourceFile = resourceFile;
49         this.action = action;
50         this.context = context;
51     }
52
53     public long getMaxExecutionTime()
54     {
55         return 0;
56     }
57
58     public File getResourceFile()
59     {
60         return resourceFile;
61     }
62
63     public Action getAction()
64     {
65         return action;
66     }
67
68     @Override
69     public String toString()
70     {
71         return "ArtifactIndexingTask [action=" + action + ", repositoryId=" + repository.getId() + ", resourceFile="
72             + resourceFile + "]";
73     }
74
75     public ManagedRepositoryConfiguration getRepository()
76     {
77         return repository;
78     }
79
80     public IndexingContext getContext()
81     {
82         return context;
83     }
84
85     @Override
86     public int hashCode()
87     {
88         final int prime = 31;
89         int result = 1;
90         result = prime * result + action.hashCode();
91         result = prime * result + repository.getId().hashCode();
92         result = prime * result + ( ( resourceFile == null ) ? 0 : resourceFile.hashCode() );
93         return result;
94     }
95
96     @Override
97     public boolean equals( Object obj )
98     {
99         if ( this == obj )
100             return true;
101         if ( obj == null )
102             return false;
103         if ( getClass() != obj.getClass() )
104             return false;
105         ArtifactIndexingTask other = (ArtifactIndexingTask) obj;
106         if ( !action.equals( other.action ) )
107             return false;
108         if ( !repository.getId().equals( other.repository.getId() ) )
109             return false;
110         if ( resourceFile == null )
111         {
112             if ( other.resourceFile != null )
113                 return false;
114         }
115         else if ( !resourceFile.equals( other.resourceFile ) )
116             return false;
117         return true;
118     }
119 }