Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
mfriesen committed Jun 1, 2024
1 parent 77e3e18 commit 1caa07e
Show file tree
Hide file tree
Showing 8 changed files with 219 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collection;
import java.util.Collections;
Expand All @@ -41,6 +40,7 @@
import java.util.stream.Collectors;
import com.formkiq.client.api.AdvancedDocumentSearchApi;
import com.formkiq.client.api.DocumentActionsApi;
import com.formkiq.client.api.DocumentAttributesApi;
import com.formkiq.client.api.DocumentTagsApi;
import com.formkiq.client.api.DocumentsApi;
import com.formkiq.client.invoker.ApiClient;
Expand All @@ -51,6 +51,7 @@
import com.formkiq.client.model.AddDocumentTagsRequest;
import com.formkiq.client.model.DocumentAction;
import com.formkiq.client.model.DocumentActionStatus;
import com.formkiq.client.model.DocumentAttribute;
import com.formkiq.client.model.GetDocumentActionsResponse;
import com.formkiq.client.model.GetDocumentContentResponse;
import com.formkiq.client.model.GetDocumentFulltextResponse;
Expand All @@ -68,9 +69,9 @@
public class FkqDocumentService {

/** {@link Gson}. */
private static Gson gson = new GsonBuilder().disableHtmlEscaping().create();
private static final Gson GSON = new GsonBuilder().disableHtmlEscaping().create();
/** {@link HttpClient}. */
private static HttpClient http = HttpClient.newHttpClient();
private static final HttpClient HTTP = HttpClient.newHttpClient();

/**
* Add Document.
Expand Down Expand Up @@ -119,11 +120,11 @@ public static String addDocument(final ApiClient apiClient, final String siteId,

DocumentsApi api = new DocumentsApi(apiClient);
GetDocumentUrlResponse response =
api.getDocumentUpload(path, siteId, Integer.valueOf(content.length), null, shareKey);
api.getDocumentUpload(path, siteId, content.length, null, shareKey);
String s3url = response.getUrl();

if (content.length > 0) {
http.send(HttpRequest.newBuilder(new URI(s3url)).header("Content-Type", contentType)
HTTP.send(HttpRequest.newBuilder(new URI(s3url)).header("Content-Type", contentType)
.method("PUT", BodyPublishers.ofByteArray(content)).build(), BodyHandlers.ofString());
}

Expand Down Expand Up @@ -229,12 +230,10 @@ public static String addDocumentWithTags(final ApiClient apiClient, final String
*
* @param response {@link HttpResponse}
* @return {@link Map}
* @throws IOException IOException
*/
@SuppressWarnings("unchecked")
public static Map<String, Object> toMap(final HttpResponse<String> response) throws IOException {
Map<String, Object> m = gson.fromJson(response.body(), Map.class);
return m;
public static Map<String, Object> toMap(final HttpResponse<String> response) {
return GSON.fromJson(response.body(), Map.class);
}

/**
Expand All @@ -245,13 +244,11 @@ public static Map<String, Object> toMap(final HttpResponse<String> response) thr
* @param documentId {@link String}
* @param actionStatus {@link Collection} {@link DocumentActionStatus}
* @return {@link GetDocumentActionsResponse}
* @throws ApiException ApiException
* @throws InterruptedException InterruptedException
*/
public static GetDocumentActionsResponse waitForAction(final ApiClient client,
final String siteId, final String documentId,
final Collection<DocumentActionStatus> actionStatus)
throws ApiException, InterruptedException {
final Collection<DocumentActionStatus> actionStatus) throws InterruptedException {

GetDocumentActionsResponse response = null;
DocumentActionsApi api = new DocumentActionsApi(client);
Expand All @@ -264,7 +261,7 @@ public static GetDocumentActionsResponse waitForAction(final ApiClient client,
response = api.getDocumentActions(documentId, siteId, null, null, null);

o = response.getActions().stream().filter(a -> actionStatus.contains(a.getStatus()))
.collect(Collectors.toList());
.toList();

} catch (ApiException e) {
// ignore
Expand All @@ -278,6 +275,21 @@ public static GetDocumentActionsResponse waitForAction(final ApiClient client,
return response;
}

/**
* Wait for Actions to Complete.
*
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @return {@link GetDocumentActionsResponse}
* @throws InterruptedException InterruptedException
*/
public static GetDocumentActionsResponse waitForActionsComplete(final ApiClient client,
final String siteId, final String documentId) throws InterruptedException {
return waitForActions(client, siteId, documentId, "COMPLETE");
}

/**
* Wait for Actions to Complete.
*
Expand All @@ -286,13 +298,30 @@ public static GetDocumentActionsResponse waitForAction(final ApiClient client,
* @param documentId {@link String}
* @param actionStatus {@link String}
* @return {@link GetDocumentActionsResponse}
* @throws ApiException ApiException
* @throws InterruptedException InterruptedException
* @deprecated use with {@link DocumentActionStatus}
*/
@Deprecated
public static GetDocumentActionsResponse waitForActions(final ApiClient client,
final String siteId, final String documentId, final String actionStatus)
throws InterruptedException {
return waitForActions(client, siteId, documentId,
List.of(DocumentActionStatus.valueOf(actionStatus.toUpperCase())));
}

/**
* Wait for Actions to Complete.
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @param actionStatus {@link String}
* @return {@link GetDocumentActionsResponse}
* @throws InterruptedException InterruptedException
*/
public static GetDocumentActionsResponse waitForActions(final ApiClient client,
final String siteId, final String documentId,
final Collection<DocumentActionStatus> actionStatus)
throws ApiException, InterruptedException {
final Collection<DocumentActionStatus> actionStatus) throws InterruptedException {

GetDocumentActionsResponse response = null;
DocumentActionsApi api = new DocumentActionsApi(client);
Expand All @@ -311,8 +340,7 @@ public static GetDocumentActionsResponse waitForActions(final ApiClient client,
if (actions.size() != o.size()) {
o = Collections.emptyList();

if (actions.stream().filter(a -> a.getStatus().equals(DocumentActionStatus.FAILED))
.findAny().isPresent()) {
if (actions.stream().anyMatch(a -> DocumentActionStatus.FAILED.equals(a.getStatus()))) {
throw new InterruptedException(
"Found " + DocumentActionStatus.FAILED.name() + " action");
}
Expand All @@ -330,42 +358,6 @@ public static GetDocumentActionsResponse waitForActions(final ApiClient client,
return response;
}

/**
* Wait for Actions to Complete.
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @param actionStatus {@link String}
* @return {@link GetDocumentActionsResponse}
* @throws ApiException ApiException
* @throws InterruptedException InterruptedException
* @deprecated use with {@link DocumentActionStatus}
*/
@Deprecated
public static GetDocumentActionsResponse waitForActions(final ApiClient client,
final String siteId, final String documentId, final String actionStatus)
throws ApiException, InterruptedException {
return waitForActions(client, siteId, documentId,
Arrays.asList(DocumentActionStatus.valueOf(actionStatus.toUpperCase())));
}

/**
* Wait for Actions to Complete.
*
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @return {@link GetDocumentActionsResponse}
* @throws ApiException ApiException
* @throws InterruptedException InterruptedException
*/
public static GetDocumentActionsResponse waitForActionsComplete(final ApiClient client,
final String siteId, final String documentId) throws ApiException, InterruptedException {
return waitForActions(client, siteId, documentId, "COMPLETE");
}

/**
* Wait for Actions to Complete.
*
Expand All @@ -381,7 +373,7 @@ public static GetDocumentActionsResponse waitForActionsWithRetry(final ApiClient
final String siteId, final String documentId,
final Collection<DocumentActionStatus> actionStatus)
throws ApiException, InterruptedException {
GetDocumentActionsResponse response = null;
GetDocumentActionsResponse response;

try {
response = waitForActions(client, siteId, documentId, actionStatus);
Expand Down Expand Up @@ -547,7 +539,7 @@ public static GetDocumentFulltextResponse waitForDocumentFulltext(final ApiClien
final String siteId, final String documentId, final String content)
throws InterruptedException {

GetDocumentFulltextResponse response = null;
GetDocumentFulltextResponse response;
AdvancedDocumentSearchApi api = new AdvancedDocumentSearchApi(client);

while (true) {
Expand Down Expand Up @@ -595,4 +587,37 @@ public static GetDocumentTagResponse waitForDocumentTag(final ApiClient apiClien
TimeUnit.SECONDS.sleep(1);
}
}

/**
* Get Document Attribute.
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @param attributeKey {@link String}
* @return DocumentAttribute
* @throws ApiException ApiException
*/
public static DocumentAttribute getDocumentAttribute(final ApiClient client, final String siteId,
final String documentId, final String attributeKey) throws ApiException {
DocumentAttributesApi documentAttributesApi = new DocumentAttributesApi(client);
return documentAttributesApi.getDocumentAttribute(documentId, attributeKey, siteId)
.getAttribute();
}

/**
* Get Document Attribute.
*
* @param client {@link ApiClient}
* @param siteId {@link String}
* @param documentId {@link String}
* @return {@link List} {@link DocumentAttribute}
* @throws ApiException ApiException
*/
public static List<DocumentAttribute> getDocumentAttributes(final ApiClient client,
final String siteId, final String documentId) throws ApiException {
DocumentAttributesApi documentAttributesApi = new DocumentAttributesApi(client);
return documentAttributesApi.getDocumentAttributes(documentId, siteId, null, null)
.getAttributes();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ private DocumentAttributeRecord createDocumentAttribute(final String siteId,

private List<String> findMappingAttributeValue(final LambdaLogger logger, final String siteId,
final String documentId, final MappingAttribute mappingAttribute,
final TextMatchAlgorithm alg, final String text) throws IOException {
final TextMatchAlgorithm alg, final String text) {

String validationRegex = mappingAttribute.getValidationRegex();
List<String> labelTexts = mappingAttribute.getLabelTexts();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,11 @@ private Integer fuzzyScore(final CharSequence term, final CharSequence query) {
}
}

// exact term match get a bonus
if (term.equals(query)) {
score++;
}

return score;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,10 @@ public String findMatchValue(final String text, final TextMatch textMatch,
String value = null;

if (textMatch != null) {
String originalText = textMatch.getToken().getOriginal();
int pos = text.indexOf(originalText);
int pos = textMatch.getToken().getEnd();

if (pos > -1) {

pos += originalText.length();
String subText = text.substring(pos).trim();

if (!Strings.isEmpty(validationRegex)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ public class Token {
private String formatted;
/** Original Text. */
private String original;
/** Start Position. */
private int start;
/** End Position. */
private int end;

/**
* constructor.
Expand All @@ -40,6 +44,40 @@ public Token() {

}

/**
* Get Start Position.
*
* @return int
*/
public int getStart() {
return this.start;
}

public Token setStart(final int startPosition) {
this.start = startPosition;
return this;
}

/**
* Get End Position.
*
* @return int
*/
public int getEnd() {
return this.end;
}

/**
* Set End Position.
*
* @param endPosition int
* @return Token
*/
public Token setEnd(final int endPosition) {
this.end = endPosition;
return this;
}

/**
* Get Formatted Text.
*
Expand Down
Loading

0 comments on commit 1caa07e

Please sign in to comment.