1 package org.apache.archiva.repository.scanner.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.archiva.admin.model.beans.ManagedRepository;
23 import org.apache.commons.collections.Closure;
24 import org.apache.archiva.consumers.RepositoryContentConsumer;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28
29
30
31 public class TriggerScanCompletedClosure
32 implements Closure
33 {
34 private Logger log = LoggerFactory.getLogger( TriggerScanCompletedClosure.class );
35
36 private final ManagedRepository repository;
37
38 private boolean executeOnEntireRepo = true;
39
40 public TriggerScanCompletedClosure( ManagedRepository repository )
41 {
42 this.repository = repository;
43 }
44
45 public TriggerScanCompletedClosure( ManagedRepository repository, boolean executeOnEntireRepo )
46 {
47 this( repository );
48 this.executeOnEntireRepo = executeOnEntireRepo;
49 }
50
51 @Override
52 public void execute( Object input )
53 {
54 if ( input instanceof RepositoryContentConsumer )
55 {
56 RepositoryContentConsumer consumer = (RepositoryContentConsumer) input;
57 consumer.completeScan( executeOnEntireRepo );
58 log.debug( "Consumer [{}] completed for repository [{}]", consumer.getId(), repository.getId() );
59 }
60 }
61 }