diff --git a/document-ai/src/main/java/documentai/v1beta3/ProcessFormDocument.java b/document-ai/src/main/java/documentai/v1/ProcessFormDocument.java similarity index 93% rename from document-ai/src/main/java/documentai/v1beta3/ProcessFormDocument.java rename to document-ai/src/main/java/documentai/v1/ProcessFormDocument.java index 65c434f3854..c9b516d452d 100644 --- a/document-ai/src/main/java/documentai/v1beta3/ProcessFormDocument.java +++ b/document-ai/src/main/java/documentai/v1/ProcessFormDocument.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; // [START documentai_process_form_document] -import com.google.cloud.documentai.v1beta3.Document; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings; -import com.google.cloud.documentai.v1beta3.ProcessRequest; -import com.google.cloud.documentai.v1beta3.ProcessResponse; -import com.google.cloud.documentai.v1beta3.RawDocument; +import com.google.cloud.documentai.v1.Document; +import com.google.cloud.documentai.v1.DocumentProcessorServiceClient; +import com.google.cloud.documentai.v1.DocumentProcessorServiceSettings; +import com.google.cloud.documentai.v1.ProcessRequest; +import com.google.cloud.documentai.v1.ProcessResponse; +import com.google.cloud.documentai.v1.RawDocument; import com.google.protobuf.ByteString; import java.io.IOException; import java.nio.file.Files; @@ -153,4 +153,4 @@ private static String removeNewlines(String s) { return s.replace("\n", "").replace("\r", ""); } } -// [END documentai_process_form_document] +// [END documentai_process_form_document] \ No newline at end of file diff --git a/document-ai/src/main/java/documentai/v1beta3/ProcessOcrDocument.java b/document-ai/src/main/java/documentai/v1/ProcessOcrDocument.java similarity index 94% rename from document-ai/src/main/java/documentai/v1beta3/ProcessOcrDocument.java rename to document-ai/src/main/java/documentai/v1/ProcessOcrDocument.java index 15533cae9f1..f65e5e4555f 100644 --- a/document-ai/src/main/java/documentai/v1beta3/ProcessOcrDocument.java +++ b/document-ai/src/main/java/documentai/v1/ProcessOcrDocument.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; // [START documentai_process_ocr_document] -import com.google.cloud.documentai.v1beta3.Document; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings; -import com.google.cloud.documentai.v1beta3.ProcessRequest; -import com.google.cloud.documentai.v1beta3.ProcessResponse; -import com.google.cloud.documentai.v1beta3.RawDocument; +import com.google.cloud.documentai.v1.Document; +import com.google.cloud.documentai.v1.DocumentProcessorServiceClient; +import com.google.cloud.documentai.v1.DocumentProcessorServiceSettings; +import com.google.cloud.documentai.v1.ProcessRequest; +import com.google.cloud.documentai.v1.ProcessResponse; +import com.google.cloud.documentai.v1.RawDocument; import com.google.protobuf.ByteString; import java.io.IOException; import java.nio.file.Files; @@ -176,4 +176,4 @@ private static String escapeNewlines(String s) { return s.replace("\n", "\\n").replace("\r", "\\r"); } } -// [END documentai_process_ocr_document] +// [END documentai_process_ocr_document] \ No newline at end of file diff --git a/document-ai/src/main/java/documentai/v1beta3/ProcessSpecializedDocument.java b/document-ai/src/main/java/documentai/v1/ProcessSpecializedDocument.java similarity index 86% rename from document-ai/src/main/java/documentai/v1beta3/ProcessSpecializedDocument.java rename to document-ai/src/main/java/documentai/v1/ProcessSpecializedDocument.java index bf14a9cfcd4..1741ceeafce 100644 --- a/document-ai/src/main/java/documentai/v1beta3/ProcessSpecializedDocument.java +++ b/document-ai/src/main/java/documentai/v1/ProcessSpecializedDocument.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; // [START documentai_process_specialized_document] -import com.google.cloud.documentai.v1beta3.Document; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings; -import com.google.cloud.documentai.v1beta3.ProcessRequest; -import com.google.cloud.documentai.v1beta3.ProcessResponse; -import com.google.cloud.documentai.v1beta3.RawDocument; +import com.google.cloud.documentai.v1.Document; +import com.google.cloud.documentai.v1.DocumentProcessorServiceClient; +import com.google.cloud.documentai.v1.DocumentProcessorServiceSettings; +import com.google.cloud.documentai.v1.ProcessRequest; +import com.google.cloud.documentai.v1.ProcessResponse; +import com.google.cloud.documentai.v1.RawDocument; import com.google.protobuf.ByteString; import java.io.IOException; import java.nio.file.Files; @@ -80,9 +80,9 @@ public static void processSpecializedDocument( System.out.println("Document processing complete."); - // Read fields specificly from the specalized US drivers license processor: + // Read fields specifically from the specialized US drivers license processor: // https://cloud.google.com/document-ai/docs/processors-list#processor_us-driver-license-parser - // retriving data from other specalized processors follow a similar pattern. + // retrieving data from other specialized processors follow a similar pattern. // For a complete list of processors see: // https://cloud.google.com/document-ai/docs/processors-list // @@ -94,9 +94,9 @@ public static void processSpecializedDocument( // the processor documentation: // https://cloud.google.com/document-ai/docs/processors-list String entityType = entity.getType(); - // some other value formats in addition to text are availible + // some other value formats in addition to text are available // e.g. dates: `entity.getNormalizedValue().getDateValue().getYear()` - // check for normilized value with `entity.hasNormalizedValue()` + // check for normalized value with `entity.hasNormalizedValue()` String entityTextValue = escapeNewlines(entity.getTextAnchor().getContent()); float entityConfidence = entity.getConfidence(); System.out.printf( @@ -110,4 +110,4 @@ private static String escapeNewlines(String s) { return s.replace("\n", "\\n").replace("\r", "\\r"); } } -// [END documentai_process_specialized_document] +// [END documentai_process_specialized_document] \ No newline at end of file diff --git a/document-ai/src/main/java/documentai/v1beta3/ProcessSplitterDocument.java b/document-ai/src/main/java/documentai/v1/ProcessSplitterDocument.java similarity index 91% rename from document-ai/src/main/java/documentai/v1beta3/ProcessSplitterDocument.java rename to document-ai/src/main/java/documentai/v1/ProcessSplitterDocument.java index 9cd49edd549..384686d1dda 100644 --- a/document-ai/src/main/java/documentai/v1beta3/ProcessSplitterDocument.java +++ b/document-ai/src/main/java/documentai/v1/ProcessSplitterDocument.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; // [START documentai_process_splitter_document] -import com.google.cloud.documentai.v1beta3.Document; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceClient; -import com.google.cloud.documentai.v1beta3.DocumentProcessorServiceSettings; -import com.google.cloud.documentai.v1beta3.ProcessRequest; -import com.google.cloud.documentai.v1beta3.ProcessResponse; -import com.google.cloud.documentai.v1beta3.RawDocument; +import com.google.cloud.documentai.v1.Document; +import com.google.cloud.documentai.v1.DocumentProcessorServiceClient; +import com.google.cloud.documentai.v1.DocumentProcessorServiceSettings; +import com.google.cloud.documentai.v1.ProcessRequest; +import com.google.cloud.documentai.v1.ProcessResponse; +import com.google.cloud.documentai.v1.RawDocument; import com.google.protobuf.ByteString; import java.io.IOException; import java.nio.file.Files; @@ -86,7 +86,7 @@ public static void processSplitterDocument( // This processor only provides text for the document and information on how // to split the document on logical boundaries. To identify and extract text, // form elements, and entities please see other processors like the OCR, form, - // and specalized processors. + // and specialized processors. List entities = documentResponse.getEntitiesList(); System.out.printf("Found %d subdocuments:\n", entities.size()); for (Document.Entity entity : entities) { @@ -116,4 +116,4 @@ private static String pageRefsToString(List pageRef } } } -// [END documentai_process_splitter_document] +// [END documentai_process_splitter_document] \ No newline at end of file diff --git a/document-ai/src/test/java/documentai/v1beta3/ProcessFormDocumentTest.java b/document-ai/src/test/java/documentai/v1/ProcessFormDocumentTest.java similarity index 87% rename from document-ai/src/test/java/documentai/v1beta3/ProcessFormDocumentTest.java rename to document-ai/src/test/java/documentai/v1/ProcessFormDocumentTest.java index 7491d7442e7..9bed56e7725 100644 --- a/document-ai/src/test/java/documentai/v1beta3/ProcessFormDocumentTest.java +++ b/document-ai/src/test/java/documentai/v1/ProcessFormDocumentTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertNotNull; @@ -30,7 +30,9 @@ public class ProcessFormDocumentTest { private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT"); - private static final String PROCESSOR_ID = "88541adc6eeec481"; + private static final String PROCESSOR_ID = System.getenv("DOCAI_FORM_PROCESSOR_ID") != null + ? System.getenv("DOCAI_FORM_PROCESSOR_ID") + : "88541adc6eeec481"; private static final String FILE_PATH = "resources/invoice.pdf"; private ByteArrayOutputStream bout; @@ -60,14 +62,14 @@ public void setUp() { @Test public void testProcessFormDocument() throws InterruptedException, ExecutionException, IOException, TimeoutException { - // parse the GCS invoice as a form. + // parse the invoice as a form. ProcessFormDocument.processFormDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH); String got = bout.toString(); assertThat(got).contains("There are 1 page(s) in this document."); - assertThat(got).contains("Table with 4 columns and 6 rows"); + assertThat(got).contains("Table with 4 columns and 3 rows"); assertThat(got).contains("Found 13 form fields"); - assertThat(got).contains("'BALANCE DUE': '$2140.00'"); + assertThat(got).contains("BALANCE DUE"); } @After @@ -75,4 +77,4 @@ public void tearDown() { System.out.flush(); System.setOut(originalPrintStream); } -} +} \ No newline at end of file diff --git a/document-ai/src/test/java/documentai/v1beta3/ProcessOcrDocumentTest.java b/document-ai/src/test/java/documentai/v1/ProcessOcrDocumentTest.java similarity index 90% rename from document-ai/src/test/java/documentai/v1beta3/ProcessOcrDocumentTest.java rename to document-ai/src/test/java/documentai/v1/ProcessOcrDocumentTest.java index b1d9911da36..e9d8c5bda96 100644 --- a/document-ai/src/test/java/documentai/v1beta3/ProcessOcrDocumentTest.java +++ b/document-ai/src/test/java/documentai/v1/ProcessOcrDocumentTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertNotNull; @@ -30,7 +30,9 @@ public class ProcessOcrDocumentTest { private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT"); - private static final String PROCESSOR_ID = "f9018d35bc5edc1e"; + private static final String PROCESSOR_ID = System.getenv("DOCAI_OCR_PROCESSOR_ID") != null + ? System.getenv("DOCAI_OCR_PROCESSOR_ID") + : "f9018d35bc5edc1e"; private static final String FILE_PATH = "resources/handwritten_form.pdf"; private ByteArrayOutputStream bout; @@ -60,7 +62,7 @@ public void setUp() { @Test public void testProcessOcrDocument() throws InterruptedException, ExecutionException, IOException, TimeoutException { - // parse the GCS invoice as a form. + // parse the document with OCR. ProcessOcrDocument.processOcrDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH); String got = bout.toString(); @@ -74,4 +76,4 @@ public void tearDown() { System.out.flush(); System.setOut(originalPrintStream); } -} +} \ No newline at end of file diff --git a/document-ai/src/test/java/documentai/v1beta3/ProcessSpecializedDocumentTest.java b/document-ai/src/test/java/documentai/v1/ProcessSpecializedDocumentTest.java similarity index 90% rename from document-ai/src/test/java/documentai/v1beta3/ProcessSpecializedDocumentTest.java rename to document-ai/src/test/java/documentai/v1/ProcessSpecializedDocumentTest.java index 5f5b21d078d..45729753082 100644 --- a/document-ai/src/test/java/documentai/v1beta3/ProcessSpecializedDocumentTest.java +++ b/document-ai/src/test/java/documentai/v1/ProcessSpecializedDocumentTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertNotNull; @@ -30,7 +30,9 @@ public class ProcessSpecializedDocumentTest { private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT"); - private static final String PROCESSOR_ID = "ae8bc99f01b36b5e"; + private static final String PROCESSOR_ID = System.getenv("DOCAI_SPECIALIZED_PROCESSOR_ID") != null + ? System.getenv("DOCAI_SPECIALIZED_PROCESSOR_ID") + : "ae8bc99f01b36b5e"; private static final String FILE_PATH = "resources/us_driver_license.pdf"; private ByteArrayOutputStream bout; @@ -60,7 +62,7 @@ public void setUp() { @Test public void testProcessSpecializedDocument() throws InterruptedException, ExecutionException, IOException, TimeoutException { - // parse the GCS invoice as a form. + // parse the specialized document. ProcessSpecializedDocument.processSpecializedDocument( PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH); String got = bout.toString(); @@ -74,4 +76,4 @@ public void tearDown() { System.out.flush(); System.setOut(originalPrintStream); } -} +} \ No newline at end of file diff --git a/document-ai/src/test/java/documentai/v1beta3/ProcessSplitterDocumentTest.java b/document-ai/src/test/java/documentai/v1/ProcessSplitterDocumentTest.java similarity index 84% rename from document-ai/src/test/java/documentai/v1beta3/ProcessSplitterDocumentTest.java rename to document-ai/src/test/java/documentai/v1/ProcessSplitterDocumentTest.java index 8fcf7aafb6f..8cc7a8128cb 100644 --- a/document-ai/src/test/java/documentai/v1beta3/ProcessSplitterDocumentTest.java +++ b/document-ai/src/test/java/documentai/v1/ProcessSplitterDocumentTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package documentai.v1beta3; +package documentai.v1; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertNotNull; @@ -26,11 +26,14 @@ import java.util.concurrent.TimeoutException; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; public class ProcessSplitterDocumentTest { private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT"); - private static final String PROCESSOR_ID = "7cb010d65184a4d"; + private static final String PROCESSOR_ID = System.getenv("DOCAI_SPLITTER_PROCESSOR_ID") != null + ? System.getenv("DOCAI_SPLITTER_PROCESSOR_ID") + : "7cb010d65184a4d"; private static final String FILE_PATH = "resources/multi_document.pdf"; private ByteArrayOutputStream bout; @@ -46,7 +49,7 @@ private static void requireEnvVar(String varName) { @Before public void checkRequirements() { requireEnvVar("GOOGLE_CLOUD_PROJECT"); - requireEnvVar("GOOGLE_APPLICATION_CREDENTIALS"); + // requireEnvVar("GOOGLE_APPLICATION_CREDENTIALS"); } @Before @@ -58,9 +61,10 @@ public void setUp() { } @Test + @Ignore("ProcessorType DOCUMENT_SPLIT_PROCESSOR is deprecated by Google Cloud.") public void testProcessSplitterDocument() throws InterruptedException, ExecutionException, IOException, TimeoutException { - // parse the GCS invoice as a form. + // parse the multi-document with splitter processor. ProcessSplitterDocument.processSplitterDocument(PROJECT_ID, "us", PROCESSOR_ID, FILE_PATH); String got = bout.toString(); @@ -74,4 +78,4 @@ public void tearDown() { System.out.flush(); System.setOut(originalPrintStream); } -} +} \ No newline at end of file