From 29117e9880242b8599f3f518e48bf26e233dc0ec Mon Sep 17 00:00:00 2001
From: Shabir Mohamed Abdul Samadh
<7249208+Shabirmean@users.noreply.github.com>
Date: Fri, 18 Nov 2022 17:56:16 -0500
Subject: [PATCH] samples: migrate code from googleapis/java-vision (#7428)
### Migrating samples from [googleapis/java-vision](https://togithub.com/googleapis/java-vision/tree/main/samples) into [java-docs-samples/vision](https://togithub.com/GoogleCloudPlatform/java-docs-samples)
---
- samples: Vision v1p1beta1 samples (#951)
- samples: IoT MQTT Tests (#966)
- samples: Generalized testDetextWebEntitiesIncludeGeoResults. (#976)
- samples: Update of Flexible folder and the top-level parent pom. (#1004)
- samples: Fix tests due to backend changes (#1081)
- samples: Add vision ocr for pdf/tiff (#1078)
- samples: Update vision dependency version and fix test. (#1099)
- samples: Vision beta samples (#1154)
- samples: Vision region tag update (#1182)
- samples: Udpate Beta Vision samples to use beta tags (#1184)
- samples: Remove unused Vision samples and region tags (#1208)
- samples: Beta feature : Vision : PDF/TIFF/GIF document feature detection (#1349)
- samples: vision: address flakes due to collisions. (#1458)
- samples: Fix failing beta tets (#1592)
- feat: make repo releasable, add parent/bom (#1)
- chore: update common templates, regenerate tests (#20)
- chore(regen): update license year for generated files (#48)
- samples: fix generated samples directory (#70)
- samples: add scaffold (#84)
- chore(deps): update dependency com.google.cloud:libraries-bom to v4.3.0 (#88)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.13 (#92)
- samples: docs: update tests that are failing or not cleaning up resources
- samples: update shared config (#2443)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.14 (#96)
- chore(deps): update dependency com.google.cloud:libraries-bom to v4.4.0 (#97)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.15 (#100)
- chore(deps): update dependency com.google.cloud:libraries-bom to v4.4.1 (#101)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5 (#110)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.16 (#115)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.17 (#121)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5.2.0 (#125)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5.3.0 (#129)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5.4.0 (#139)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5.6.0 (#149)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.18 (#155)
- chore(deps): update dependency com.google.cloud:libraries-bom to v5.7.0 (#157)
- chore(deps): update dependency com.google.cloud:libraries-bom to v6 (#162)
- chore(deps): update dependency com.google.cloud:libraries-bom to v7 (#168)
- chore(deps): update dependency com.google.cloud:libraries-bom to v7.0.1 (#176)
- chore(deps): update dependency com.google.cloud:libraries-bom to v7.0.2 (#178)
- chore(deps): update dependency com.google.cloud:libraries-bom to v8 (#179)
- chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#188)
- samples: Cloud Client Vision How-to snippets (#485)
- samples: Adds GCS snippets, was blocked by https://goo.gl/uWgYhQ
- samples: Fixes checkstyle, 3P libs before java libs
- samples: Updates vision to the latest library (#548)
- samples: Updates snippets so the API client is created in examples (#572)
- samples: Infer project from env
- samples: Vision speech upgrade (#641)
- samples: Changes http test to point to better hosting.
- samples: Use Cloud Storage bucket for web URI test
- samples: Style nit
- samples: Change test to public GCS bucket.
- samples: Change test to environment variable.
- samples: updating to latest google-cloud-* dependencies (#723)
- samples: Closes image annotator client.
- samples: Uses try with resource to ensure client gets closed.
- samples: upgrade Guava (#802)
- samples: Don't check for location (#809)
- samples: Vision v1p1beta1 samples (#951)
- samples: Update vision folder. (#999)
- samples: Update vision/beta web detection samples to v1 (#1016)
- samples: Fix tests for backend changes (#1082)
- samples: Update vision dependency version and fix test. (#1099)
- samples: Update OCR sample from beta to ga (#1123)
- samples: Vision region tag update (#1182)
- samples: Vision GA - library update (#1213)
- samples: vision: address changes in vision annotations. (#1326)
- samples: vision: address flakes due to collisions. (#1458)
- samples: Fix failing tests (#1591)
- samples: Add vision ocr set endpoint snippets (#1748)
- samples: vision: change flaky tests to mocks (#2254)
- samples: vision: move samples out of branch (#2298)
- samples: vision: move samples out of branch and add clarifying comments (#2297)
- samples: fix: region tag (#2312)
- samples: vision: makes tests more generic (#2475)
- samples: update shared config (#2443)
- samples: chore: added comment on try/catch block (#2980)
- samples: chore: splitting sample into single files (#3083)
- samples: fix test dependencies
- samples: fix resources
- samples: Vision Product Search (#1161)
- samples: Vision region tag update (#1182)
- samples: Adding the Product Search tests. (#1195)
- samples: Added the Product Search tests and the src file updates (#1196)
- samples: Vision Product Search - GA (#1257)
- samples: Pdt search updates (#1473)
- samples: Purge Products (#1569)
- samples: vision: update product search tests (#2378)
- samples: vision: use uuid for product search tests
- samples: Update ImportProductSetsIT.java
- samples: bump timeouts
- samples: update shared config (#2443)
- samples: fix resources and dependencies
- samples: fix resources
- chore(deps): update dependency com.google.cloud:libraries-bom to v9 (#207)
- chore(deps): update dependency com.google.cloud:libraries-bom to v9.1.0
- chore(deps): update dependency com.google.cloud:libraries-bom to v10
- chore(deps): update dependency com.google.cloud:libraries-bom to v11
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.21 (#244)
- chore(deps): update dependency com.google.cloud:libraries-bom to v12 (#249)
- test(deps): update dependency junit:junit to v4.13.1
- chore(deps): update dependency com.google.cloud:libraries-bom to v12.1.0 (#262)
- chore(deps): update dependency com.google.cloud:libraries-bom to v13 (#272)
- test(deps): update dependency com.google.truth:truth to v1.1 (#274)
- chore(deps): update dependency com.google.cloud:libraries-bom to v13.2.0 (#284)
- chore(deps): update dependency com.google.cloud:libraries-bom to v13.3.0 (#287)
- chore(deps): update dependency com.google.cloud:libraries-bom to v13.4.0 (#297)
- chore: moving the rest of the vision samples (#291)
- samples(deps): update spring.version to v2.3.5.release (#305)
- chore(deps): update dependency com.google.cloud:libraries-bom to v14 (#307)
- chore(deps): update dependency com.google.cloud:libraries-bom to v15 (#310)
- chore(deps): update dependency com.google.cloud:libraries-bom to v16 (#326)
- chore(deps): update dependency com.google.cloud:libraries-bom to v16.2.0 (#357)
- chore(deps): update dependency com.google.cloud:libraries-bom to v16.2.1 (#362)
- samples(deps): update dependency org.springframework.cloud:spring-cloud-gcp-dependencies to v1.2.6.release (#313)
- samples(deps): update spring.version to v2.4.1 (#320)
- samples(deps): update spring.version to v2.4.2 (#374)
- chore(deps): update dependency com.google.cloud:libraries-bom to v16.4.0 (#373)
- test(deps): update dependency junit:junit to v4.13.2 (#397)
- test(samples): prevent failure in nightly run by adding retry (#392)
- chore(deps): update dependency com.google.cloud:libraries-bom to v17 (#411)
- samples(deps): update dependency com.google.cloud:google-cloud-core to v1.94.1 (#405)
- samples(deps): update spring.version to v2.4.3 (#402)
- samples(deps): update dependency org.springframework.cloud:spring-cloud-gcp-dependencies to v1.2.7.release (#395)
- chore(deps): update dependency com.google.cloud:libraries-bom to v18 (#414)
- deps: update dependency com.google.cloud:google-cloud-core to v1.94.2 (#423)
- chore(deps): update dependency com.google.cloud:libraries-bom to v18.1.0 (#427)
- chore(deps): update dependency com.google.cloud:libraries-bom to v19 (#431)
- deps: update dependency com.google.cloud:google-cloud-core to v1.94.3 (#428)
- chore(deps): update dependency com.google.cloud:libraries-bom to v19.1.0 (#445)
- chore(deps): update dependency com.google.cloud:libraries-bom to v19.2.1 (#447)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.22 (#454)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20 (#463)
- deps: update dependency net.sourceforge.argparse4j:argparse4j to v0.9.0 (#455)
- deps: update dependency com.google.cloud:google-cloud-core to v1.94.7 (#441)
- deps: update spring.version to v2.4.4 (#448)
- deps: update spring.version to v2.4.5 (#474)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.1.0 (#475)
- chore: service throttles on public URLs & its known issue. (#477)
- deps: update dependency com.google.cloud:google-cloud-core to v1.94.8 (#482)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.2.0 (#487)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.3.0 (#500)
- test(deps): update dependency com.google.truth:truth to v1.1.2 (#498)
- deps: update dependency org.springframework.cloud:spring-cloud-gcp-dependencies to v1.2.8.release (#497)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.4.0 (#509)
- test(deps): update dependency com.google.truth:truth to v1.1.3 (#520)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.5.0 (#519)
- deps: update spring.version to v2.5.0 (#516)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.6.0 (#537)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.0.23 (#536)
- deps: update dependency com.google.cloud:google-cloud-core to v1.95.1 (#533)
- deps: update dependency com.google.cloud:google-cloud-core to v1.95.2 (#542)
- deps: update spring.version to v2.5.1 (#544)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.7.0 (#564)
- deps: update spring.version to v2.5.2 (#566)
- deps: update dependency com.google.cloud:google-cloud-core to v1.95.4 (#563)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.8.0 (#575)
- chore(deps): update dependency com.google.cloud:libraries-bom to v20.9.0 (#586)
- deps: update dependency com.google.cloud:google-cloud-core to v2 (#599)
- deps: update dependency org.apache.commons:commons-csv to v1.9.0 (#598)
- deps: update dependency com.google.cloud:google-cloud-core to v2.0.3 (#611)
- deps: update dependency com.google.cloud:google-cloud-core to v2.0.5 (#614)
- deps: update spring.version to v2.5.4 (#581)
- chore(deps): update dependency com.google.cloud:libraries-bom to v21 (#619)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.0 (#634)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.1 (#641)
- chore(deps): update dependency com.google.cloud:libraries-bom to v22 (#650)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.2 (#652)
- chore(deps): update dependency com.google.cloud:libraries-bom to v23 (#668)
- chore: migrate to owlbot (#663)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.3 (#674)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.4 (#685)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.6 (#692)
- deps: update spring.version to v2.5.5 (#703)
- deps: update dependency com.google.cloud:google-cloud-core to v2.1.7 (#702)
- chore(deps): update dependency com.google.cloud:libraries-bom to v23.1.0 (#715)
- deps: update dependency com.google.cloud:google-cloud-core to v2.2.0 (#720)
- deps: update spring.version to v2.5.6 (#729)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24 (#733)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.0 (#744)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.1 (#746)
- deps: update spring.version to v2.6.0 (#749)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.2 (#756)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.3 (#758)
- deps: update dependency org.springframework.boot:spring-boot-starter-web to v2.6.1 (#751)
- chore(deps): update dependency com.google.cloud.samples:shared-configuration to v1.2.0 (#755)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.1.0 (#767)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.1.1 (#769)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.4 (#772)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.1.2 (#773)
- deps: update dependency com.google.cloud:google-cloud-core to v2.3.5 (#779)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.2.0 (#788)
- deps: update spring.version to v2.6.3 (#768)
- deps: update dependency com.google.cloud:google-cloud-core to v2.4.0 (#797)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.3.0 (#809)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.0 (#804)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.1 (#811)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.3 (#812)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.4 (#816)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.5 (#825)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.6 (#828)
- chore(deps): update dependency com.google.cloud:libraries-bom to v24.4.0 (#830)
- deps: update dependency org.springframework.boot:spring-boot-maven-plugin to v2.6.4 (#822)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.8 (#840)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.9 (#844)
- chore(deps): update dependency com.google.cloud:libraries-bom to v25 (#850)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.10 (#849)
- deps: update spring.version to v2.6.5 (#855)
- deps: update dependency com.google.cloud:google-cloud-core to v2.5.11 (#860)
- chore(deps): update dependency com.google.cloud:libraries-bom to v25.1.0 (#866)
- build(deps): bump spring-boot-starter-web in /samples/spring-framework (#867)
- deps: update dependency com.google.cloud:google-cloud-core to v2.6.1 (#878)
- deps: update spring.version to v2.6.7 (#888)
- chore(deps): update dependency com.google.cloud:libraries-bom to v25.2.0 (#891)
- chore(deps): update dependency com.google.cloud:libraries-bom to v25.3.0 (#905)
- deps: update spring.version to v2.7.0 (#908)
- deps: update dependency com.google.cloud:google-cloud-core to v2.7.1 (#906)
- chore(deps): update dependency com.google.cloud:libraries-bom to v25.4.0 (#917)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.0 (#920)
- deps: update spring.version to v2.7.1 (#925)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.1 (#931)
- chore(deps): update dependency com.google.cloud:libraries-bom to v26 (#945)
- deps: update spring.version to v2.7.2 (#951)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.6 (#955)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.7 (#958)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.8 (#960)
- chore(deps): update dependency com.google.cloud:libraries-bom to v26.1.0 (#970)
- deps: update spring.version to v2.7.3 (#974)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.9 (#973)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.10 (#977)
- chore(deps): update dependency com.google.cloud:libraries-bom to v26.1.1 (#978)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.11 (#980)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.12 (#984)
- chore(deps): update dependency com.google.cloud:libraries-bom to v26.1.2 (#990)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.13 (#992)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.14 (#993)
- deps: update spring.version to v2.7.4 (#994)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.18 (#995)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.19 (#1023)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.20 (#1025)
- chore(deps): update dependency com.google.cloud:libraries-bom to v26.1.3 (#1031)
- deps: update dependency com.google.cloud:google-cloud-core to v2.8.21 (#1034)
Fixes #issue
> It's a good idea to open an issue first for discussion.
- [ ] I have followed [Sample Format Guide](https://togithub.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md)
- [ ] `pom.xml` parent set to latest `shared-configuration`
- [ ] Appropriate changes to README are included in PR
- [ ] API's need to be enabled to test (tell us)
- [ ] Environment Variables need to be set (ask us to set them)
- [ ] **Tests** pass: `mvn clean verify` **required**
- [ ] **Lint** passes: `mvn -P lint checkstyle:check` **required**
- [ ] **Static Analysis**: `mvn -P lint clean compile pmd:cpd-check spotbugs:check` **advisory only**
- [ ] Please **merge** this PR for me once it is approved.
---
vision/snippets/pom.xml | 82 ++++
vision/snippets/resources/city.jpg | Bin 0 -> 3666648 bytes
.../snippets/resources/face_no_surprise.jpg | Bin 0 -> 93301 bytes
vision/snippets/resources/gcp-logos.png | Bin 0 -> 8250 bytes
vision/snippets/resources/handwritten.jpg | Bin 0 -> 531739 bytes
.../resources/indexed_product_sets.csv | 2 +
vision/snippets/resources/kafka.pdf | Bin 0 -> 87215 bytes
vision/snippets/resources/landmark.jpg | Bin 0 -> 161448 bytes
vision/snippets/resources/logos.png | Bin 0 -> 21568 bytes
vision/snippets/resources/product_sets.csv | 2 +
vision/snippets/resources/puppies.jpg | Bin 0 -> 286600 bytes
vision/snippets/resources/shoes_1.jpg | Bin 0 -> 305205 bytes
vision/snippets/resources/shoes_2.jpg | Bin 0 -> 554649 bytes
vision/snippets/resources/text.jpg | Bin 0 -> 124744 bytes
vision/snippets/resources/wakeupcat.jpg | Bin 0 -> 64892 bytes
.../vision/AsyncBatchAnnotateImagesGcs.java | 154 +++++++
.../main/java/com/example/vision/Detect.java | 406 ++++++++++++++++++
.../vision/DetectBatchAnnotateFiles.java | 109 +++++
.../vision/DetectBatchAnnotateFilesGcs.java | 108 +++++
.../java/com/example/vision/DetectBeta.java | 329 ++++++++++++++
.../com/example/vision/ImportProductSets.java | 118 +++++
.../vision/ProductInProductSetManagement.java | 181 ++++++++
.../com/example/vision/ProductManagement.java | 272 ++++++++++++
.../com/example/vision/ProductSearch.java | 248 +++++++++++
.../example/vision/ProductSetManagement.java | 208 +++++++++
.../vision/ReferenceImageManagement.java | 222 ++++++++++
.../vision/quickstart/QuickstartSample.java | 79 ++++
.../snippets/AsyncBatchAnnotateImages.java | 89 ++++
.../vision/snippets/BatchAnnotateFiles.java | 114 +++++
.../snippets/BatchAnnotateFilesGcs.java | 109 +++++
.../vision/snippets/DetectCropHints.java | 76 ++++
.../vision/snippets/DetectCropHintsGcs.java | 75 ++++
.../example/vision/snippets/DetectFaces.java | 80 ++++
.../vision/snippets/DetectFacesGcs.java | 79 ++++
.../example/vision/snippets/DetectLabels.java | 77 ++++
.../vision/snippets/DetectLabelsGcs.java | 75 ++++
.../vision/snippets/DetectLandmarks.java | 75 ++++
.../vision/snippets/DetectLandmarksGcs.java | 75 ++++
.../vision/snippets/DetectLandmarksUrl.java | 72 ++++
.../example/vision/snippets/DetectLogos.java | 75 ++++
.../vision/snippets/DetectLogosGcs.java | 73 ++++
.../vision/snippets/DetectProperties.java | 81 ++++
.../vision/snippets/DetectPropertiesGcs.java | 81 ++++
.../vision/snippets/DetectSafeSearch.java | 79 ++++
.../vision/snippets/DetectSafeSearchGcs.java | 80 ++++
.../example/vision/snippets/DetectText.java | 75 ++++
.../vision/snippets/DetectTextGcs.java | 74 ++++
.../vision/snippets/DetectWebDetections.java | 105 +++++
.../snippets/DetectWebDetectionsGcs.java | 99 +++++
.../vision/snippets/DetectWebEntities.java | 76 ++++
.../vision/snippets/DetectWebEntitiesGcs.java | 70 +++
.../DetectWebEntitiesIncludeGeoResults.java | 87 ++++
...DetectWebEntitiesIncludeGeoResultsGcs.java | 84 ++++
.../vision/snippets/PurgeProducts.java | 57 +++
.../snippets/PurgeProductsInProductSet.java | 64 +++
.../example/vision/snippets/SetEndpoint.java | 68 +++
.../vision/AsyncBatchAnnotateImagesTest.java | 93 ++++
.../vision/BatchAnnotateFilesGcsTest.java | 60 +++
.../vision/BatchAnnotateFilesTest.java | 59 +++
.../java/com/example/vision/DetectBetaIT.java | 157 +++++++
.../vision/DetectCropHintsGcsTest.java | 66 +++
.../example/vision/DetectCropHintsTest.java | 63 +++
.../example/vision/DetectFacesGcsTest.java | 65 +++
.../com/example/vision/DetectFacesTest.java | 62 +++
.../java/com/example/vision/DetectIT.java | 133 ++++++
.../example/vision/DetectLabelsGcsTest.java | 62 +++
.../com/example/vision/DetectLabelsTest.java | 60 +++
.../vision/DetectLandmarksGcsTest.java | 80 ++++
.../example/vision/DetectLandmarksTest.java | 60 +++
.../example/vision/DetectLogosGcsTest.java | 63 +++
.../com/example/vision/DetectLogosTest.java | 60 +++
.../vision/DetectPropertiesGcsTest.java | 66 +++
.../example/vision/DetectPropertiesTest.java | 63 +++
.../vision/DetectSafeSearchGcsTest.java | 64 +++
.../example/vision/DetectSafeSearchTest.java | 61 +++
.../com/example/vision/DetectTextGcsTest.java | 63 +++
.../com/example/vision/DetectTextTest.java | 60 +++
.../vision/DetectWebDetectionsGcsTest.java | 65 +++
.../vision/DetectWebDetectionsTest.java | 61 +++
.../vision/DetectWebEntitiesGcsTest.java | 62 +++
...ctWebEntitiesIncludeGeoResultsGcsTest.java | 63 +++
...etectWebEntitiesIncludeGeoResultsTest.java | 61 +++
.../example/vision/DetectWebEntitiesTest.java | 60 +++
.../example/vision/ImportProductSetsIT.java | 115 +++++
.../ProductInProductSetManagementIT.java | 105 +++++
.../example/vision/ProductManagementIT.java | 119 +++++
.../com/example/vision/ProductSearchIT.java | 113 +++++
.../vision/ProductSetManagementIT.java | 72 ++++
.../vision/ReferenceImageManagementIT.java | 87 ++++
.../com/example/vision/SetEndpointIT.java | 65 +++
.../ProductInProductSetManagementTests.java | 89 ++++
.../snippets/ProductManagementTests.java | 82 ++++
vision/spring-framework/README.md | 35 ++
vision/spring-framework/pom.xml | 86 ++++
.../java/com/example/vision/Application.java | 29 ++
.../com/example/vision/VisionController.java | 88 ++++
.../src/main/resources/static/index.html | 34 ++
.../src/main/resources/templates/result.html | 24 ++
98 files changed, 7879 insertions(+)
create mode 100644 vision/snippets/pom.xml
create mode 100644 vision/snippets/resources/city.jpg
create mode 100644 vision/snippets/resources/face_no_surprise.jpg
create mode 100644 vision/snippets/resources/gcp-logos.png
create mode 100644 vision/snippets/resources/handwritten.jpg
create mode 100644 vision/snippets/resources/indexed_product_sets.csv
create mode 100644 vision/snippets/resources/kafka.pdf
create mode 100644 vision/snippets/resources/landmark.jpg
create mode 100644 vision/snippets/resources/logos.png
create mode 100644 vision/snippets/resources/product_sets.csv
create mode 100644 vision/snippets/resources/puppies.jpg
create mode 100644 vision/snippets/resources/shoes_1.jpg
create mode 100644 vision/snippets/resources/shoes_2.jpg
create mode 100644 vision/snippets/resources/text.jpg
create mode 100644 vision/snippets/resources/wakeupcat.jpg
create mode 100644 vision/snippets/src/main/java/com/example/vision/AsyncBatchAnnotateImagesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/Detect.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/DetectBatchAnnotateFiles.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/DetectBatchAnnotateFilesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/DetectBeta.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ImportProductSets.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ProductInProductSetManagement.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ProductManagement.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ProductSearch.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ProductSetManagement.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/ReferenceImageManagement.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/quickstart/QuickstartSample.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/AsyncBatchAnnotateImages.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/BatchAnnotateFiles.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/BatchAnnotateFilesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectCropHints.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectCropHintsGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectFaces.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectFacesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLabels.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLabelsGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLandmarks.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLandmarksGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLandmarksUrl.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLogos.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectLogosGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectProperties.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectPropertiesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectSafeSearch.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectSafeSearchGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectText.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectTextGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebDetections.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebDetectionsGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebEntities.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebEntitiesGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebEntitiesIncludeGeoResults.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/DetectWebEntitiesIncludeGeoResultsGcs.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/PurgeProducts.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/PurgeProductsInProductSet.java
create mode 100644 vision/snippets/src/main/java/com/example/vision/snippets/SetEndpoint.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/AsyncBatchAnnotateImagesTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/BatchAnnotateFilesGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/BatchAnnotateFilesTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectBetaIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectCropHintsGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectCropHintsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectFacesGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectFacesTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLabelsGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLabelsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLandmarksGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLandmarksTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLogosGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectLogosTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectPropertiesGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectPropertiesTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectSafeSearchGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectSafeSearchTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectTextGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectTextTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebDetectionsGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebDetectionsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebEntitiesGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebEntitiesIncludeGeoResultsGcsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebEntitiesIncludeGeoResultsTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/DetectWebEntitiesTest.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ImportProductSetsIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ProductInProductSetManagementIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ProductManagementIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ProductSearchIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ProductSetManagementIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/ReferenceImageManagementIT.java
create mode 100644 vision/snippets/src/test/java/com/example/vision/SetEndpointIT.java
create mode 100644 vision/snippets/src/test/java/vision/snippets/ProductInProductSetManagementTests.java
create mode 100644 vision/snippets/src/test/java/vision/snippets/ProductManagementTests.java
create mode 100644 vision/spring-framework/README.md
create mode 100644 vision/spring-framework/pom.xml
create mode 100644 vision/spring-framework/src/main/java/com/example/vision/Application.java
create mode 100644 vision/spring-framework/src/main/java/com/example/vision/VisionController.java
create mode 100644 vision/spring-framework/src/main/resources/static/index.html
create mode 100644 vision/spring-framework/src/main/resources/templates/result.html
diff --git a/vision/snippets/pom.xml b/vision/snippets/pom.xml
new file mode 100644
index 00000000000..8e2b0315c26
--- /dev/null
+++ b/vision/snippets/pom.xml
@@ -0,0 +1,82 @@
+
+
+ 4.0.0
+ com.example.vision
+ vision-snippets
+ jar
+ Google Cloud Vision Snippets
+ https://github.com/GoogleCloudPlatform/java-docs-samples/tree/main/vision
+
+
+
+ com.google.cloud.samples
+ shared-configuration
+ 1.2.0
+
+
+
+ 1.8
+ 1.8
+ UTF-8
+
+
+
+
+
+
+
+ com.google.cloud
+ libraries-bom
+ 26.1.3
+ pom
+ import
+
+
+
+
+
+
+ com.google.cloud
+ google-cloud-vision
+
+
+
+ com.google.cloud
+ google-cloud-storage
+
+
+ net.sourceforge.argparse4j
+ argparse4j
+ 0.9.0
+
+
+ org.apache.commons
+ commons-csv
+ 1.9.0
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+ com.google.cloud
+ google-cloud-core
+ 2.8.21
+ test
+ tests
+
+
+ com.google.truth
+ truth
+ 1.1.3
+ test
+
+
+
+
+
diff --git a/vision/snippets/resources/city.jpg b/vision/snippets/resources/city.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b14282e75393855b34ee221c75706effaea4c14e
GIT binary patch
literal 3666648
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