diff --git a/.github/release-please.yml b/.github/release-please.yml
index 8b1378917..827446828 100644
--- a/.github/release-please.yml
+++ b/.github/release-please.yml
@@ -1 +1 @@
-
+releaseType: java-yoshi
diff --git a/google-cloud-automl/clirr-ignored-differences.xml b/google-cloud-automl/clirr-ignored-differences.xml
new file mode 100644
index 000000000..626dbe9e6
--- /dev/null
+++ b/google-cloud-automl/clirr-ignored-differences.xml
@@ -0,0 +1,19 @@
+
+
+
*
* try (AutoMlClient autoMlClient = AutoMlClient.create()) {
- * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
* Dataset dataset = Dataset.newBuilder().build();
- * Operation response = autoMlClient.createDataset(parent, dataset);
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * Dataset response = autoMlClient.updateDataset(dataset, updateMask);
* }
*
*
@@ -193,7 +193,7 @@ public final OperationsClient getOperationsClient() {
* try (AutoMlClient autoMlClient = AutoMlClient.create()) {
* LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
* Dataset dataset = Dataset.newBuilder().build();
- * Operation response = autoMlClient.createDataset(parent, dataset);
+ * Dataset response = autoMlClient.createDatasetAsync(parent, dataset).get();
* }
*
*
@@ -201,14 +201,17 @@ public final OperationsClient getOperationsClient() {
* @param dataset The dataset to create.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
- public final Operation createDataset(LocationName parent, Dataset dataset) {
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ public final OperationFutureSample code: + * + *
+ * try (AutoMlClient autoMlClient = AutoMlClient.create()) {
+ * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+ * Dataset dataset = Dataset.newBuilder().build();
+ * CreateDatasetRequest request = CreateDatasetRequest.newBuilder()
+ * .setParent(parent.toString())
+ * .setDataset(dataset)
+ * .build();
+ * OperationFuture<Dataset, OperationMetadata> future = autoMlClient.createDatasetOperationCallable().futureCall(request);
+ * // Do something
+ * Dataset response = future.get();
+ * }
+ *
+ */
+ @BetaApi("The surface for use by generated code is not stable yet and may change in the future.")
+ public final OperationCallableThe builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * - *
For example, to set the total timeout of createDataset to 30 seconds: + *
For example, to set the total timeout of updateDataset to 30 seconds: * *
** AutoMlSettings.Builder autoMlSettingsBuilder = * AutoMlSettings.newBuilder(); - * autoMlSettingsBuilder.createDatasetSettings().getRetrySettings().toBuilder() + * autoMlSettingsBuilder.updateDatasetSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AutoMlSettings autoMlSettings = autoMlSettingsBuilder.build(); *
@@ -73,6 +73,14 @@ public UnaryCallSettingscreateDatasetSettings( return ((AutoMlStubSettings) getStubSettings()).createDatasetSettings(); } + /** Returns the object with the settings used for calls to createDataset. */ + @BetaApi( + "The surface for long-running operations is not stable yet and may change in the future.") + public OperationCallSettings + createDatasetOperationSettings() { + return ((AutoMlStubSettings) getStubSettings()).createDatasetOperationSettings(); + } + /** Returns the object with the settings used for calls to updateDataset. */ public UnaryCallSettings updateDatasetSettings() { return ((AutoMlStubSettings) getStubSettings()).updateDatasetSettings(); @@ -286,6 +294,14 @@ public UnaryCallSettings.Builder createDatasetS return getStubSettingsBuilder().createDatasetSettings(); } + /** Returns the builder for the settings used for calls to createDataset. */ + @BetaApi( + "The surface for long-running operations is not stable yet and may change in the future.") + public OperationCallSettings.Builder + createDatasetOperationSettings() { + return getStubSettingsBuilder().createDatasetOperationSettings(); + } + /** Returns the builder for the settings used for calls to updateDataset. */ public UnaryCallSettings.Builder updateDatasetSettings() { return getStubSettingsBuilder().updateDatasetSettings(); diff --git a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/package-info.java b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/package-info.java index 247ee7b09..6eeb85d20 100644 --- a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/package-info.java +++ b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/package-info.java @@ -40,9 +40,9 @@ * *diff --git a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStub.java b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStub.java index e8170e6be..4386edbd6 100644 --- a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStub.java +++ b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStub.java @@ -64,6 +64,12 @@ public OperationsStub getOperationsStub() { throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); } + @BetaApi("The surface for use by generated code is not stable yet and may change in the future.") + public OperationCallable* try (AutoMlClient autoMlClient = AutoMlClient.create()) { - * LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); * Dataset dataset = Dataset.newBuilder().build(); - * Operation response = autoMlClient.createDataset(parent, dataset); + * FieldMask updateMask = FieldMask.newBuilder().build(); + * Dataset response = autoMlClient.updateDataset(dataset, updateMask); * } *
*+ createDatasetOperationCallable() { + throw new UnsupportedOperationException("Not implemented: createDatasetOperationCallable()"); + } + public UnaryCallable createDatasetCallable() { throw new UnsupportedOperationException("Not implemented: createDatasetCallable()"); } diff --git a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStubSettings.java b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStubSettings.java index 0da53b485..23add3192 100644 --- a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStubSettings.java +++ b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/AutoMlStubSettings.java @@ -92,13 +92,13 @@ * The builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * - *
For example, to set the total timeout of createDataset to 30 seconds: + *
For example, to set the total timeout of updateDataset to 30 seconds: * *
** AutoMlStubSettings.Builder autoMlSettingsBuilder = * AutoMlStubSettings.newBuilder(); - * autoMlSettingsBuilder.createDatasetSettings().getRetrySettings().toBuilder() + * autoMlSettingsBuilder.updateDatasetSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AutoMlStubSettings autoMlSettings = autoMlSettingsBuilder.build(); *
@@ -112,6 +112,8 @@ public class AutoMlStubSettings extends StubSettings{ ImmutableList. builder().add("https://www.googleapis.com/auth/cloud-platform").build(); private final UnaryCallSettings createDatasetSettings; + private final OperationCallSettings + createDatasetOperationSettings; private final UnaryCallSettings updateDatasetSettings; private final UnaryCallSettings getDatasetSettings; private final PagedCallSettings< @@ -149,6 +151,13 @@ public UnaryCallSettings createDatasetSettings( return createDatasetSettings; } + /** Returns the object with the settings used for calls to createDataset. */ + @BetaApi("The surface for use by generated code is not stable yet and may change in the future.") + public OperationCallSettings + createDatasetOperationSettings() { + return createDatasetOperationSettings; + } + /** Returns the object with the settings used for calls to updateDataset. */ public UnaryCallSettings updateDatasetSettings() { return updateDatasetSettings; @@ -325,6 +334,7 @@ protected AutoMlStubSettings(Builder settingsBuilder) throws IOException { super(settingsBuilder); createDatasetSettings = settingsBuilder.createDatasetSettings().build(); + createDatasetOperationSettings = settingsBuilder.createDatasetOperationSettings().build(); updateDatasetSettings = settingsBuilder.updateDatasetSettings().build(); getDatasetSettings = settingsBuilder.getDatasetSettings().build(); listDatasetsSettings = settingsBuilder.listDatasetsSettings().build(); @@ -521,6 +531,8 @@ public static class Builder extends StubSettings.Builder > unaryMethodSettingsBuilders; private final UnaryCallSettings.Builder createDatasetSettings; + private final OperationCallSettings.Builder + createDatasetOperationSettings; private final UnaryCallSettings.Builder updateDatasetSettings; private final UnaryCallSettings.Builder getDatasetSettings; private final PagedCallSettings.Builder< @@ -597,6 +609,8 @@ protected Builder(ClientContext clientContext) { createDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createDatasetOperationSettings = OperationCallSettings.newBuilder(); + updateDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); getDatasetSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); @@ -734,6 +748,29 @@ private static Builder initDefaults(Builder builder) { .listModelEvaluationsSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .createDatasetOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + . newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Dataset.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(500L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(5000L)) + .setInitialRpcTimeout(Duration.ZERO) // ignored + .setRpcTimeoutMultiplier(1.0) // ignored + .setMaxRpcTimeout(Duration.ZERO) // ignored + .setTotalTimeout(Duration.ofMillis(300000L)) + .build())); builder .deleteDatasetOperationSettings() .setInitialCallSettings( @@ -853,6 +890,7 @@ protected Builder(AutoMlStubSettings settings) { super(settings); createDatasetSettings = settings.createDatasetSettings.toBuilder(); + createDatasetOperationSettings = settings.createDatasetOperationSettings.toBuilder(); updateDatasetSettings = settings.updateDatasetSettings.toBuilder(); getDatasetSettings = settings.getDatasetSettings.toBuilder(); listDatasetsSettings = settings.listDatasetsSettings.toBuilder(); @@ -911,6 +949,14 @@ public UnaryCallSettings.Builder createDatasetS return createDatasetSettings; } + /** Returns the builder for the settings used for calls to createDataset. */ + @BetaApi( + "The surface for use by generated code is not stable yet and may change in the future.") + public OperationCallSettings.Builder + createDatasetOperationSettings() { + return createDatasetOperationSettings; + } + /** Returns the builder for the settings used for calls to updateDataset. */ public UnaryCallSettings.Builder updateDatasetSettings() { return updateDatasetSettings; diff --git a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/GrpcAutoMlStub.java b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/GrpcAutoMlStub.java index 1065fdeec..fca0489f0 100644 --- a/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/GrpcAutoMlStub.java +++ b/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/GrpcAutoMlStub.java @@ -187,6 +187,8 @@ public class GrpcAutoMlStub extends AutoMlStub { private final GrpcOperationsStub operationsStub; private final UnaryCallable createDatasetCallable; + private final OperationCallable + createDatasetOperationCallable; private final UnaryCallable updateDatasetCallable; private final UnaryCallable getDatasetCallable; private final UnaryCallable listDatasetsCallable; @@ -443,6 +445,12 @@ public Map extract(ListModelEvaluationsRequest request) { this.createDatasetCallable = callableFactory.createUnaryCallable( createDatasetTransportSettings, settings.createDatasetSettings(), clientContext); + this.createDatasetOperationCallable = + callableFactory.createOperationCallable( + createDatasetTransportSettings, + settings.createDatasetOperationSettings(), + clientContext, + this.operationsStub); this.updateDatasetCallable = callableFactory.createUnaryCallable( updateDatasetTransportSettings, settings.updateDatasetSettings(), clientContext); @@ -536,6 +544,12 @@ public GrpcOperationsStub getOperationsStub() { return operationsStub; } + @BetaApi("The surface for use by generated code is not stable yet and may change in the future.") + public OperationCallable + createDatasetOperationCallable() { + return createDatasetOperationCallable; + } + public UnaryCallable createDatasetCallable() { return createDatasetCallable; } diff --git a/google-cloud-automl/src/test/java/com/google/cloud/automl/v1/AutoMlClientTest.java b/google-cloud-automl/src/test/java/com/google/cloud/automl/v1/AutoMlClientTest.java index 0a097bf5e..50b6077ed 100644 --- a/google-cloud-automl/src/test/java/com/google/cloud/automl/v1/AutoMlClientTest.java +++ b/google-cloud-automl/src/test/java/com/google/cloud/automl/v1/AutoMlClientTest.java @@ -88,16 +88,32 @@ public void tearDown() throws Exception { @Test @SuppressWarnings("all") - public void createDatasetTest() { + public void createDatasetTest() throws Exception { String name = "name3373707"; - boolean done = true; - Operation expectedResponse = Operation.newBuilder().setName(name).setDone(done).build(); - mockAutoMl.addResponse(expectedResponse); + String displayName = "displayName1615086568"; + String description = "description-1724546052"; + int exampleCount = 1517063674; + String etag = "etag3123477"; + Dataset expectedResponse = + Dataset.newBuilder() + .setName(name) + .setDisplayName(displayName) + .setDescription(description) + .setExampleCount(exampleCount) + .setEtag(etag) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createDatasetTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAutoMl.addResponse(resultOperation); LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); Dataset dataset = Dataset.newBuilder().build(); - Operation actualResponse = client.createDataset(parent, dataset); + Dataset actualResponse = client.createDatasetAsync(parent, dataset).get(); Assert.assertEquals(expectedResponse, actualResponse); List actualRequests = mockAutoMl.getRequests(); @@ -122,10 +138,12 @@ public void createDatasetExceptionTest() throws Exception { LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); Dataset dataset = Dataset.newBuilder().build(); - client.createDataset(parent, dataset); + client.createDatasetAsync(parent, dataset).get(); Assert.fail("No exception raised"); - } catch (InvalidArgumentException e) { - // Expected exception + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); } } diff --git a/renovate.json b/renovate.json index ff6ecf0af..998104700 100644 --- a/renovate.json +++ b/renovate.json @@ -6,7 +6,7 @@ "packageRules": [ { "managers": ["maven"], - "packageNames": ["com.google.guava:guava"], + "packageNames": ["com.google.guava:guava*"], "versionScheme": "docker" }, { diff --git a/synth.metadata b/synth.metadata index b69eb14c8..0cc8b990f 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,5 +1,5 @@ { - "updateTime": "2019-10-05T08:04:01.237950Z", + "updateTime": "2019-10-08T08:08:06.922268Z", "sources": [ { "generator": { @@ -12,8 +12,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "ceb8e2fb12f048cc94caae532ef0b4cf026a78f3", - "internalRef": "272971705" + "sha": "122bdbf877ad87439f8dd9d1474a8e5dde188087", + "internalRef": "273381131" } }, {