Show / Hide Table of Contents

Interface IFileDataResultsHandler

Provides methods to queue the file data retrieval results.

Inherited Members
IFailureRegistration.RegisterFailureAsync(Nullable<String>, IFailureDetails, CancellationToken)
IFailureRegistration.RegisterFailureAsync(IFailureDetails, CancellationToken)
Namespace: OpenText.Fusion.AdapterSdk.Api
Assembly: OpenText.Fusion.AdapterSdk.Api.dll
Syntax
public interface IFileDataResultsHandler : IFailureRegistration
Remarks

Allows passing retrieved binary file contents and metadata to the engine and then for processing by Fusion.

Methods

AddDeletedItemAsync(String, CancellationToken)

Adds a non-existent file to the list of deleted items.

Declaration
ValueTask AddDeletedItemAsync(string fileId, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

CancellationToken cancellationToken
Returns
Type Description
ValueTask

ValueTask.

AddLostItemAsync(String, CancellationToken)

Adds a non-existent file to the list of lost items.

Declaration
ValueTask AddLostItemAsync(string fileId, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

CancellationToken cancellationToken

The cancellation token.

Returns
Type Description
ValueTask

ValueTask.

QueueFileAsync(String, Func<IFileInfo, CancellationToken, Task>, IFileMetadata, IEnumerable<IFailure>, CancellationToken)

Queues the contents, failures and metadata of an file.

Declaration
ValueTask QueueFileAsync(string fileId, Func<IFileInfo, CancellationToken, Task> writeToFileFunction, IFileMetadata metadata, IEnumerable<IFailure> failures, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

Func<IFileInfo, CancellationToken, Task> writeToFileFunction

A function that writes the file contents to the specified file.

IFileMetadata metadata

The metadata.

IEnumerable<IFailure> failures

The failures.

CancellationToken cancellationToken

The cancellation token.

Returns
Type Description
ValueTask

ValueTask.

Exceptions
Type Condition
AbortRequestedException

Processing of the current operation should be aborted.

QueueFileAsync(String, Func<Stream>, IFileMetadata, CancellationToken)

Queues the contents and metadata of an file.

Declaration
ValueTask QueueFileAsync(string fileId, Func<Stream> fileContents, IFileMetadata metadata, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

Func<Stream> fileContents

The file contents.

IFileMetadata metadata

The metadata.

CancellationToken cancellationToken

The cancellation token.

Returns
Type Description
ValueTask

ValueTask.

Examples

Below is an example of the RetrieveFilesDataAsync method and the handler.QueueFileAsync.

The fileId parameter should be taken directly from a repository file being processed.

Func<Stream> used to pass the file contents.

public async Task RetrieveFilesDataAsync(RetrieveFilesDataRequest request, IFileDataResultsHandler handler, CancellationToken cancellationToken)
{
  foreach (var repositoryFile in request.Files)
  {
      var file = new FileInfo(repositoryFile.Metadata.FileLocation);
      var fileStream = file.OpenRead();
      repositoryFile.Metadata.AdditionalMetadata.Add("custom_property", 123);
      handler.QueueFileAsync(repositoryFile.FileId, new FileContents(fileStream), repositoryFile.Metadata);
  }
}
Exceptions
Type Condition
AbortRequestedException

Processing of the current operation should be aborted.

QueueFileAsync(String, Func<Stream>, IFileMetadata, IEnumerable<IFailure>, CancellationToken)

Queues the contents, failures and metadata of an file.

Declaration
ValueTask QueueFileAsync(string fileId, Func<Stream> fileContents, IFileMetadata metadata, IEnumerable<IFailure> failures, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

Func<Stream> fileContents

The file contents.

IFileMetadata metadata

The metadata.

IEnumerable<IFailure> failures

The failures.

CancellationToken cancellationToken

The cancellation token.

Returns
Type Description
ValueTask

ValueTask.

Examples

Below is an example of the RetrieveFilesDataAsync method and the handler.QueueFileAsync.

The fileId parameter should be taken directly from a repository file being processed.

Func<Stream> used to pass the file contents.

public async Task RetrieveFilesDataAsync(RetrieveFilesDataRequest request, IFileDataResultsHandler handler, CancellationToken cancellationToken)
{
  foreach (var repositoryFile in request.Files)
  {
      var file = new FileInfo(repositoryFile.Metadata.FileLocation);
      var fileStream = file.OpenRead();
      repositoryFile.Metadata.AdditionalMetadata.Add("custom_property", 123);
      var failureMessage = new FailureMessage("SDC_ERROR_CODE", $"Failed to obtain file contents")
      handler.QueueFileAsync(repositoryFile.FileId,
                             new FileContents(fileStream),
                             new List<IFailureMessage> {failureMessage}
                             repositoryFile.Metadata);,
  }
}
Exceptions
Type Condition
AbortRequestedException

Processing of the current operation should be aborted.

RetryAfterAsync(String, TimeSpan, CancellationToken)

Requests that the file data retrieval operation be retried after the specified time.

Declaration
ValueTask RetryAfterAsync(string fileId, TimeSpan delay, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String fileId

The file identifier.

TimeSpan delay

The timespan to pass before the operation is retried.

CancellationToken cancellationToken

The cancellation token.

Returns
Type Description
ValueTask

ValueTask.

See Also

IFailureRegistration
In This Article
Back to top Generated by DocFX