Class BasicRepositoryConnector
- java.lang.Object
-
- org.eclipse.aether.connector.basic.BasicRepositoryConnector
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,RepositoryConnector
final class BasicRepositoryConnector extends java.lang.Object implements RepositoryConnector
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BasicRepositoryConnector.DirectExecutor
(package private) class
BasicRepositoryConnector.GetTaskRunner
(package private) class
BasicRepositoryConnector.PeekTaskRunner
(package private) class
BasicRepositoryConnector.PutTaskRunner
(package private) class
BasicRepositoryConnector.TaskRunner
-
Field Summary
Fields Modifier and Type Field Description private ChecksumPolicyProvider
checksumPolicyProvider
private boolean
closed
private static java.lang.String
CONFIG_PROP_RESUME
private static java.lang.String
CONFIG_PROP_RESUME_THRESHOLD
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 PartialFile.Factory
partialFileFactory
private boolean
persistedChecksums
private RemoteRepository
repository
private RepositorySystemSession
session
private boolean
smartChecksums
private Transporter
transporter
-
Constructor Summary
Constructors Constructor Description BasicRepositoryConnector(RepositorySystemSession session, RemoteRepository repository, TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider, ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this connector and frees any network resources associated with it.protected void
finalize()
void
get(java.util.Collection<? extends ArtifactDownload> artifactDownloads, java.util.Collection<? extends MetadataDownload> metadataDownloads)
Performs the specified downloads.private java.util.concurrent.Executor
getExecutor(java.util.Collection<?> artifacts, java.util.Collection<?> metadatas)
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()
-
-
-
Field Detail
-
CONFIG_PROP_THREADS
private static final java.lang.String CONFIG_PROP_THREADS
- See Also:
- Constant Field Values
-
CONFIG_PROP_RESUME
private static final java.lang.String CONFIG_PROP_RESUME
- See Also:
- Constant Field Values
-
CONFIG_PROP_RESUME_THRESHOLD
private static final java.lang.String CONFIG_PROP_RESUME_THRESHOLD
- See Also:
- Constant Field Values
-
CONFIG_PROP_SMART_CHECKSUMS
private static final java.lang.String CONFIG_PROP_SMART_CHECKSUMS
- See Also:
- Constant Field Values
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
fileProcessor
private final FileProcessor fileProcessor
-
repository
private final RemoteRepository repository
-
session
private final RepositorySystemSession session
-
transporter
private final Transporter transporter
-
layout
private final RepositoryLayout layout
-
checksumPolicyProvider
private final ChecksumPolicyProvider checksumPolicyProvider
-
partialFileFactory
private final PartialFile.Factory partialFileFactory
-
maxThreads
private final int maxThreads
-
smartChecksums
private final boolean smartChecksums
-
persistedChecksums
private final boolean persistedChecksums
-
executor
private java.util.concurrent.Executor executor
-
closed
private boolean closed
-
-
Constructor Detail
-
BasicRepositoryConnector
BasicRepositoryConnector(RepositorySystemSession session, RemoteRepository repository, TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider, ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor) throws NoRepositoryConnectorException
- Throws:
NoRepositoryConnectorException
-
-
Method Detail
-
getExecutor
private java.util.concurrent.Executor getExecutor(java.util.Collection<?> artifacts, java.util.Collection<?> metadatas)
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
close
public void close()
Description copied from interface:RepositoryConnector
Closes this connector and frees any network resources associated with it. Once closed, a connector must not be used for further transfers, any attempt to do so would yield aIllegalStateException
or similar. Closing an already closed connector is harmless and has no effect.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in interfaceRepositoryConnector
-
get
public void get(java.util.Collection<? extends ArtifactDownload> artifactDownloads, java.util.Collection<? extends MetadataDownload> metadataDownloads)
Description copied from interface:RepositoryConnector
Performs the specified downloads. If a download fails, the connector stores the underlying exception in the download object such that callers can inspect the result viaArtifactTransfer.getException()
andMetadataTransfer.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.- Specified by:
get
in interfaceRepositoryConnector
- Parameters:
artifactDownloads
- The artifact downloads to perform, may benull
or empty.metadataDownloads
- The metadata downloads to perform, may benull
or empty.
-
put
public void put(java.util.Collection<? extends ArtifactUpload> artifactUploads, java.util.Collection<? extends MetadataUpload> metadataUploads)
Description copied from interface:RepositoryConnector
Performs the specified uploads. If an upload fails, the connector stores the underlying exception in the upload object such that callers can inspect the result viaArtifactTransfer.getException()
andMetadataTransfer.getException()
, respectively. The connector may perform the transfers concurrently and in any order.- Specified by:
put
in interfaceRepositoryConnector
- Parameters:
artifactUploads
- The artifact uploads to perform, may benull
or empty.metadataUploads
- The metadata uploads to perform, may benull
or empty.
-
safe
private static <T> java.util.Collection<T> safe(java.util.Collection<T> items)
-
newTransferResource
private TransferResource newTransferResource(java.net.URI path, java.io.File file, RequestTrace trace)
-
newEventBuilder
private TransferEvent.Builder newEventBuilder(TransferResource resource, boolean upload, boolean peek)
-
newChecksumPolicy
private ChecksumPolicy newChecksumPolicy(java.lang.String policy, TransferResource resource)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-