Class DefaultWagonManager

java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.apache.maven.artifact.manager.DefaultWagonManager
All Implemented Interfaces:
WagonManager, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable

public class DefaultWagonManager extends org.codehaus.plexus.logging.AbstractLogEnabled implements WagonManager, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
  • Field Details

    • WILDCARD

      private static final String WILDCARD
      See Also:
    • EXTERNAL_WILDCARD

      private static final String EXTERNAL_WILDCARD
      See Also:
    • MAVEN_ARTIFACT_PROPERTIES

      private static final String MAVEN_ARTIFACT_PROPERTIES
      See Also:
    • WAGON_PROVIDER_CONFIGURATION

      private static final String WAGON_PROVIDER_CONFIGURATION
      See Also:
    • anonymousMirrorIdSeed

      private static int anonymousMirrorIdSeed
    • container

      private org.codehaus.plexus.PlexusContainer container
    • proxies

      private Map proxies
    • authenticationInfoMap

      private Map authenticationInfoMap
    • serverPermissionsMap

      private Map serverPermissionsMap
    • mirrors

      private Map mirrors
    • serverConfigurationMap

      private Map<String,org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration> serverConfigurationMap
      Map( String, XmlPlexusConfiguration ) with the repository id and the wagon configuration
    • serverWagonProviderMap

      private Map<String,String> serverWagonProviderMap
    • downloadMonitor

      private org.apache.maven.wagon.events.TransferListener downloadMonitor
    • online

      private boolean online
    • repositoryFactory

      private ArtifactRepositoryFactory repositoryFactory
    • interactive

      private boolean interactive
    • availableWagons

      private Map<String,org.codehaus.plexus.PlexusContainer> availableWagons
    • defaultRepositoryPermissions

      private org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions
    • httpUserAgent

      private String httpUserAgent
    • providerMapping

      private WagonProviderMapping providerMapping
  • Constructor Details

    • DefaultWagonManager

      public DefaultWagonManager()
  • Method Details

    • getWagon

      public org.apache.maven.wagon.Wagon getWagon(org.apache.maven.wagon.repository.Repository repository) throws org.apache.maven.wagon.UnsupportedProtocolException, WagonConfigurationException
      Description copied from interface: WagonManager
      Get a Wagon provider for the provided repository. It will configure the Wagon for that repository.
      Specified by:
      getWagon in interface WagonManager
      Parameters:
      repository - the repository
      Returns:
      the Wagon instance that can be used to connect to the repository
      Throws:
      org.apache.maven.wagon.UnsupportedProtocolException - if there is no provider able to handle the protocol
      WagonConfigurationException - if the wagon can't be configured for the repository
    • getWagon

      public org.apache.maven.wagon.Wagon getWagon(String protocol) throws org.apache.maven.wagon.UnsupportedProtocolException
      Description copied from interface: WagonManager
      Get a Wagon provider that understands the protocol passed as argument. It doesn't configure the Wagon.
      Specified by:
      getWagon in interface WagonManager
      Parameters:
      protocol - the protocol the Wagon will handle
      Returns:
      the Wagon instance able to handle the protocol provided
      Throws:
      org.apache.maven.wagon.UnsupportedProtocolException - if there is no provider able to handle the protocol
    • getWagon

      private org.apache.maven.wagon.Wagon getWagon(String protocol, String repositoryId) throws org.apache.maven.wagon.UnsupportedProtocolException
      Throws:
      org.apache.maven.wagon.UnsupportedProtocolException
    • getWagonHint

      private String getWagonHint(String protocol, String repositoryId)
    • getWagonContainer

      private org.codehaus.plexus.PlexusContainer getWagonContainer(String hint)
    • putArtifact

      public void putArtifact(File source, Artifact artifact, ArtifactRepository deploymentRepository) throws org.apache.maven.wagon.TransferFailedException
      Specified by:
      putArtifact in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
    • putArtifactMetadata

      public void putArtifactMetadata(File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException
      Specified by:
      putArtifactMetadata in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
    • putRemoteFile

      private void putRemoteFile(ArtifactRepository repository, File source, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor) throws org.apache.maven.wagon.TransferFailedException
      Throws:
      org.apache.maven.wagon.TransferFailedException
    • getArtifact

      public void getArtifact(Artifact artifact, List remoteRepositories) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
      Specified by:
      getArtifact in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.ResourceDoesNotExistException
    • getArtifact

      public void getArtifact(Artifact artifact, ArtifactRepository repository) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
      Specified by:
      getArtifact in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.ResourceDoesNotExistException
    • getArtifactMetadata

      public void getArtifactMetadata(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
      Specified by:
      getArtifactMetadata in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.ResourceDoesNotExistException
    • getArtifactMetadataFromDeploymentRepository

      public void getArtifactMetadataFromDeploymentRepository(ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
      Specified by:
      getArtifactMetadataFromDeploymentRepository in interface WagonManager
      Throws:
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.ResourceDoesNotExistException
    • getRemoteFile

      private void getRemoteFile(ArtifactRepository repository, File destination, String remotePath, org.apache.maven.wagon.events.TransferListener downloadMonitor, String checksumPolicy, boolean force) throws org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.ResourceDoesNotExistException
      Throws:
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.ResourceDoesNotExistException
    • getMirrorRepository

      public ArtifactRepository getMirrorRepository(ArtifactRepository repository)
      Specified by:
      getMirrorRepository in interface WagonManager
    • failIfNotOnline

      private void failIfNotOnline() throws org.apache.maven.wagon.TransferFailedException
      Throws:
      org.apache.maven.wagon.TransferFailedException
    • handleChecksumFailure

      private void handleChecksumFailure(String checksumPolicy, String message, Throwable cause) throws ChecksumFailedException
      Throws:
      ChecksumFailedException
    • verifyChecksum

      private void verifyChecksum(org.apache.maven.wagon.observers.ChecksumObserver checksumObserver, File destination, File tempDestination, String remotePath, String checksumFileExtension, org.apache.maven.wagon.Wagon wagon) throws org.apache.maven.wagon.ResourceDoesNotExistException, org.apache.maven.wagon.TransferFailedException, org.apache.maven.wagon.authorization.AuthorizationException
      Throws:
      org.apache.maven.wagon.ResourceDoesNotExistException
      org.apache.maven.wagon.TransferFailedException
      org.apache.maven.wagon.authorization.AuthorizationException
    • disconnectWagon

      private void disconnectWagon(org.apache.maven.wagon.Wagon wagon)
    • releaseWagon

      private void releaseWagon(String protocol, org.apache.maven.wagon.Wagon wagon, String repositoryId)
    • getProxy

      public org.apache.maven.wagon.proxy.ProxyInfo getProxy(String protocol)
      Specified by:
      getProxy in interface WagonManager
    • getAuthenticationInfo

      public org.apache.maven.wagon.authentication.AuthenticationInfo getAuthenticationInfo(String id)
      Specified by:
      getAuthenticationInfo in interface WagonManager
    • getMirror

      public ArtifactRepository getMirror(ArtifactRepository originalRepository)
      This method finds a matching mirror for the selected repository. If there is an exact match, this will be used. If there is no exact match, then the list of mirrors is examined to see if a pattern applies.
      Parameters:
      originalRepository - See if there is a mirror for this repository.
      Returns:
      the selected mirror or null if none are found.
    • matchPattern

      public boolean matchPattern(ArtifactRepository originalRepository, String pattern)
      This method checks if the pattern matches the originalRepository. Valid patterns: * = everything external:* = everything not on the localhost and not file based. repo,repo1 = repo or repo1 *,!repo1 = everything except repo1
      Parameters:
      originalRepository - to compare for a match.
      pattern - used for match. Currently only '*' is supported.
      Returns:
      true if the repository is a match to this pattern.
    • isExternalRepo

      public boolean isExternalRepo(ArtifactRepository originalRepository)
      Checks the URL to see if this repository refers to an external repository
      Parameters:
      originalRepository -
      Returns:
      true if external.
    • addProxy

      public void addProxy(String protocol, String host, int port, String username, String password, String nonProxyHosts)
      Set the proxy used for a particular protocol.
      Specified by:
      addProxy in interface WagonManager
      Parameters:
      protocol - the protocol (required)
      host - the proxy host name (required)
      port - the proxy port (required)
      username - the username for the proxy, or null if there is none
      password - the password for the proxy, or null if there is none
      nonProxyHosts - the set of hosts not to use the proxy for. Follows Java system property format: *.foo.com|localhost.
    • contextualize

      public void contextualize(org.codehaus.plexus.context.Context context) throws org.codehaus.plexus.context.ContextException
      Specified by:
      contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
      Throws:
      org.codehaus.plexus.context.ContextException
    • setDownloadMonitor

      public void setDownloadMonitor(org.apache.maven.wagon.events.TransferListener downloadMonitor)
      Specified by:
      setDownloadMonitor in interface WagonManager
    • addAuthenticationInfo

      public void addAuthenticationInfo(String repositoryId, String username, String password, String privateKey, String passphrase)
      Specified by:
      addAuthenticationInfo in interface WagonManager
    • addPermissionInfo

      public void addPermissionInfo(String repositoryId, String filePermissions, String directoryPermissions)
      Specified by:
      addPermissionInfo in interface WagonManager
    • addMirror

      public void addMirror(String id, String mirrorOf, String url)
      Specified by:
      addMirror in interface WagonManager
    • setOnline

      public void setOnline(boolean online)
      Specified by:
      setOnline in interface WagonManager
    • isOnline

      public boolean isOnline()
      Specified by:
      isOnline in interface WagonManager
    • setInteractive

      public void setInteractive(boolean interactive)
      Specified by:
      setInteractive in interface WagonManager
    • registerWagons

      public void registerWagons(Collection wagons, org.codehaus.plexus.PlexusContainer extensionContainer)
      Specified by:
      registerWagons in interface WagonManager
    • configureWagon

      private void configureWagon(org.apache.maven.wagon.Wagon wagon, ArtifactRepository repository) throws WagonConfigurationException
      Applies the server configuration to the wagon
      Parameters:
      wagon - the wagon to configure
      repository - the repository that has the configuration
      Throws:
      WagonConfigurationException - wraps any error given during configuration of the wagon instance
    • configureWagon

      private void configureWagon(org.apache.maven.wagon.Wagon wagon, String repositoryId, String protocol) throws WagonConfigurationException
      Throws:
      WagonConfigurationException
    • updateUserAgentForHttp

      private org.codehaus.plexus.configuration.PlexusConfiguration updateUserAgentForHttp(org.apache.maven.wagon.Wagon wagon, org.codehaus.plexus.configuration.PlexusConfiguration config)
    • addConfiguration

      public void addConfiguration(String repositoryId, org.codehaus.plexus.util.xml.Xpp3Dom configuration)
      Description copied from interface: WagonManager
      Set the configuration for a repository
      Specified by:
      addConfiguration in interface WagonManager
      Parameters:
      repositoryId - id of the repository to set the configuration to
      configuration - dom tree of the xml with the configuration for the Wagon
    • setDefaultRepositoryPermissions

      public void setDefaultRepositoryPermissions(org.apache.maven.wagon.repository.RepositoryPermissions defaultRepositoryPermissions)
      Specified by:
      setDefaultRepositoryPermissions in interface WagonManager
    • initialize

      public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
      Specified by:
      initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
      Throws:
      org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
    • setHttpUserAgent

      public void setHttpUserAgent(String userAgent)
    • getHttpUserAgent

      public String getHttpUserAgent()