Interface TransferService2

  • All Known Implementing Classes:
    TransferServiceImpl2

    public interface TransferService2
    The transfer service is responsible for transferring nodes between one instance of Alfresco and another remote instance. as well as the transfer method, this interface also provides methods for managing transfer targets.
    Author:
    davidc
    • Method Detail

      • transfer

        @Auditable(parameters="targetName")
        TransferEndEvent transfer​(java.lang.String targetName,
                                  TransferDefinition definition,
                                  java.util.Collection<TransferCallback> callback)
                           throws TransferFailureException
        Transfer nodes sync, with callback. This synchronous version of the transfer method waits for the transfer to complete before returning to the caller. Callbacks are called in the current thread context, so will be associated with the current transaction and user.
        Parameters:
        targetName - the name of the target to transfer to
        definition - - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodes
        callback - - a set of callback handlers that will be called as transfer proceeds. May be null.
        Returns:
        transfer end event (in case of success or cancellation)
        Throws:
        TransferException
        TransferFailureException
      • transfer

        @Auditable(parameters="targetName")
        TransferEndEvent transfer​(java.lang.String targetName,
                                  TransferDefinition definition,
                                  TransferCallback... callbacks)
                           throws TransferFailureException
        Transfer nodes sync, with callback. This synchronous version of the transfer method waits for the transfer to complete before returning to the caller. Callbacks are called in the current thread context, so will be associated with the current transaction and user.
        Parameters:
        targetName - the name of the target to transfer to
        definition - - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodes
        callbacks - - a list of callback handlers that will be called as transfer proceeds. May be null.
        Returns:
        transfer end event (in case of success or cancellation)
        Throws:
        TransferException
        TransferFailureException
      • transferAsync

        @Auditable(parameters="targetName")
        void transferAsync​(java.lang.String targetName,
                           TransferDefinition definition,
                           java.util.Collection<TransferCallback> callback)
                    throws TransferException
        Transfer nodes async with callback. The asynchronous version of the transfer method starts a transfer and returns as soon as possible. The transfer callbacks will be called by a different thread to that used to call the transferAsync method so transaction context will be different to the calling context. The asychronous transfer does not have access to uncommitted data in the calling transaction.
        Parameters:
        targetName - the name of the target to transfer to
        definition - - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodes
        callback - - a collection of callback handlers that will be called as transfer proceeds. May be null.
        Throws:
        TransferException
      • transferAsync

        @Auditable(parameters="targetName")
        void transferAsync​(java.lang.String targetName,
                           TransferDefinition definition,
                           TransferCallback... callbacks)
                    throws TransferException
        Transfer nodes async with callback. The asynchronous version of the transfer method starts a transfer and returns as soon as possible. The transfer callbacks will be called by a different thread to that used to call the transferAsync method so transaction context will be different to the calling context. The asychronous transfer does not have access to uncommitted data in the calling transaction.
        Parameters:
        targetName - the name of the target to transfer to
        definition - - the definition of the transfer. Specifies which nodes to transfer. The following properties must be set, nodes
        callbacks - - a collection of callback handlers that will be called as transfer proceeds. May be null.
        Throws:
        TransferException
      • createAndSaveTransferTarget

        @Auditable
        TransferTarget createAndSaveTransferTarget​(java.lang.String name,
                                                   java.lang.String title,
                                                   java.lang.String description,
                                                   java.lang.String endpointProtocol,
                                                   java.lang.String endpointHost,
                                                   int endpointPort,
                                                   java.lang.String endpointPath,
                                                   java.lang.String username,
                                                   char[] password)
                                            throws TransferException
        Create and save a new transfer target. Creates and saves a new transfer target with a single, but long, method call.
        Parameters:
        name - the name of this transfer target, which must be unique
        title - the display name of this transfer target
        description - String
        endpointProtocol - either http or https
        endpointHost - String
        endpointPort - int
        endpointPath - String
        username - String
        password - char[]
        Returns:
        the newly created transfer target.
        Throws:
        TransferException
      • createTransferTarget

        @Auditable(parameters="name")
        TransferTarget createTransferTarget​(java.lang.String name)
        Creates an in memory transfer target. Before it is used it must be populated with the following values and saved with the saveTransferTarget method. The name of the transfer target must be unique.
        • title
        • description
        • endpointProtocol
        • endpointHost
        • endpointPort
        • endpointPath
        • username
        • password
        Returns:
        an in memory transfer target
      • getTransferTargets

        @NotAuditable
        java.util.Set<TransferTarget> getTransferTargets​(java.lang.String groupName)
                                                  throws TransferException
        Get All the transfer targets for a particular transfer target group.
        Parameters:
        groupName - the name of the transfer group
        Throws:
        TransferException
      • targetExists

        @NotAuditable
        boolean targetExists​(java.lang.String name)
        Test to see if the target with the specified name exists
        Parameters:
        name - String
        Returns:
        true if the specified target exists, and false otherwise
      • deleteTransferTarget

        @Auditable(parameters="name")
        void deleteTransferTarget​(java.lang.String name)
                           throws TransferException
        Delete a transfer target. After calling this method the transfer target will no longer exist.
        Parameters:
        name - the name of this transfer target,
        Throws:
        TransferException - - target does not exist
      • saveTransferTarget

        @Auditable
        TransferTarget saveTransferTarget​(TransferTarget update)
                                   throws TransferException
        Save TransferTarget, will create a transfer target if it does not already exist or update an existing transfer target. The following properties may be updated: endpointHost, endpointPort, endpointProtocol, endpointPath, username, password, title, description The following properties may not be updated: name, must be specified. nodeRef, if specified will be ignored.
        Parameters:
        update - TransferTarget
        Throws:
        TransferException
      • enableTransferTarget

        @Auditable(parameters={"name","enable"})
        void enableTransferTarget​(java.lang.String name,
                                  boolean enable)
                           throws TransferException
        Enables/Disables the named transfer target
        Parameters:
        name - the name of the transfer target
        enable - (or false=disable)
        Throws:
        TransferException
      • cancelAsync

        @Auditable(parameters="transferId")
        void cancelAsync​(java.lang.String transferId)
        Asynchronously cancel an in-progress transfer This method tells an in-process transfer to give up, rollback and stop as soon as possible. Depending upon the state of the in-progress transfer, the transfer may still complete, despite calling this method, however in most cases the transfer will not complete. Calling this method for a transfer that does not exist, possibly because it has already finished, has no effect and will not throw an exception. The transfer identifier can be obtained from the TransferEventBegin event that is passed to registered callbacks when transfer starts.
        Parameters:
        transferId - the unique identifier of the transfer to cancel.
        See Also:
        TransferEventBegin