diff --git a/automl/cloud-client/README.md b/automl/cloud-client/README.md
new file mode 100644
index 00000000000..0e4f93100c1
--- /dev/null
+++ b/automl/cloud-client/README.md
@@ -0,0 +1,72 @@
+# AutoML Samples
+
+
+
+
+
+This directory contains samples for the [Google Cloud AutoML APIs](https://cloud.google.com/automl/) - [docs](https://cloud.google.com/automl/docs/)
+
+We highly reccommend that you refer to the official documentation pages:
+
+* [AutoML Translation](https://cloud.google.com/translate/automl/docs)
+
+
+This API is part of the larger collection of Cloud Machine Learning APIs.
+
+These Java samples demonstrates how to access the Cloud AutoML API
+using the [Google Cloud Client Library for Java][google-cloud-java].
+
+[google-cloud-java]: https://github.com/GoogleCloudPlatform/google-cloud-java
+
+## Build the samples
+
+Install [Maven](http://maven.apache.org/).
+
+Build your project with:
+
+```
+mvn clean package
+```
+
+## Sample Types
+There are two types of samples: Base and API Specific
+
+The base samples make up a set of samples that have code that
+is identical or nearly identical for each AutoML Type. Meaning that for "Base" samples you can use them with any AutoML
+Type. However, for API Specific samples, there will be a unique sample for each AutoML type. See the below list for more info.
+
+## Base Samples
+### Dataset Management
+* [Import Dataset](src/main/java/com/example/automl/ImportDataset.java)
+* [List Datasets](src/main/java/com/example/automl/ListDatasets.java) - For each AutoML Type the `metadata` field inside the dataset is unique, therefore each AutoML Type will have a
+small section of code to print out the `metadata` field.
+* [Get Dataset](src/main/java/com/example/automl/GetDataset.java) - For each AutoML Type the `metadata` field inside the dataset is unique, therefore each AutoML Type will have a
+small section of code to print out the `metadata` field.
+* [Export Dataset](src/main/java/com/example/automl/ExportDataset.java)
+* [Delete Dataset](src/main/java/com/example/automl/DeleteDataset.java)
+### Model Management
+* [List Models](src/main/java/com/example/automl/ListModels.java)
+* [List Model Evaluation](src/main/java/com/example/automl/ListModelEvaluations.java)
+* [Get Model](src/main/java/com/example/automl/)
+* [Get Model Evaluation](src/main/java/com/example/automl/GetModelEvaluation.java)
+* [Delete Model](src/main/java/com/example/automl/DeleteModel.java)
+
+### Operation Management
+* [List Operation Statuses](src/main/java/com/example/automl/ListOperationStatus.java)
+* [Get Operation Status](src/main/java/com/example/automl/GetOperationStatus.java)
+
+## AutoML Type Specific Samples
+### Translation
+* [Translate Create Dataset](src/main/java/com/example/automl/TranslateCreateDataset.java)
+* [Translate Create Model](src/main/java/com/example/automl/TranslateCreateModel.java)
+* [Translate Predict](src/main/java/com/example/automl/TranslatePredict.java)
\ No newline at end of file
diff --git a/automl/cloud-client/pom.xml b/automl/cloud-client/pom.xml
new file mode 100644
index 00000000000..b5005d21460
--- /dev/null
+++ b/automl/cloud-client/pom.xml
@@ -0,0 +1,68 @@
+
+
+ 4.0.0
+ com.example.automl
+ automl-google-cloud-samples
+ jar
+
+
+
+ com.google.cloud.samples
+ shared-configuration
+ 1.0.11
+
+
+
+ 1.11
+ 1.11
+ UTF-8
+
+
+
+
+
+ com.google.cloud
+ google-cloud-automl
+ 0.114.0-beta
+
+
+
+ com.google.cloud
+ google-cloud-storage
+ 1.83.0
+
+
+ net.sourceforge.argparse4j
+ argparse4j
+ 0.8.1
+
+
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+ com.google.truth
+ truth
+ 0.41
+ test
+
+
+
\ No newline at end of file
diff --git a/automl/cloud-client/resources/input.txt b/automl/cloud-client/resources/input.txt
new file mode 100644
index 00000000000..5aecd6590fc
--- /dev/null
+++ b/automl/cloud-client/resources/input.txt
@@ -0,0 +1 @@
+Tell me how this ends
\ No newline at end of file
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteDataset.java b/automl/cloud-client/src/main/java/com/example/automl/DeleteDataset.java
similarity index 73%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteDataset.java
rename to automl/cloud-client/src/main/java/com/example/automl/DeleteDataset.java
index e284e9ef4ff..9c8660b24e9 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteDataset.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/DeleteDataset.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_delete_dataset]
+// [START automl_delete_dataset]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.DatasetName;
import com.google.protobuf.Empty;
@@ -26,11 +26,16 @@
class DeleteDataset {
- // Delete a dataset
- static void deleteDataset(String projectId, String datasetId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String datasetId = "YOUR_DATASET_ID";
+ static void deleteDataset() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String datasetId = "YOUR_DATASET_ID";
+ deleteDataset(projectId, datasetId);
+ }
+ // Delete a dataset
+ static void deleteDataset(String projectId, String datasetId)
+ throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -39,9 +44,7 @@ static void deleteDataset(String projectId, String datasetId) {
DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
Empty response = client.deleteDatasetAsync(datasetFullId).get();
System.out.format("Dataset deleted. %s\n", response);
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_delete_dataset]
+// [END automl_delete_dataset]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteModel.java b/automl/cloud-client/src/main/java/com/example/automl/DeleteModel.java
similarity index 75%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteModel.java
rename to automl/cloud-client/src/main/java/com/example/automl/DeleteModel.java
index bddfe867fc0..e885db9dc91 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/DeleteModel.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/DeleteModel.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_delete_model]
+// [START automl_delete_model]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.ModelName;
import com.google.protobuf.Empty;
@@ -26,11 +26,16 @@
class DeleteModel {
- // Get a model
- static void deleteModel(String projectId, String modelId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String modelId = "YOUR_MODEL_ID";
+ static void deleteModel() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String modelId = "YOUR_MODEL_ID";
+ deleteModel(projectId, modelId);
+ }
+ // Get a model
+ static void deleteModel(String projectId, String modelId)
+ throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -43,9 +48,7 @@ static void deleteModel(String projectId, String modelId) {
System.out.println("Model deletion started...");
System.out.println(String.format("Model deleted. %s", response));
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_delete_model]
+// [END automl_delete_model]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ExportDataset.java b/automl/cloud-client/src/main/java/com/example/automl/ExportDataset.java
similarity index 78%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ExportDataset.java
rename to automl/cloud-client/src/main/java/com/example/automl/ExportDataset.java
index 9f7ab5b3095..ae8818d97ad 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ExportDataset.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ExportDataset.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_export_dataset]
+// [START automl_export_dataset]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.DatasetName;
import com.google.cloud.automl.v1.GcsDestination;
@@ -28,12 +28,17 @@
class ExportDataset {
- // Export a dataset
- static void exportDataset(String projectId, String datasetId, String gcsUri) {
- // String projectId = "YOUR_PROJECT_ID";
- // String datasetId = "YOUR_DATASET_ID";
- // String gcsUri = "gs://BUCKET_ID/path_to_export/";
+ static void exportDataset() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String datasetId = "YOUR_DATASET_ID";
+ String gcsUri = "gs://BUCKET_ID/path_to_export/";
+ exportDataset(projectId, datasetId, gcsUri);
+ }
+ // Export a dataset
+ static void exportDataset(String projectId, String datasetId, String gcsUri)
+ throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -50,9 +55,7 @@ static void exportDataset(String projectId, String datasetId, String gcsUri) {
System.out.println("Processing export...");
Empty response = client.exportDataAsync(datasetFullId, outputConfig).get();
System.out.format("Dataset exported. %s\n", response);
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_export_dataset]
+// [END automl_export_dataset]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetDataset.java b/automl/cloud-client/src/main/java/com/example/automl/GetDataset.java
similarity index 87%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/GetDataset.java
rename to automl/cloud-client/src/main/java/com/example/automl/GetDataset.java
index 8c362494b92..4e8d36117b7 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetDataset.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/GetDataset.java
@@ -14,9 +14,10 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
// [START automl_translate_get_dataset]
+
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.DatasetName;
@@ -25,11 +26,15 @@
class GetDataset {
- // Get a dataset
- static void getDataset(String projectId, String datasetId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String datasetId = "YOUR_DATASET_ID";
+ static void getDataset() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String datasetId = "YOUR_DATASET_ID";
+ getDataset(projectId, datasetId);
+ }
+ // Get a dataset
+ static void getDataset(String projectId, String datasetId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -57,8 +62,6 @@ static void getDataset(String projectId, String datasetId) {
System.out.println("Dataset create time:");
System.out.format("\tseconds: %s\n", dataset.getCreateTime().getSeconds());
System.out.format("\tnanos: %s\n", dataset.getCreateTime().getNanos());
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetModel.java b/automl/cloud-client/src/main/java/com/example/automl/GetModel.java
similarity index 84%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/GetModel.java
rename to automl/cloud-client/src/main/java/com/example/automl/GetModel.java
index b604a379f26..e555a700fdb 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetModel.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/GetModel.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_get_model]
+// [START automl_get_model]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Model;
import com.google.cloud.automl.v1.ModelName;
@@ -25,11 +25,15 @@
class GetModel {
- // Get a model
- static void getModel(String projectId, String modelId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String modelId = "YOUR_MODEL_ID";
+ static void getModel() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String modelId = "YOUR_MODEL_ID";
+ getModel(projectId, modelId);
+ }
+ // Get a model
+ static void getModel(String projectId, String modelId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -51,9 +55,7 @@ static void getModel(String projectId, String modelId) {
System.out.format("\tseconds: %s\n", model.getCreateTime().getSeconds());
System.out.format("\tnanos: %s\n", model.getCreateTime().getNanos());
System.out.format("Model deployment state: %s\n", model.getDeploymentState());
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_get_model]
+// [END automl_get_model]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetModelEvaluation.java b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java
similarity index 81%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/GetModelEvaluation.java
rename to automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java
index 6713d51f212..3048f6648a4 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetModelEvaluation.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/GetModelEvaluation.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_get_model_evaluation]
+// [START automl_get_model_evaluation]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.ModelEvaluation;
import com.google.cloud.automl.v1.ModelEvaluationName;
@@ -25,12 +25,17 @@
class GetModelEvaluation {
- // Get a model evaluation
- static void getModelEvaluation(String projectId, String modelId, String modelEvaluationId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String modelId = "YOUR_MODEL_ID";
- // String modelEvaluationId = "YOUR_MODEL_EVALUATION_ID";
+ static void getModelEvaluation() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String modelId = "YOUR_MODEL_ID";
+ String modelEvaluationId = "YOUR_MODEL_EVALUATION_ID";
+ getModelEvaluation(projectId, modelId, modelEvaluationId);
+ }
+ // Get a model evaluation
+ static void getModelEvaluation(String projectId, String modelId, String modelEvaluationId)
+ throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -51,9 +56,7 @@ static void getModelEvaluation(String projectId, String modelId, String modelEva
"Evalution Example Count: %d\n", modelEvaluation.getEvaluatedExampleCount());
System.out.format(
"Model Evaluation Metrics: %s\n", modelEvaluation.getTranslationEvaluationMetrics());
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_get_model_evaluation]
+// [END automl_get_model_evaluation]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetOperationStatus.java b/automl/cloud-client/src/main/java/com/example/automl/GetOperationStatus.java
similarity index 81%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/GetOperationStatus.java
rename to automl/cloud-client/src/main/java/com/example/automl/GetOperationStatus.java
index 92970c24e4c..5c12d41f0e2 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/GetOperationStatus.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/GetOperationStatus.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_get_operation_status]
+// [START automl_get_operation_status]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.longrunning.Operation;
@@ -24,11 +24,14 @@
class GetOperationStatus {
- // Get the status of an operation
- static void getOperationStatus(String operationFullId) {
- // String operationFullId =
- // "projects/[projectId]/locations/us-central1/operations/[operationId]";
+ static void getOperationStatus() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String operationFullId = "projects/[projectId]/locations/us-central1/operations/[operationId]";
+ getOperationStatus(operationFullId);
+ }
+ // Get the status of an operation
+ static void getOperationStatus(String operationFullId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -49,9 +52,7 @@ static void getOperationStatus(String operationFullId) {
System.out.format("\t\tError code: %s\n", operation.getError().getCode());
System.out.format("\t\tError message: %s\n", operation.getError().getMessage());
}
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_get_operation_status]
+// [END automl_get_operation_status]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ImportDataset.java b/automl/cloud-client/src/main/java/com/example/automl/ImportDataset.java
similarity index 66%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ImportDataset.java
rename to automl/cloud-client/src/main/java/com/example/automl/ImportDataset.java
index e98b5aa38ae..2b40ef33f4d 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ImportDataset.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ImportDataset.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_import_dataset]
+// [START automl_import_dataset]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.DatasetName;
import com.google.cloud.automl.v1.GcsSource;
@@ -29,15 +29,20 @@
class ImportDataset {
- // Initialize client that will be used to send requests. This client only needs to be created
- // once, and can be reused for multiple requests. After completing all of your requests, call
- // the "close" method on the client to safely clean up any remaining background resources.
- static void importDataset(String projectId, String datasetId, String path) {
- // String projectId = "YOUR_PROJECT_ID";
- // String datasetId = "YOUR_DATASET_ID";
- // String path = "gs://BUCKET_ID/path_to_training_data.csv";
+ static void importDataset() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String datasetId = "YOUR_DATASET_ID";
+ String path = "gs://BUCKET_ID/path_to_training_data.csv";
+ importDataset(projectId, datasetId, path);
+ }
- // Instantiates a client
+ // Import a dataset
+ static void importDataset(String projectId, String datasetId, String path)
+ throws IOException, ExecutionException, InterruptedException {
+ // Initialize client that will be used to send requests. This client only needs to be created
+ // once, and can be reused for multiple requests. After completing all of your requests, call
+ // the "close" method on the client to safely clean up any remaining background resources.
try (AutoMlClient client = AutoMlClient.create()) {
// Get the complete path of the dataset.
DatasetName datasetFullId = DatasetName.of(projectId, "us-central1", datasetId);
@@ -52,9 +57,7 @@ static void importDataset(String projectId, String datasetId, String path) {
Empty response = client.importDataAsync(datasetFullId, inputConfig).get();
System.out.format("Dataset imported. %s\n", response);
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_import_dataset]
+// [END automl_import_dataset]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListDatasets.java b/automl/cloud-client/src/main/java/com/example/automl/ListDatasets.java
similarity index 88%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ListDatasets.java
rename to automl/cloud-client/src/main/java/com/example/automl/ListDatasets.java
index 651c0ec0b99..aca86c1c7f1 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListDatasets.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ListDatasets.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_list_dataset]
+// [START automl_translate_list_datasets]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.Dataset;
import com.google.cloud.automl.v1.ListDatasetsRequest;
@@ -26,10 +26,14 @@
class ListDatasets {
- // List the datasets
- static void listDatasets(String projectId) {
- // String projectId = "YOUR_PROJECT_ID";
+ static void listDatasets() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ listDatasets(projectId);
+ }
+ // List the datasets
+ static void listDatasets(String projectId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -65,9 +69,7 @@ static void listDatasets(String projectId) {
System.out.format("\tseconds: %s\n", dataset.getCreateTime().getSeconds());
System.out.format("\tnanos: %s\n", dataset.getCreateTime().getNanos());
}
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_list_dataset]
+// [END automl_translate_list_datasets]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListModelEvaluations.java b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java
similarity index 86%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ListModelEvaluations.java
rename to automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java
index 7cf38b1318b..8172f9dfc00 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListModelEvaluations.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ListModelEvaluations.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_list_model_evaluation]
+// [START automl_list_model_evaluations]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.ListModelEvaluationsRequest;
import com.google.cloud.automl.v1.ModelEvaluation;
@@ -26,11 +26,15 @@
class ListModelEvaluations {
- // List model evaluations
- static void listModelEvaluations(String projectId, String modelId) {
- // String projectId = "YOUR_PROJECT_ID";
- // String modelId = "YOUR_MODEL_ID";
+ static void listModelEvaluations() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String modelId = "YOUR_MODEL_ID";
+ listModelEvaluations(projectId, modelId);
+ }
+ // List model evaluations
+ static void listModelEvaluations(String projectId, String modelId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -55,9 +59,7 @@ static void listModelEvaluations(String projectId, String modelId) {
System.out.format(
"Model Evaluation Metrics: %s\n\n", modelEvaluation.getTranslationEvaluationMetrics());
}
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_list_model_evaluation]
+// [END automl_list_model_evaluations]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListModels.java b/automl/cloud-client/src/main/java/com/example/automl/ListModels.java
similarity index 88%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ListModels.java
rename to automl/cloud-client/src/main/java/com/example/automl/ListModels.java
index ef18a11eec8..67644664397 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListModels.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ListModels.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_list_model]
+// [START automl_list_models]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.ListModelsRequest;
import com.google.cloud.automl.v1.LocationName;
@@ -26,10 +26,14 @@
class ListModels {
- // List models
- static void listModels(String projectId) {
- // String projectId = "YOUR_PROJECT_ID";
+ static void listModels() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ listModels(projectId);
+ }
+ // List models
+ static void listModels(String projectId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -61,9 +65,7 @@ static void listModels(String projectId) {
System.out.format("\tnanos: %s\n", model.getCreateTime().getNanos());
System.out.format("Model deployment state: %s\n", model.getDeploymentState());
}
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_list_model]
+// [END automl_list_models]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListOperationStatus.java b/automl/cloud-client/src/main/java/com/example/automl/ListOperationStatus.java
similarity index 86%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/ListOperationStatus.java
rename to automl/cloud-client/src/main/java/com/example/automl/ListOperationStatus.java
index 4a455d47e40..c26ca327704 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/ListOperationStatus.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/ListOperationStatus.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
-// [START automl_translate_list_operation_status]
+// [START automl_list_operation_status]
import com.google.cloud.automl.v1.AutoMlClient;
import com.google.cloud.automl.v1.LocationName;
import com.google.longrunning.ListOperationsRequest;
@@ -26,10 +26,14 @@
class ListOperationStatus {
- // Get the status of an operation
- static void listOperationStatus(String projectId) {
- // String projectId = "YOUR_PROJECT_ID";
+ static void listOperationStatus() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ listOperationStatus(projectId);
+ }
+ // Get the status of an operation
+ static void listOperationStatus(String projectId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -57,9 +61,7 @@ static void listOperationStatus(String projectId) {
System.out.format("\t\tError message: %s\n\n", operation.getError().getMessage());
}
}
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
-// [END automl_translate_list_operation_status]
+// [END automl_list_operation_status]
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/CreateDataset.java b/automl/cloud-client/src/main/java/com/example/automl/TranslateCreateDataset.java
similarity index 74%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/CreateDataset.java
rename to automl/cloud-client/src/main/java/com/example/automl/TranslateCreateDataset.java
index 4b24c85d51e..103ea1eca86 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/CreateDataset.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/TranslateCreateDataset.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
// [START automl_translate_create_dataset]
import com.google.api.gax.longrunning.OperationFuture;
@@ -27,13 +27,18 @@
import java.io.IOException;
import java.util.concurrent.ExecutionException;
-class CreateDataset {
+class TranslateCreateDataset {
- // Create a dataset
- static void createDataset(String projectId, String displayName) {
- // String projectId = "YOUR_PROJECT_ID";
- // String displayName = "YOUR_DATASET_NAME";
+ static void createDataset() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String displayName = "YOUR_DATASET_NAME";
+ createDataset(projectId, displayName);
+ }
+ // Create a dataset
+ static void createDataset(String projectId, String displayName)
+ throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -65,19 +70,6 @@ static void createDataset(String projectId, String displayName) {
String[] names = createdDataset.getName().split("/");
String datasetId = names[names.length - 1];
System.out.format("Dataset id: %s\n", datasetId);
- System.out.format("Dataset display name: %s\n", createdDataset.getDisplayName());
- System.out.println("Translation dataset Metadata:");
- System.out.format(
- "\tSource language code: %s\n",
- createdDataset.getTranslationDatasetMetadata().getSourceLanguageCode());
- System.out.format(
- "\tTarget language code: %s\n",
- createdDataset.getTranslationDatasetMetadata().getTargetLanguageCode());
- System.out.println("Dataset create time:");
- System.out.format("\tseconds: %s\n", createdDataset.getCreateTime().getSeconds());
- System.out.format("\tnanos: %s\n", createdDataset.getCreateTime().getNanos());
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/CreateModel.java b/automl/cloud-client/src/main/java/com/example/automl/TranslateCreateModel.java
similarity index 82%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/CreateModel.java
rename to automl/cloud-client/src/main/java/com/example/automl/TranslateCreateModel.java
index b317d0dd801..2fca0c38905 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/CreateModel.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/TranslateCreateModel.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
// [START automl_translate_create_model]
import com.google.api.gax.longrunning.OperationFuture;
@@ -27,14 +27,19 @@
import java.io.IOException;
import java.util.concurrent.ExecutionException;
-class CreateModel {
+class TranslateCreateModel {
- // Create a model
- static void createModel(String projectId, String datasetId, String displayName) {
- // String projectId = "YOUR_PROJECT_ID";
- // String datasetId = "YOUR_DATASET_ID";
- // String displayName = "YOUR_DATASET_NAME";
+ static void createModel() throws IOException, ExecutionException, InterruptedException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String datasetId = "YOUR_DATASET_ID";
+ String displayName = "YOUR_DATASET_NAME";
+ createModel(projectId, datasetId, displayName);
+ }
+ // Create a model
+ static void createModel(String projectId, String datasetId, String displayName)
+ throws IOException, ExecutionException, InterruptedException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -56,8 +61,6 @@ static void createModel(String projectId, String datasetId, String displayName)
client.createModelAsync(projectLocation, model);
System.out.format("Training operation name: %s\n", future.getInitialFuture().get().getName());
System.out.println("Training started...");
- } catch (IOException | InterruptedException | ExecutionException e) {
- e.printStackTrace();
}
}
}
diff --git a/translate/automl/src/main/java/com/google/cloud/translate/automl/Prediction.java b/automl/cloud-client/src/main/java/com/example/automl/TranslatePredict.java
similarity index 85%
rename from translate/automl/src/main/java/com/google/cloud/translate/automl/Prediction.java
rename to automl/cloud-client/src/main/java/com/example/automl/TranslatePredict.java
index 0b9e3e77ee7..ccd2aaa1a4e 100644
--- a/translate/automl/src/main/java/com/google/cloud/translate/automl/Prediction.java
+++ b/automl/cloud-client/src/main/java/com/example/automl/TranslatePredict.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
// [START automl_translate_predict]
import com.google.cloud.automl.v1.ExamplePayload;
@@ -28,14 +28,18 @@
import java.nio.file.Files;
import java.nio.file.Paths;
-class Prediction {
+class TranslatePredict {
- // Predict
- static void predict(String projectId, String modelId, String filePath) {
- // String projectId = "YOUR_PROJECT_ID";
- // String modelId = "YOUR_MODEL_ID";
- // String filePath = "path_to_local_file.txt";
+ static void predict() throws IOException {
+ // TODO(developer): Replace these variables before running the sample.
+ String projectId = "YOUR_PROJECT_ID";
+ String modelId = "YOUR_MODEL_ID";
+ String filePath = "path_to_local_file.txt";
+ predict(projectId, modelId, filePath);
+ }
+ // Predict
+ static void predict(String projectId, String modelId, String filePath) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
@@ -54,8 +58,6 @@ static void predict(String projectId, String modelId, String filePath) {
TextSnippet translatedContent =
response.getPayload(0).getTranslation().getTranslatedContent();
System.out.println(String.format("Translated Content: %s", translatedContent.getContent()));
- } catch (IOException e) {
- e.printStackTrace();
}
}
}
diff --git a/translate/automl/src/test/java/com/google/cloud/translate/automl/DatasetIT.java b/automl/cloud-client/src/test/java/com/example/automl/TranslateDatasetManagementIT.java
similarity index 82%
rename from translate/automl/src/test/java/com/google/cloud/translate/automl/DatasetIT.java
rename to automl/cloud-client/src/test/java/com/example/automl/TranslateDatasetManagementIT.java
index 2793fe81343..d7589a6cbde 100644
--- a/translate/automl/src/test/java/com/google/cloud/translate/automl/DatasetIT.java
+++ b/automl/cloud-client/src/test/java/com/example/automl/TranslateDatasetManagementIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
import static com.google.common.truth.Truth.assertThat;
@@ -24,8 +24,10 @@
import com.google.cloud.storage.StorageOptions;
import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.io.PrintStream;
import java.util.UUID;
+import java.util.concurrent.ExecutionException;
import org.junit.After;
import org.junit.Before;
@@ -36,7 +38,7 @@
/** Tests for Automl translation datasets. */
@RunWith(JUnit4.class)
@SuppressWarnings("checkstyle:abbreviationaswordinname")
-public class DatasetIT {
+public class TranslateDatasetManagementIT {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String BUCKET = "gs://" + PROJECT_ID + "-vcm";
@@ -58,7 +60,8 @@ public void tearDown() {
}
@Test
- public void testCreateImportDeleteDataset() {
+ public void testCreateImportDeleteDataset()
+ throws IOException, ExecutionException, InterruptedException {
// Create a random dataset name with a length of 32 characters (max allowed by AutoML)
// To prevent name collisions when running tests in multiple java versions at once.
// AutoML doesn't allow "-", but accepts "_"
@@ -66,12 +69,11 @@ public void testCreateImportDeleteDataset() {
String.format("test_%s", UUID.randomUUID().toString().replace("-", "_").substring(0, 26));
// Act
- CreateDataset.createDataset(PROJECT_ID, datasetName);
+ TranslateCreateDataset.createDataset(PROJECT_ID, datasetName);
// Assert
String got = bout.toString();
datasetId = got.split("Dataset id: ")[1].split("\n")[0];
- assertThat(got).contains("Dataset id:");
// Act
ImportDataset.importDataset(PROJECT_ID, datasetId, BUCKET + "/en-ja-short.csv");
@@ -89,7 +91,7 @@ public void testCreateImportDeleteDataset() {
}
@Test
- public void testListDataset() {
+ public void testListDataset() throws IOException {
// Act
ListDatasets.listDatasets(PROJECT_ID);
@@ -99,7 +101,7 @@ public void testListDataset() {
}
@Test
- public void testGetDataset() {
+ public void testGetDataset() throws IOException {
// Act
GetDataset.getDataset(PROJECT_ID, getdatasetId);
@@ -110,7 +112,7 @@ public void testGetDataset() {
}
@Test
- public void testExportDataset() {
+ public void testExportDataset() throws IOException, ExecutionException, InterruptedException {
ExportDataset.exportDataset(PROJECT_ID, getdatasetId, BUCKET + "/TEST_EXPORT_OUTPUT/");
Storage storage = StorageOptions.getDefaultInstance().getService();
@@ -121,16 +123,16 @@ public void testExportDataset() {
Page blobs =
storage.list(
- PROJECT_ID + "-vcm",
+ PROJECT_ID + "-vcm",
Storage.BlobListOption.currentDirectory(),
Storage.BlobListOption.prefix("TEST_EXPORT_OUTPUT/"));
for (Blob blob : blobs.iterateAll()) {
Page fileBlobs =
- storage.list(
- PROJECT_ID + "-vcm",
- Storage.BlobListOption.currentDirectory(),
- Storage.BlobListOption.prefix(blob.getName()));
+ storage.list(
+ PROJECT_ID + "-vcm",
+ Storage.BlobListOption.currentDirectory(),
+ Storage.BlobListOption.prefix(blob.getName()));
for (Blob fileBlob : fileBlobs.iterateAll()) {
if (!fileBlob.isDirectory()) {
fileBlob.delete();
diff --git a/translate/automl/src/test/java/com/google/cloud/translate/automl/ModelIT.java b/automl/cloud-client/src/test/java/com/example/automl/TranslateModelManagementIT.java
similarity index 89%
rename from translate/automl/src/test/java/com/google/cloud/translate/automl/ModelIT.java
rename to automl/cloud-client/src/test/java/com/example/automl/TranslateModelManagementIT.java
index fde5d9ab529..fe3ae302ac8 100644
--- a/translate/automl/src/test/java/com/google/cloud/translate/automl/ModelIT.java
+++ b/automl/cloud-client/src/test/java/com/example/automl/TranslateModelManagementIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.google.cloud.translate.automl;
+package com.example.automl;
import static com.google.common.truth.Truth.assertThat;
@@ -23,6 +23,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
+import java.util.concurrent.ExecutionException;
import org.junit.After;
import org.junit.Before;
@@ -32,7 +33,7 @@
/** Tests for Automl translation models. */
@RunWith(JUnit4.class)
-public class ModelIT {
+public class TranslateModelManagementIT {
private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
private static final String DATASET_ID = "TRL3946265060617537378";
private static final String MODEL_NAME = "translation_test_create_model";
@@ -54,7 +55,7 @@ public void tearDown() {
}
@Test
- public void testModelApi() {
+ public void testModelApi() throws IOException {
// LIST MODELS
ListModels.listModels(PROJECT_ID);
String got = bout.toString();
@@ -88,7 +89,7 @@ public void testModelApi() {
}
@Test
- public void testOperationStatus() {
+ public void testOperationStatus() throws IOException {
// Act
ListOperationStatus.listOperationStatus(PROJECT_ID);
@@ -107,8 +108,8 @@ public void testOperationStatus() {
}
@Test
- public void testCreateModel() throws IOException {
- CreateModel.createModel(PROJECT_ID, DATASET_ID, MODEL_NAME);
+ public void testCreateModel() throws IOException, ExecutionException, InterruptedException {
+ TranslateCreateModel.createModel(PROJECT_ID, DATASET_ID, MODEL_NAME);
String got = bout.toString();
assertThat(got).contains("Training started");
@@ -119,4 +120,4 @@ public void testCreateModel() throws IOException {
client.getOperationsClient().cancelOperation(operationId);
}
}
-}
\ No newline at end of file
+}
diff --git a/automl/cloud-client/src/test/java/com/example/automl/TranslatePredictIT.java b/automl/cloud-client/src/test/java/com/example/automl/TranslatePredictIT.java
new file mode 100644
index 00000000000..e56ec6d6dec
--- /dev/null
+++ b/automl/cloud-client/src/test/java/com/example/automl/TranslatePredictIT.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.automl;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.concurrent.ExecutionException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Tests for translation "Predict" sample. */
+@RunWith(JUnit4.class)
+@SuppressWarnings("checkstyle:abbreviationaswordinname")
+public class TranslatePredictIT {
+ private static final String PROJECT_ID = System.getenv("GOOGLE_CLOUD_PROJECT");
+ private static final String modelId = "TRL2188848820815848149";
+ private static final String filePath = "./resources/input.txt";
+ private ByteArrayOutputStream bout;
+ private PrintStream out;
+
+ @Before
+ public void setUp() {
+ bout = new ByteArrayOutputStream();
+ out = new PrintStream(bout);
+ System.setOut(out);
+ }
+
+ @After
+ public void tearDown() {
+ System.setOut(null);
+ }
+
+ @Test
+ public void testPredict() throws IOException {
+ // Act
+ TranslatePredict.predict(PROJECT_ID, modelId, filePath);
+
+ // Assert
+ String got = bout.toString();
+ assertThat(got).contains("Translated Content");
+ }
+}
diff --git a/translate/automl/src/test/java/com/google/cloud/translate/automl/PredictionApiIT.java b/translate/automl/src/test/java/com/google/cloud/translate/automl/PredictionApiIT.java
index c07839041e4..78e47eb3e8e 100644
--- a/translate/automl/src/test/java/com/google/cloud/translate/automl/PredictionApiIT.java
+++ b/translate/automl/src/test/java/com/google/cloud/translate/automl/PredictionApiIT.java
@@ -59,14 +59,4 @@ public void testPredict() throws Exception {
String got = bout.toString();
assertThat(got).contains("Translated Content");
}
-
- @Test
- public void testPrediction() {
- // Act
- Prediction.predict(PROJECT_ID, modelId, filePath);
-
- // Assert
- String got = bout.toString();
- assertThat(got).contains("Translated Content");
- }
}