Skip to content

Commit 6b4f068

Browse files
authored
Feature: add password and extraction parameters for document translation
1 parent 96f7792 commit 6b4f068

5 files changed

Lines changed: 103 additions & 1 deletion

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.translated.lara.translator;
2+
3+
import com.translated.lara.net.HttpParams;
4+
5+
/**
6+
* Abstract base class for extraction parameters by file format.
7+
*/
8+
public abstract class DocumentExtractionParams {
9+
10+
/**
11+
* Convert to HTTP parameters for API requests.
12+
* @return HttpParams containing the extraction parameters
13+
*/
14+
public abstract HttpParams<Object> toParams();
15+
}
16+

src/main/java/com/translated/lara/translator/DocumentTranslateOptions.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ public class DocumentTranslateOptions {
1111
private String outputFormat = null;
1212
private Boolean noTrace = null;
1313
private TranslationStyle style = null;
14+
private String password = null;
15+
private DocumentExtractionParams extractionParams = null;
1416

1517
public String[] getAdaptTo() {
1618
return adaptTo;
@@ -67,12 +69,31 @@ public DocumentTranslateOptions setStyle(TranslationStyle style) {
6769
return this;
6870
}
6971

72+
public String getPassword() {
73+
return password;
74+
}
75+
76+
public DocumentTranslateOptions setPassword(String password) {
77+
this.password = password;
78+
return this;
79+
}
80+
81+
public DocumentExtractionParams getExtractionParams() {
82+
return extractionParams;
83+
}
84+
85+
public DocumentTranslateOptions setExtractionParams(DocumentExtractionParams extractionParams) {
86+
this.extractionParams = extractionParams;
87+
return this;
88+
}
89+
7090
public HttpParams<Object> toParams() {
7191
HttpParams<Object> params = new HttpParams<>();
7292
params.set("adapt_to", adaptTo);
7393
params.set("glossaries", glossaries);
7494
params.set("output_format", outputFormat);
7595
params.set("style", TranslationStyle.toString(style));
96+
params.set("password", password);
7697

7798
return params;
7899
}

src/main/java/com/translated/lara/translator/DocumentUploadOptions.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ public class DocumentUploadOptions {
1010
private String[] glossaries = null;
1111
private Boolean noTrace = null;
1212
private TranslationStyle style = null;
13+
private String password = null;
14+
private DocumentExtractionParams extractionParams = null;
1315

1416
public String[] getAdaptTo() {
1517
return adaptTo;
@@ -57,11 +59,31 @@ public DocumentUploadOptions setStyle(TranslationStyle style) {
5759
return this;
5860
}
5961

62+
public String getPassword() {
63+
return password;
64+
}
65+
66+
public DocumentUploadOptions setPassword(String password) {
67+
this.password = password;
68+
return this;
69+
}
70+
71+
public DocumentExtractionParams getExtractionParams() {
72+
return extractionParams;
73+
}
74+
75+
public DocumentUploadOptions setExtractionParams(DocumentExtractionParams extractionParams) {
76+
this.extractionParams = extractionParams;
77+
return this;
78+
}
79+
6080
public HttpParams<Object> toParams() {
6181
HttpParams<Object> params = new HttpParams<>();
6282
params.set("adapt_to", adaptTo);
6383
params.set("glossaries", glossaries);
6484
params.set("style", TranslationStyle.toString(style));
85+
params.set("password", password);
86+
params.set("extraction_params", extractionParams != null ? extractionParams.toParams() : null);
6587

6688
return params;
6789
}

src/main/java/com/translated/lara/translator/Documents.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.translated.lara.net.S3Client;
1010

1111
import java.io.File;
12-
import java.io.IOException;
1312
import java.io.InputStream;
1413
import java.util.*;
1514

@@ -120,6 +119,8 @@ public InputStream translate(File input, String source, String target, DocumentT
120119
if (options != null && options.getGlossaries() != null) uploadOptions.setGlossaries(options.getGlossaries());
121120
if (options != null && options.getNoTrace()) uploadOptions.setNoTrace(true);
122121
if (options != null && options.getStyle() != null) uploadOptions.setStyle(options.getStyle());
122+
if (options != null && options.getPassword() != null) uploadOptions.setPassword(options.getPassword());
123+
if (options != null && options.getExtractionParams() != null) uploadOptions.setExtractionParams(options.getExtractionParams());
123124

124125
Document document = upload(input, source, target, uploadOptions);
125126
document = pollDocumentUntilCompleted(document);
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.translated.lara.translator;
2+
3+
import com.translated.lara.net.HttpParams;
4+
5+
/**
6+
* Extraction parameters for DOCX files.
7+
*/
8+
public class DocxExtractionParams extends DocumentExtractionParams {
9+
10+
private Boolean extractComments = null;
11+
private Boolean acceptRevisions = null;
12+
13+
public Boolean getExtractComments() {
14+
return extractComments;
15+
}
16+
17+
public DocxExtractionParams setExtractComments(Boolean extractComments) {
18+
this.extractComments = extractComments;
19+
return this;
20+
}
21+
22+
public Boolean getAcceptRevisions() {
23+
return acceptRevisions;
24+
}
25+
26+
public DocxExtractionParams setAcceptRevisions(Boolean acceptRevisions) {
27+
this.acceptRevisions = acceptRevisions;
28+
return this;
29+
}
30+
31+
@Override
32+
public HttpParams<Object> toParams() {
33+
HttpParams<Object> params = new HttpParams<>();
34+
if (extractComments != null) {
35+
params.set("extract_comments", extractComments);
36+
}
37+
if (acceptRevisions != null) {
38+
params.set("accept_revisions", acceptRevisions);
39+
}
40+
return params;
41+
}
42+
}

0 commit comments

Comments
 (0)