1package org.apache.archiva.repository.scanner.functors;
23/*4 * Licensed to the Apache Software Foundation (ASF) under one5 * or more contributor license agreements. See the NOTICE file6 * distributed with this work for additional information7 * regarding copyright ownership. The ASF licenses this file8 * to you under the Apache License, Version 2.0 (the9 * "License"); you may not use this file except in compliance10 * with the License. You may obtain a copy of the License at11 *12 * http://www.apache.org/licenses/LICENSE-2.013 *14 * Unless required by applicable law or agreed to in writing,15 * software distributed under the License is distributed on an16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY17 * KIND, either express or implied. See the License for the18 * specific language governing permissions and limitations19 * under the License.20 */2122import org.apache.archiva.admin.model.beans.ManagedRepository;
23import org.apache.commons.collections.Closure;
24import org.apache.archiva.consumers.ConsumerException;
25import org.apache.archiva.consumers.RepositoryContentConsumer;
26import org.slf4j.Logger;
27import org.slf4j.LoggerFactory;
2829import java.util.Date;
3031/**32 * TriggerBeginScanClosure 33 *34 *35 */36publicclassTriggerBeginScanClosure37implements Closure
38 {
39private Logger log = LoggerFactory.getLogger( TriggerBeginScanClosure.class );
4041privateManagedRepository repository;
4243private Date whenGathered;
4445privateboolean executeOnEntireRepo = true;
4647publicTriggerBeginScanClosure( ManagedRepository repository )
48 {
49this.repository = repository;
50 }
5152publicTriggerBeginScanClosure( ManagedRepository repository, Date whenGathered )
53 {
54this( repository );
55this.whenGathered = whenGathered;
56 }
5758publicTriggerBeginScanClosure( ManagedRepository repository, Date whenGathered, boolean executeOnEntireRepo )
59 {
60this( repository, whenGathered );
61this.executeOnEntireRepo = executeOnEntireRepo;
62 }
6364 @Override
65publicvoid execute( Object input )
66 {
67if ( input instanceof RepositoryContentConsumer )
68 {
69RepositoryContentConsumer consumer = (RepositoryContentConsumer) input;
7071try72 {
73 consumer.beginScan( repository, whenGathered, executeOnEntireRepo );
74 }
75catch ( ConsumerException e )
76 {
77 log.warn( "Consumer [{}] cannot begin: {}",consumer.getId(), e.getMessage(), e );
78 }
79 }
80 }
81 }