1 package org.apache.archiva.policies.urlcache;
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.redback.components.cache.Cache;
23 import org.springframework.stereotype.Service;
24
25 import javax.inject.Inject;
26 import javax.inject.Named;
27 import java.util.Date;
28
29
30
31
32 @Service( "urlFailureCache" )
33 public class DefaultUrlFailureCache
34 implements UrlFailureCache
35 {
36 private Cache urlCache;
37
38 @Inject
39 public DefaultUrlFailureCache( @Named( "cache#url-failures-cache" ) Cache urlCache )
40 {
41 this.urlCache = urlCache;
42 }
43
44 @Override
45 public void cacheFailure( String url )
46 {
47 urlCache.register( url, new Date() );
48 }
49
50 @Override
51 public boolean hasFailedBefore( String url )
52 {
53 if ( urlCache.hasKey( url ) )
54 {
55 urlCache.register( url, new Date() );
56 return true;
57 }
58
59 return false;
60 }
61 }