1 package org.eclipse.aether.connector.basic;
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.repository.RemoteRepository;
23 import org.eclipse.aether.spi.connector.MetadataTransfer;
24 import org.eclipse.aether.spi.connector.transport.Transporter;
25 import org.eclipse.aether.transfer.MetadataNotFoundException;
26 import org.eclipse.aether.transfer.MetadataTransferException;
27 import org.eclipse.aether.transfer.TransferEvent;
28
29 final class MetadataTransportListener
30 extends TransferTransportListener<MetadataTransfer>
31 {
32
33 private final RemoteRepository repository;
34
35 MetadataTransportListener( MetadataTransfer transfer, RemoteRepository repository,
36 TransferEvent.Builder eventBuilder )
37 {
38 super( transfer, eventBuilder );
39 this.repository = repository;
40 }
41
42 @Override
43 public void transferFailed( Exception exception, int classification )
44 {
45 MetadataTransferException e;
46 if ( classification == Transporter.ERROR_NOT_FOUND )
47 {
48 e = new MetadataNotFoundException( getTransfer().getMetadata(), repository );
49 }
50 else
51 {
52 e = new MetadataTransferException( getTransfer().getMetadata(), repository, exception );
53 }
54 getTransfer().setException( e );
55 super.transferFailed( e, classification );
56 }
57
58 }