1 package org.eclipse.aether.internal.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.eclipse.aether.spi.connector.checksum.ChecksumPolicy;
23 import org.eclipse.aether.spi.log.Logger;
24 import org.eclipse.aether.spi.log.LoggerFactory;
25 import org.eclipse.aether.spi.log.NullLoggerFactory;
26 import org.eclipse.aether.transfer.ChecksumFailureException;
27 import org.eclipse.aether.transfer.TransferResource;
28
29 abstract class AbstractChecksumPolicy
30 implements ChecksumPolicy
31
32 {
33
34 protected final Logger logger;
35
36 protected final TransferResource resource;
37
38 protected AbstractChecksumPolicy( LoggerFactory loggerFactory, TransferResource resource )
39 {
40 this.logger = NullLoggerFactory.getSafeLogger( loggerFactory, getClass() );
41 this.resource = resource;
42 }
43
44 public boolean onChecksumMatch( String algorithm, int kind )
45 {
46 return true;
47 }
48
49 public void onChecksumMismatch( String algorithm, int kind, ChecksumFailureException exception )
50 throws ChecksumFailureException
51 {
52 if ( ( kind & KIND_UNOFFICIAL ) == 0 )
53 {
54 throw exception;
55 }
56 }
57
58 public void onChecksumError( String algorithm, int kind, ChecksumFailureException exception )
59 throws ChecksumFailureException
60 {
61 logger.debug( "Could not validate " + algorithm + " checksum for " + resource.getResourceName(), exception );
62 }
63
64 public void onNoMoreChecksums()
65 throws ChecksumFailureException
66 {
67 throw new ChecksumFailureException( "Checksum validation failed, no checksums available" );
68 }
69
70 public void onTransferRetry()
71 {
72 }
73
74 }