use of com.microsoft.azure.batch.protocol.models.NodeFile in project azure-sdk-for-java by Azure.
the class FilesImpl method listFromTaskAsync.
/**
* Lists the files in a task's directory on its compute node.
*
* @param jobId The id of the job that contains the task.
* @param taskId The id of the task whose files you want to list.
* @param recursive Whether to list children of a directory.
* @param fileListFromTaskOptions Additional parameters for the operation
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if callback is null
* @return the {@link Call} object
*/
public ServiceCall listFromTaskAsync(final String jobId, final String taskId, final Boolean recursive, final FileListFromTaskOptions fileListFromTaskOptions, final ListOperationCallback<NodeFile> serviceCallback) throws IllegalArgumentException {
if (serviceCallback == null) {
throw new IllegalArgumentException("ServiceCallback is required for async calls.");
}
if (jobId == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter jobId is required and cannot be null."));
return null;
}
if (taskId == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter taskId is required and cannot be null."));
return null;
}
if (this.client.apiVersion() == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."));
return null;
}
Validator.validate(fileListFromTaskOptions, serviceCallback);
String filter = null;
if (fileListFromTaskOptions != null) {
filter = fileListFromTaskOptions.filter();
}
Integer maxResults = null;
if (fileListFromTaskOptions != null) {
maxResults = fileListFromTaskOptions.maxResults();
}
Integer timeout = null;
if (fileListFromTaskOptions != null) {
timeout = fileListFromTaskOptions.timeout();
}
String clientRequestId = null;
if (fileListFromTaskOptions != null) {
clientRequestId = fileListFromTaskOptions.clientRequestId();
}
Boolean returnClientRequestId = null;
if (fileListFromTaskOptions != null) {
returnClientRequestId = fileListFromTaskOptions.returnClientRequestId();
}
DateTime ocpDate = null;
if (fileListFromTaskOptions != null) {
ocpDate = fileListFromTaskOptions.ocpDate();
}
DateTimeRfc1123 ocpDateConverted = null;
if (ocpDate != null) {
ocpDateConverted = new DateTimeRfc1123(ocpDate);
}
Call<ResponseBody> call = service.listFromTask(jobId, taskId, recursive, this.client.apiVersion(), this.client.acceptLanguage(), filter, maxResults, timeout, clientRequestId, returnClientRequestId, ocpDateConverted, this.client.userAgent());
final ServiceCall serviceCall = new ServiceCall(call);
call.enqueue(new ServiceResponseCallback<List<NodeFile>>(serviceCallback) {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
ServiceResponseWithHeaders<PageImpl<NodeFile>, FileListFromTaskHeaders> result = listFromTaskDelegate(response);
serviceCallback.load(result.getBody().getItems());
if (result.getBody().getNextPageLink() != null && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
FileListFromTaskNextOptions fileListFromTaskNextOptions = null;
if (fileListFromTaskOptions != null) {
fileListFromTaskNextOptions = new FileListFromTaskNextOptions();
fileListFromTaskNextOptions.withClientRequestId(fileListFromTaskOptions.clientRequestId());
fileListFromTaskNextOptions.withReturnClientRequestId(fileListFromTaskOptions.returnClientRequestId());
fileListFromTaskNextOptions.withOcpDate(fileListFromTaskOptions.ocpDate());
}
listFromTaskNextAsync(result.getBody().getNextPageLink(), fileListFromTaskNextOptions, serviceCall, serviceCallback);
} else {
serviceCallback.success(new ServiceResponseWithHeaders<>(serviceCallback.get(), result.getHeaders(), result.getResponse()));
}
} catch (BatchErrorException | IOException exception) {
serviceCallback.failure(exception);
}
}
});
return serviceCall;
}
use of com.microsoft.azure.batch.protocol.models.NodeFile in project azure-sdk-for-java by Azure.
the class FilesImpl method listFromTaskAsync.
/**
* Lists the files in a task's directory on its compute node.
*
* @param jobId The id of the job that contains the task.
* @param taskId The id of the task whose files you want to list.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if callback is null
* @return the {@link Call} object
*/
public ServiceCall listFromTaskAsync(final String jobId, final String taskId, final ListOperationCallback<NodeFile> serviceCallback) throws IllegalArgumentException {
if (serviceCallback == null) {
throw new IllegalArgumentException("ServiceCallback is required for async calls.");
}
if (jobId == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter jobId is required and cannot be null."));
return null;
}
if (taskId == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter taskId is required and cannot be null."));
return null;
}
if (this.client.apiVersion() == null) {
serviceCallback.failure(new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null."));
return null;
}
final Boolean recursive = null;
final FileListFromTaskOptions fileListFromTaskOptions = null;
String filter = null;
Integer maxResults = null;
Integer timeout = null;
String clientRequestId = null;
Boolean returnClientRequestId = null;
DateTime ocpDate = null;
DateTimeRfc1123 ocpDateConverted = null;
if (ocpDate != null) {
ocpDateConverted = new DateTimeRfc1123(ocpDate);
}
Call<ResponseBody> call = service.listFromTask(jobId, taskId, recursive, this.client.apiVersion(), this.client.acceptLanguage(), filter, maxResults, timeout, clientRequestId, returnClientRequestId, ocpDateConverted, this.client.userAgent());
final ServiceCall serviceCall = new ServiceCall(call);
call.enqueue(new ServiceResponseCallback<List<NodeFile>>(serviceCallback) {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
ServiceResponseWithHeaders<PageImpl<NodeFile>, FileListFromTaskHeaders> result = listFromTaskDelegate(response);
serviceCallback.load(result.getBody().getItems());
if (result.getBody().getNextPageLink() != null && serviceCallback.progress(result.getBody().getItems()) == ListOperationCallback.PagingBahavior.CONTINUE) {
listFromTaskNextAsync(result.getBody().getNextPageLink(), null, serviceCall, serviceCallback);
} else {
serviceCallback.success(new ServiceResponseWithHeaders<>(serviceCallback.get(), result.getHeaders(), result.getResponse()));
}
} catch (BatchErrorException | IOException exception) {
serviceCallback.failure(exception);
}
}
});
return serviceCall;
}
Aggregations