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 Details

    • transfer

      @Auditable(parameters="targetName") TransferEndEvent transfer(String targetName, TransferDefinition definition, 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(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(String targetName, TransferDefinition definition, 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(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
    • verify

      @NotAuditable void verify(TransferTarget target) throws TransferException
      Verify a target is available and that the configured credentials are valid.
      Throws:
      TransferException
    • createAndSaveTransferTarget

      @Auditable TransferTarget createAndSaveTransferTarget(String name, String title, String description, String endpointProtocol, String endpointHost, int endpointPort, String endpointPath, 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(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 Set<TransferTarget> getTransferTargets() throws TransferException
      Get all the transfer targets
      Throws:
      TransferException
    • getTransferTargets

      @NotAuditable Set<TransferTarget> getTransferTargets(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
    • getTransferTarget

      @NotAuditable TransferTarget getTransferTarget(String name) throws TransferException
      Get a transfer target by its name
      Throws:
      TransferException - - target does not exist
    • targetExists

      @NotAuditable boolean targetExists(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(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(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(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: