Class BasicRepositoryConnector
java.lang.Object
org.eclipse.aether.connector.basic.BasicRepositoryConnector
- All Implemented Interfaces:
Closeable,AutoCloseable,RepositoryConnector
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class(package private) class(package private) class(package private) class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ChecksumPolicyProviderprivate final AtomicBooleanprivate static final Stringprivate static final Stringprivate static final Stringprivate Executorprivate final FileProcessorprivate final RepositoryLayoutprivate static final org.slf4j.Loggerprivate final intprivate final booleanprivate final booleanprivate final Map<String, ProvidedChecksumsSource> private final RemoteRepositoryprivate final RepositorySystemSessionprivate final booleanprivate final Transporter -
Constructor Summary
ConstructorsConstructorDescriptionBasicRepositoryConnector(RepositorySystemSession session, RemoteRepository repository, TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider, ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor, Map<String, ProvidedChecksumsSource> providedChecksumsSources) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this connector and frees any network resources associated with it.private voidvoidget(Collection<? extends ArtifactDownload> artifactDownloads, Collection<? extends MetadataDownload> metadataDownloads) Performs the specified downloads.private ExecutorgetExecutor(int tasks) private static List<List<MetadataUpload>> groupUploads(Collection<? extends MetadataUpload> metadataUploads) This method "groups" the Metadata to be uploaded by their level (version, artifact, group and root).private ChecksumPolicynewChecksumPolicy(String policy, TransferResource resource) private TransferEvent.BuildernewEventBuilder(TransferResource resource, boolean upload, boolean peek) private TransferResourcenewTransferResource(URI path, File file, RequestTrace trace) voidput(Collection<? extends ArtifactUpload> artifactUploads, Collection<? extends MetadataUpload> metadataUploads) Performs the specified uploads.private static <T> Collection<T> safe(Collection<T> items) toString()
-
Field Details
-
CONFIG_PROP_THREADS
- See Also:
-
CONFIG_PROP_SMART_CHECKSUMS
- See Also:
-
CONFIG_PROP_PARALLEL_PUT
- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
providedChecksumsSources
-
fileProcessor
-
repository
-
session
-
transporter
-
layout
-
checksumPolicyProvider
-
maxThreads
private final int maxThreads -
smartChecksums
private final boolean smartChecksums -
parallelPut
private final boolean parallelPut -
persistedChecksums
private final boolean persistedChecksums -
executor
-
closed
-
-
Constructor Details
-
BasicRepositoryConnector
BasicRepositoryConnector(RepositorySystemSession session, RemoteRepository repository, TransporterProvider transporterProvider, RepositoryLayoutProvider layoutProvider, ChecksumPolicyProvider checksumPolicyProvider, FileProcessor fileProcessor, Map<String, ProvidedChecksumsSource> providedChecksumsSources) throws NoRepositoryConnectorException- Throws:
NoRepositoryConnectorException
-
-
Method Details
-
getExecutor
-
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 interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceRepositoryConnector
-
failIfClosed
private void failIfClosed() -
get
public void get(Collection<? extends ArtifactDownload> artifactDownloads, 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(Collection<? extends ArtifactUpload> artifactUploads, 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.
-
groupUploads
private static List<List<MetadataUpload>> groupUploads(Collection<? extends MetadataUpload> metadataUploads) This method "groups" the Metadata to be uploaded by their level (version, artifact, group and root). This is MUST as clients consume metadata in opposite order (root, group, artifact, version), and hence, we must deploy and ensure (in case of parallel deploy) that all V level metadata is deployed before we start deploying A level, etc. -
safe
-
newTransferResource
-
newEventBuilder
private TransferEvent.Builder newEventBuilder(TransferResource resource, boolean upload, boolean peek) -
newChecksumPolicy
-
toString
-