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 classBasicRepositoryConnector.DirectExecutor(package private) classBasicRepositoryConnector.GetTaskRunner(package private) classBasicRepositoryConnector.PeekTaskRunner(package private) classBasicRepositoryConnector.PutTaskRunner(package private) classBasicRepositoryConnector.TaskRunner
-
Field Summary
Fields Modifier and Type Field Description private ChecksumPolicyProviderchecksumPolicyProviderprivate booleanclosedprivate static java.lang.StringCONFIG_PROP_RESUMEprivate static java.lang.StringCONFIG_PROP_RESUME_THRESHOLDprivate static java.lang.StringCONFIG_PROP_SMART_CHECKSUMSprivate static java.lang.StringCONFIG_PROP_THREADSprivate java.util.concurrent.Executorexecutorprivate FileProcessorfileProcessorprivate RepositoryLayoutlayoutprivate static org.slf4j.LoggerLOGGERprivate intmaxThreadsprivate PartialFile.FactorypartialFileFactoryprivate booleanpersistedChecksumsprivate RemoteRepositoryrepositoryprivate RepositorySystemSessionsessionprivate booleansmartChecksumsprivate Transportertransporter
-
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 voidclose()Closes this connector and frees any network resources associated with it.protected voidfinalize()voidget(java.util.Collection<? extends ArtifactDownload> artifactDownloads, java.util.Collection<? extends MetadataDownload> metadataDownloads)Performs the specified downloads.private java.util.concurrent.ExecutorgetExecutor(java.util.Collection<?> artifacts, java.util.Collection<?> metadatas)private ChecksumPolicynewChecksumPolicy(java.lang.String policy, TransferResource resource)private TransferEvent.BuildernewEventBuilder(TransferResource resource, boolean upload, boolean peek)private TransferResourcenewTransferResource(java.net.URI path, java.io.File file, RequestTrace trace)voidput(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.StringtoString()
-
-
-
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:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
close
public void close()
Description copied from interface:RepositoryConnectorCloses 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 aIllegalStateExceptionor similar. Closing an already closed connector is harmless and has no effect.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceRepositoryConnector
-
get
public void get(java.util.Collection<? extends ArtifactDownload> artifactDownloads, java.util.Collection<? extends MetadataDownload> metadataDownloads)
Description copied from interface:RepositoryConnectorPerforms 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:
getin interfaceRepositoryConnector- Parameters:
artifactDownloads- The artifact downloads to perform, may benullor empty.metadataDownloads- The metadata downloads to perform, may benullor empty.
-
put
public void put(java.util.Collection<? extends ArtifactUpload> artifactUploads, java.util.Collection<? extends MetadataUpload> metadataUploads)
Description copied from interface:RepositoryConnectorPerforms 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:
putin interfaceRepositoryConnector- Parameters:
artifactUploads- The artifact uploads to perform, may benullor empty.metadataUploads- The metadata uploads to perform, may benullor 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:
toStringin classjava.lang.Object
-
-