Class WagonTransporter

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, Transporter

    final class WagonTransporter
    extends java.lang.Object
    implements Transporter
    A transporter using Maven Wagon.
    • Field Detail

      • CONFIG_PROP_CONFIG

        private static final java.lang.String CONFIG_PROP_CONFIG
        See Also:
        Constant Field Values
      • CONFIG_PROP_FILE_MODE

        private static final java.lang.String CONFIG_PROP_FILE_MODE
        See Also:
        Constant Field Values
      • CONFIG_PROP_DIR_MODE

        private static final java.lang.String CONFIG_PROP_DIR_MODE
        See Also:
        Constant Field Values
      • CONFIG_PROP_GROUP

        private static final java.lang.String CONFIG_PROP_GROUP
        See Also:
        Constant Field Values
      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • wagonHint

        private final java.lang.String wagonHint
      • wagonRepo

        private final org.apache.maven.wagon.repository.Repository wagonRepo
      • wagonAuth

        private final org.apache.maven.wagon.authentication.AuthenticationInfo wagonAuth
      • wagonProxy

        private final org.apache.maven.wagon.proxy.ProxyInfoProvider wagonProxy
      • headers

        private final java.util.Properties headers
      • wagons

        private final java.util.Queue<org.apache.maven.wagon.Wagon> wagons
      • closed

        private final java.util.concurrent.atomic.AtomicBoolean closed
    • Method Detail

      • getPermissions

        private static org.apache.maven.wagon.repository.RepositoryPermissions getPermissions​(java.lang.String repoId,
                                                                                              RepositorySystemSession session)
      • lookupWagon

        private org.apache.maven.wagon.Wagon lookupWagon()
                                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • releaseWagon

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

        private void connectWagon​(org.apache.maven.wagon.Wagon wagon)
                           throws org.apache.maven.wagon.WagonException
        Throws:
        org.apache.maven.wagon.WagonException
      • disconnectWagon

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

        private org.apache.maven.wagon.Wagon pollWagon()
                                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • classify

        public int classify​(java.lang.Throwable error)
        Description copied from interface: Transporter
        Classifies the type of exception that has been thrown from a previous request to the transporter. The exception types employed by a transporter are generally unknown to its caller. Where a caller needs to distinguish between certain error cases, it employs this method to detect which error case corresponds to the exception.
        Specified by:
        classify in interface Transporter
        Parameters:
        error - The exception to classify, must not be null.
        Returns:
        The classification of the error, either Transporter.ERROR_NOT_FOUND or Transporter.ERROR_OTHER.
      • peek

        public void peek​(PeekTask task)
                  throws java.lang.Exception
        Description copied from interface: Transporter
        Checks the existence of a resource in the repository. If the remote repository can be contacted successfully but indicates the resource specified in the request does not exist, an exception is thrown such that invoking Transporter.classify(Throwable) with that exception yields Transporter.ERROR_NOT_FOUND.
        Specified by:
        peek in interface Transporter
        Parameters:
        task - The existence check to perform, must not be null.
        Throws:
        java.lang.Exception - If the existence of the specified resource could not be confirmed.
      • get

        public void get​(GetTask task)
                 throws java.lang.Exception
        Description copied from interface: Transporter
        Downloads a resource from the repository. If the resource is downloaded to a file as given by GetTask.getDataFile() and the operation fails midway, the transporter should not delete the partial file but leave its management to the caller.
        Specified by:
        get in interface Transporter
        Parameters:
        task - The download to perform, must not be null.
        Throws:
        java.lang.Exception - If the transfer failed.
      • put

        public void put​(PutTask task)
                 throws java.lang.Exception
        Description copied from interface: Transporter
        Uploads a resource to the repository.
        Specified by:
        put in interface Transporter
        Parameters:
        task - The upload to perform, must not be null.
        Throws:
        java.lang.Exception - If the transfer failed.
      • newTempFile

        private static java.io.File newTempFile()
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • delTempFile

        private void delTempFile​(java.io.File path)
      • copy

        private static void copy​(java.io.OutputStream os,
                                 java.io.InputStream is)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
        Description copied from interface: Transporter
        Closes this transporter and frees any network resources associated with it. Once closed, a transporter must not be used for further transfers, any attempt to do so would yield a IllegalStateException or similar. Closing an already closed transporter is harmless and has no effect.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface Transporter