1 package org.apache.archiva.indexer.merger.base;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.indexer.ArchivaIndexingContext;
23 import org.apache.archiva.indexer.merger.IndexMerger;
24 import org.apache.archiva.indexer.merger.IndexMergerException;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28
29
30
31
32 public class MergedRemoteIndexesTask
33 implements Runnable
34 {
35
36 private Logger logger = LoggerFactory.getLogger( getClass() );
37
38 private MergedRemoteIndexesTaskRequest mergedRemoteIndexesTaskRequest;
39
40 public MergedRemoteIndexesTask( MergedRemoteIndexesTaskRequest mergedRemoteIndexesTaskRequest )
41 {
42 this.mergedRemoteIndexesTaskRequest = mergedRemoteIndexesTaskRequest;
43 }
44
45 @Override
46 public void run()
47 {
48 try
49 {
50 this.execute();
51 }
52 catch ( IndexMergerException e )
53 {
54 logger.error( e.getMessage(), e );
55 }
56 }
57
58 public MergedRemoteIndexesTaskResult execute()
59 throws IndexMergerException
60 {
61 IndexMerger indexMerger = mergedRemoteIndexesTaskRequest.getIndexMerger();
62
63 ArchivaIndexingContext indexingContext =
64 indexMerger.buildMergedIndex( mergedRemoteIndexesTaskRequest.getIndexMergerRequest() );
65
66 return new MergedRemoteIndexesTaskResult( indexingContext );
67 }
68
69 @Override
70 public boolean equals( Object o )
71 {
72 if ( this == o )
73 {
74 return true;
75 }
76 if ( !( o instanceof MergedRemoteIndexesTask ) )
77 {
78 return false;
79 }
80
81 MergedRemoteIndexesTask../org/apache/archiva/indexer/merger/base/MergedRemoteIndexesTask.html#MergedRemoteIndexesTask">MergedRemoteIndexesTask that = (MergedRemoteIndexesTask) o;
82
83 return mergedRemoteIndexesTaskRequest.equals( that.mergedRemoteIndexesTaskRequest );
84 }
85
86 @Override
87 public int hashCode()
88 {
89 return mergedRemoteIndexesTaskRequest.hashCode();
90 }
91 }