Skip to content

Commit 45dce4c

Browse files
kellerkind87Ann
authored andcommitted
fix: removed dependency to fileinputstream (#12)
* removed dependency to fileinputstream in order to process other sources of an image like incoming streams from other web requests, without persisting files first on disk Signed-off-by: Erik Neurohr <erik.neurohr@leadtributor.com> * removed dependency to fileinputstream in order to process other sources of an image like incoming streams from other web requests, without persisting files first on disk Signed-off-by: Erik Neurohr <erik.neurohr@leadtributor.com>
1 parent f2dac27 commit 45dce4c

4 files changed

Lines changed: 27 additions & 26 deletions

File tree

src/main/java/abbyy/cloudsdk/v2/client/IOcrClient.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import abbyy.cloudsdk.v2.client.models.enums.TaskStatus;
2222
import abbyy.cloudsdk.v2.client.models.requestparams.*;
2323

24-
import java.io.FileInputStream;
24+
import java.io.InputStream;
2525
import java.util.UUID;
2626
import java.util.concurrent.CompletableFuture;
2727

@@ -44,27 +44,27 @@ public interface IOcrClient {
4444
* @param waitTaskFinished Indicates whether to wait until task is finished.
4545
* @return {@link TaskInfo}
4646
*/
47-
CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams parameters, FileInputStream fileStream, String fileName,
47+
CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams parameters, InputStream fileStream, String fileName,
4848
boolean waitTaskFinished);
4949

5050
/**
5151
* The method adds the image to the existing task or creates a new task for the image. This task is not passed for processing until
5252
* the {@link #processDocumentAsync(DocumentProcessingParams, boolean)} or
53-
* {@link #processFieldsAsync(FieldsProcessingParams, FileInputStream, String, boolean)} method is called for it.
53+
* {@link #processFieldsAsync(FieldsProcessingParams, InputStream, String, boolean)} method is called for it.
5454
* Several images can be uploaded to one task
5555
* @param parameters Image submitting parameters
5656
* @param fileStream Stream of the file with the image to recognize
5757
* @param fileName Name of the file with the image
5858
* @return {@link TaskInfo}
5959
*/
60-
CompletableFuture<TaskInfo> submitImageAsync(ImageSubmittingParams parameters, FileInputStream fileStream, String fileName);
60+
CompletableFuture<TaskInfo> submitImageAsync(ImageSubmittingParams parameters, InputStream fileStream, String fileName);
6161

6262

6363
/**
6464
* The method starts the processing task with the specified parameters.
6565
*
6666
* <b>Note:</b> This method allows you to process several images using the same settings and obtain recognition
67-
* result as a multi-page document. You can upload several images to one task using {@link #submitImageAsync(ImageSubmittingParams, FileInputStream, String)} method.
67+
* result as a multi-page document. You can upload several images to one task using {@link #submitImageAsync(ImageSubmittingParams, InputStream, String)} method.
6868
* It is also possible to specify up to three file formats for the result, in which case the server response for the completed
6969
* task will contain several result URLs. Only the task with {@link TaskStatus#Submitted},
7070
* {@link TaskStatus#Completed} or {@link TaskStatus#NotEnoughCredits}
@@ -85,7 +85,7 @@ CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams parameters,
8585
* @param waitTaskFinished Indicates whether to wait until task is finished.
8686
* @return {@link TaskInfo}
8787
*/
88-
CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessingParams parameters, FileInputStream fileStream,
88+
CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessingParams parameters, InputStream fileStream,
8989
String fileName, boolean waitTaskFinished);
9090

9191
/**
@@ -102,7 +102,7 @@ CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessingParam
102102
* @param waitTaskFinished Indicates whether to wait until task is finished.
103103
* @return {@link TaskInfo}
104104
*/
105-
CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingParams parameters, FileInputStream fileStream,
105+
CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingParams parameters, InputStream fileStream,
106106
String fileName, boolean waitTaskFinished);
107107

108108
/**
@@ -121,7 +121,7 @@ CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingParams para
121121
* @param waitTaskFinished Indicates whether to wait until task is finished.
122122
* @return {@link TaskInfo}
123123
*/
124-
CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessingParams parameters, FileInputStream fileStream,
124+
CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessingParams parameters, InputStream fileStream,
125125
String fileName, boolean waitTaskFinished);
126126

127127

@@ -138,7 +138,7 @@ CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessingParam
138138
* @param waitTaskFinished Indicates whether to wait until task is finished.
139139
* @return {@link TaskInfo}
140140
*/
141-
CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProcessingParams parameters, FileInputStream fileStream,
141+
CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProcessingParams parameters, InputStream fileStream,
142142
String fileName, boolean waitTaskFinished);
143143

144144
/**
@@ -161,7 +161,7 @@ CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProcessingP
161161
* @param waitTaskFinished Indicates whether to wait until task is finished.
162162
* @return {@link TaskInfo}
163163
*/
164-
CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams parameters, FileInputStream fileStream,
164+
CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams parameters, InputStream fileStream,
165165
String fileName, boolean waitTaskFinished);
166166

167167
/**
@@ -180,7 +180,7 @@ CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams parameters
180180
* @param waitTaskFinished Indicates whether to wait until task is finished.
181181
* @return {@link TaskInfo}
182182
*/
183-
CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameters, FileInputStream fileStream,
183+
CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameters, InputStream fileStream,
184184
String fileName, boolean waitTaskFinished);
185185

186186
/**
@@ -200,7 +200,7 @@ CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameters, File
200200
* @param waitTaskFinished Indicates whether to wait until task is finished.
201201
* @return {@link TaskInfo}
202202
*/
203-
CompletableFuture<TaskInfo> processReceiptAsync(ReceiptProccessingParams parameters, FileInputStream fileStream,
203+
CompletableFuture<TaskInfo> processReceiptAsync(ReceiptProccessingParams parameters, InputStream fileStream,
204204
String fileName, boolean waitTaskFinished);
205205

206206
/**

src/main/java/abbyy/cloudsdk/v2/client/OcrClient.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public OcrClient(AuthInfo authInfo) {
3939
* {@inheritDoc}
4040
*/
4141
@Override
42-
public CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams parameters, FileInputStream fileStream, String fileName,
42+
public CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams parameters, InputStream fileStream, String fileName,
4343
boolean waitTaskFinished){
4444
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessImage, parameters, fileStream, fileName, waitTaskFinished);
4545
}
@@ -48,7 +48,7 @@ public CompletableFuture<TaskInfo> processImageAsync(ImageProcessingParams param
4848
* {@inheritDoc}
4949
*/
5050
@Override
51-
public CompletableFuture<TaskInfo> submitImageAsync(ImageSubmittingParams parameters, FileInputStream fileStream, String fileName) {
51+
public CompletableFuture<TaskInfo> submitImageAsync(ImageSubmittingParams parameters, InputStream fileStream, String fileName) {
5252
return makeRequestAsync(HttpRequestMethod.Post, Urls.SubmitImage, parameters, fileStream, fileName, parameters.getResponseClass());
5353
}
5454

@@ -64,7 +64,7 @@ public CompletableFuture<TaskInfo> processDocumentAsync(DocumentProcessingParams
6464
* {@inheritDoc}
6565
*/
6666
@Override
67-
public CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessingParams parameters, FileInputStream fileStream,
67+
public CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessingParams parameters, InputStream fileStream,
6868
String fileName, boolean waitTaskFinished) {
6969
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessBusinessCard, parameters, fileStream, fileName, waitTaskFinished);
7070
}
@@ -73,7 +73,7 @@ public CompletableFuture<TaskInfo> processBusinessCardAsync(BusinessCardProcessi
7373
* {@inheritDoc}
7474
*/
7575
@Override
76-
public CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingParams parameters, FileInputStream fileStream,
76+
public CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingParams parameters, InputStream fileStream,
7777
String fileName, boolean waitTaskFinished) {
7878
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessTextField, parameters, fileStream, fileName, waitTaskFinished);
7979
}
@@ -82,7 +82,7 @@ public CompletableFuture<TaskInfo> processTextFieldAsync(TextFieldProcessingPara
8282
* {@inheritDoc}
8383
*/
8484
@Override
85-
public CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessingParams parameters, FileInputStream fileStream,
85+
public CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessingParams parameters, InputStream fileStream,
8686
String fileName, boolean waitTaskFinished) {
8787
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessBarcodeField, parameters, fileStream, fileName, waitTaskFinished);
8888
}
@@ -91,7 +91,7 @@ public CompletableFuture<TaskInfo> processBarcodeFieldAsync(BarcodeFieldProcessi
9191
* {@inheritDoc}
9292
*/
9393
@Override
94-
public CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProcessingParams parameters, FileInputStream fileStream,
94+
public CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProcessingParams parameters, InputStream fileStream,
9595
String fileName, boolean waitTaskFinished) {
9696
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessCheckmarkField, parameters, fileStream, fileName, waitTaskFinished);
9797
}
@@ -100,7 +100,7 @@ public CompletableFuture<TaskInfo> processCheckmarkFieldAsync(CheckmarkFieldProc
100100
* {@inheritDoc}
101101
*/
102102
@Override
103-
public CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams parameters, FileInputStream fileStream,
103+
public CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams parameters, InputStream fileStream,
104104
String fileName, boolean waitTaskFinished) {
105105
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessFields, parameters, fileStream, fileName, waitTaskFinished);
106106
}
@@ -109,7 +109,7 @@ public CompletableFuture<TaskInfo> processFieldsAsync(FieldsProcessingParams par
109109
* {@inheritDoc}
110110
*/
111111
@Override
112-
public CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameters, FileInputStream fileStream,
112+
public CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameters, InputStream fileStream,
113113
String fileName, boolean waitTaskFinished) {
114114
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessMrz, parameters, fileStream, fileName, waitTaskFinished);
115115
}
@@ -118,7 +118,7 @@ public CompletableFuture<TaskInfo> processMrzAsync(MrzProcessingParams parameter
118118
* {@inheritDoc}
119119
*/
120120
@Override
121-
public CompletableFuture<TaskInfo> processReceiptAsync(ReceiptProccessingParams parameters, FileInputStream fileStream,
121+
public CompletableFuture<TaskInfo> processReceiptAsync(ReceiptProccessingParams parameters, InputStream fileStream,
122122
String fileName, boolean waitTaskFinished) {
123123
return startTaskAsync(HttpRequestMethod.Post, Urls.ProcessReceipt, parameters, fileStream, fileName, waitTaskFinished);
124124
}
@@ -167,7 +167,7 @@ private CompletableFuture<TaskInfo> startTaskAsync(
167167
HttpRequestMethod method,
168168
String requestUrl,
169169
RequestParams<TaskInfo> params,
170-
FileInputStream fileStream,
170+
InputStream fileStream,
171171
String filename,
172172
boolean waitTaskFinished
173173
) {
@@ -183,7 +183,7 @@ private <T> CompletableFuture<T> makeRequestAsync(
183183
HttpRequestMethod method,
184184
String requestUrl,
185185
Object params,
186-
FileInputStream fileStream,
186+
InputStream fileStream,
187187
String fileName,
188188
Class<T> responseClass
189189
) {

src/main/java/abbyy/cloudsdk/v2/client/http/HttpAsyncFileWrapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ public class HttpAsyncFileWrapper {
2121
private static final String lineSeparator = "\r\n";
2222
private static final String boundaryPrefix = "--";
2323

24-
private FileInputStream fileStream;
24+
private InputStream fileStream;
2525
private String fileName;
2626

2727
private String boundary;
2828

29-
public HttpAsyncFileWrapper(FileInputStream fileStream, String fileName) {
29+
public HttpAsyncFileWrapper(InputStream fileStream, String fileName) {
3030
this.fileStream = fileStream;
3131
this.fileName = fileName;
3232
this.boundary = UUID.randomUUID().toString();

src/main/java/abbyy/cloudsdk/v2/client/http/HttpAsyncRequest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import abbyy.cloudsdk.v2.client.Serializer;
1818

1919
import java.io.FileInputStream;
20+
import java.io.InputStream;
2021
import java.util.HashMap;
2122
import java.util.Map;
2223

@@ -58,7 +59,7 @@ public void setFileWrapper(HttpAsyncFileWrapper fileWrapper) {
5859
this.fileWrapper = fileWrapper;
5960
}
6061

61-
public static <T> HttpAsyncRequest<T> buildRequest(HttpRequestMethod method, String requestUrl, Object params, FileInputStream fileStream, String fileName) {
62+
public static <T> HttpAsyncRequest<T> buildRequest(HttpRequestMethod method, String requestUrl, Object params, InputStream fileStream, String fileName) {
6263
HttpAsyncRequest<T> request = new HttpAsyncRequest<>();
6364
request.setMethod(method);
6465
request.setRequestUri(buildRequestUri(requestUrl, params));

0 commit comments

Comments
 (0)