1package org.apache.archiva.policies.urlcache;
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.components.cache.Cache;
23import org.springframework.stereotype.Service;
2425import javax.inject.Inject;
26import javax.inject.Named;
27import java.util.Date;
2829/**30 * DefaultUrlFailureCache31 */32 @Service( "urlFailureCache" )
33publicclassDefaultUrlFailureCache34implementsUrlFailureCache35 {
36private Cache<String, Date> urlCache;
3738 @Inject
39publicDefaultUrlFailureCache( @Named( "cache#url-failures-cache" ) Cache<String, Date> urlCache )
40 {
41this.urlCache = urlCache;
42 }
4344 @Override
45publicvoid cacheFailure( String url )
46 {
47 urlCache.register( url, new Date() );
48 }
4950 @Override
51publicboolean hasFailedBefore( String url )
52 {
53if ( urlCache.hasKey( url ) )
54 {
55 urlCache.register( url, new Date() );
56returntrue;
57 }
5859return false;
60 }
61 }