Interface IFileDataResultsHandler
Provides methods to queue the file data retrieval results.
Inherited Members
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. |