final class BasicRepositoryConnector extends java.lang.Object implements RepositoryConnector
Modifier and Type | Class and Description |
---|---|
(package private) class |
BasicRepositoryConnector.GetTaskRunner |
(package private) class |
BasicRepositoryConnector.PeekTaskRunner |
(package private) class |
BasicRepositoryConnector.PutTaskRunner |
(package private) class |
BasicRepositoryConnector.TaskRunner |
Modifier and Type | Field and Description |
---|---|
private ChecksumPolicyProvider |
checksumPolicyProvider |
private java.util.concurrent.atomic.AtomicBoolean |
closed |
private static java.lang.String |
CONFIG_PROP_PARALLEL_PUT |
private static java.lang.String |
CONFIG_PROP_SMART_CHECKSUMS |
private static java.lang.String |
CONFIG_PROP_THREADS |
private java.util.concurrent.Executor |
executor |
private FileProcessor |
fileProcessor |
private RepositoryLayout |
layout |
private static org.slf4j.Logger |
LOGGER |
private int |
maxThreads |
private boolean |
parallelPut |
private boolean |
persistedChecksums |
private java.util.Map<java.lang.String,ProvidedChecksumsSource> |
providedChecksumsSources |
private RemoteRepository |
repository |
private RepositorySystemSession |
session |
private boolean |
smartChecksums |
private Transporter |
transporter |
Constructor and Description |
---|
BasicRepositoryConnector(RepositorySystemSession session,
RemoteRepository repository,
TransporterProvider transporterProvider,
RepositoryLayoutProvider layoutProvider,
ChecksumPolicyProvider checksumPolicyProvider,
FileProcessor fileProcessor,
java.util.Map<java.lang.String,ProvidedChecksumsSource> providedChecksumsSources) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this connector and frees any network resources associated with it.
|
private void |
failIfClosed() |
void |
get(java.util.Collection<? extends ArtifactDownload> artifactDownloads,
java.util.Collection<? extends MetadataDownload> metadataDownloads)
Performs the specified downloads.
|
private java.util.concurrent.Executor |
getExecutor(int tasks) |
private static java.util.List<java.util.List<MetadataUpload>> |
groupUploads(java.util.Collection<? extends MetadataUpload> metadataUploads)
This method "groups" the Metadata to be uploaded by their level (version, artifact, group and root).
|
private ChecksumPolicy |
newChecksumPolicy(java.lang.String policy,
TransferResource resource) |
private TransferEvent.Builder |
newEventBuilder(TransferResource resource,
boolean upload,
boolean peek) |
private TransferResource |
newTransferResource(java.net.URI path,
java.io.File file,
RequestTrace trace) |
void |
put(java.util.Collection<? extends ArtifactUpload> artifactUploads,
java.util.Collection<? extends MetadataUpload> metadataUploads)
Performs the specified uploads.
|
private static <T> java.util.Collection<T> |
safe(java.util.Collection<T> items) |
java.lang.String |
toString() |
private static final java.lang.String CONFIG_PROP_THREADS
private static final java.lang.String CONFIG_PROP_SMART_CHECKSUMS
private static final java.lang.String CONFIG_PROP_PARALLEL_PUT
private static final org.slf4j.Logger LOGGER
private final java.util.Map<java.lang.String,ProvidedChecksumsSource> providedChecksumsSources
private final FileProcessor fileProcessor
private final RemoteRepository repository
private final RepositorySystemSession session
private final Transporter transporter
private final RepositoryLayout layout
private final ChecksumPolicyProvider checksumPolicyProvider
private final int maxThreads
private final boolean smartChecksums
private final boolean parallelPut
private final boolean persistedChecksums
private java.util.concurrent.Executor executor
private final java.util.concurrent.atomic.AtomicBoolean closed
BasicRepositoryConnector(RepositorySystemSession session, RemoteRepository repository, TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider, ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor, java.util.Map<java.lang.String,ProvidedChecksumsSource> providedChecksumsSources) throws NoRepositoryConnectorException
NoRepositoryConnectorException
private java.util.concurrent.Executor getExecutor(int tasks)
public void close()
RepositoryConnector
IllegalStateException
or similar. Closing
an already closed connector is harmless and has no effect.close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in interface RepositoryConnector
private void failIfClosed()
public void get(java.util.Collection<? extends ArtifactDownload> artifactDownloads, java.util.Collection<? extends MetadataDownload> metadataDownloads)
RepositoryConnector
ArtifactTransfer.getException()
and
MetadataTransfer.getException()
, respectively. If reasonable, a connector should continue to process the
remaining downloads after an error to retrieve as many items as possible. The connector may perform the transfers
concurrently and in any order.get
in interface RepositoryConnector
artifactDownloads
- The artifact downloads to perform, may be null
or empty.metadataDownloads
- The metadata downloads to perform, may be null
or empty.public void put(java.util.Collection<? extends ArtifactUpload> artifactUploads, java.util.Collection<? extends MetadataUpload> metadataUploads)
RepositoryConnector
ArtifactTransfer.getException()
and
MetadataTransfer.getException()
, respectively. The connector may perform the transfers concurrently and in
any order.put
in interface RepositoryConnector
artifactUploads
- The artifact uploads to perform, may be null
or empty.metadataUploads
- The metadata uploads to perform, may be null
or empty.private static java.util.List<java.util.List<MetadataUpload>> groupUploads(java.util.Collection<? extends MetadataUpload> metadataUploads)
private static <T> java.util.Collection<T> safe(java.util.Collection<T> items)
private TransferResource newTransferResource(java.net.URI path, java.io.File file, RequestTrace trace)
private TransferEvent.Builder newEventBuilder(TransferResource resource, boolean upload, boolean peek)
private ChecksumPolicy newChecksumPolicy(java.lang.String policy, TransferResource resource)
public java.lang.String toString()
toString
in class java.lang.Object