Skip to content

Commit 76ed2d0

Browse files
fix(samples): Removed delays on LRO (#527)
* fix (samples) Removed delays on LRO. * fix (samples) removed delays on lro. * pr fix: replaced while with polling. * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * pr fix: fixed tests. * pr fix: fixed test. Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 1780330 commit 76ed2d0

File tree

6 files changed

+21
-23
lines changed

6 files changed

+21
-23
lines changed

retail/interactive-tutorials/src/main/java/product/AddFulfillmentPlaces.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.google.cloud.retail.v2.ProductServiceClient;
2626
import java.io.IOException;
2727
import java.util.UUID;
28-
import java.util.concurrent.TimeUnit;
28+
import java.util.concurrent.ExecutionException;
2929

3030
public class AddFulfillmentPlaces {
3131

@@ -72,11 +72,12 @@ public static void addFulfillmentPlaces(String productName, String placeId)
7272
// completing all of your requests, call the "close" method on the client to
7373
// safely clean up any remaining background resources.
7474
try (ProductServiceClient serviceClient = ProductServiceClient.create()) {
75-
serviceClient.addFulfillmentPlacesAsync(addFulfillmentPlacesRequest);
7675
// This is a long-running operation and its result is not immediately
7776
// present with get operations,thus we simulate wait with sleep method.
78-
System.out.println("Add fulfillment places, wait 45 seconds: ");
79-
TimeUnit.SECONDS.sleep(45);
77+
System.out.println("Waiting for operation to finish...");
78+
serviceClient.addFulfillmentPlacesAsync(addFulfillmentPlacesRequest).getPollingFuture().get();
79+
} catch (ExecutionException e) {
80+
System.out.printf("Exception occurred during longrunning operation: %s%n", e.getMessage());
8081
}
8182
}
8283
}

retail/interactive-tutorials/src/main/java/product/RemoveFulfillmentPlaces.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.google.cloud.retail.v2.RemoveFulfillmentPlacesRequest;
2626
import java.io.IOException;
2727
import java.util.UUID;
28-
import java.util.concurrent.TimeUnit;
28+
import java.util.concurrent.ExecutionException;
2929

3030
public class RemoveFulfillmentPlaces {
3131

@@ -73,11 +73,12 @@ public static void removeFulfillmentPlaces(String productName, String storeId)
7373
// completing all of your requests, call the "close" method on the client to
7474
// safely clean up any remaining background resources.
7575
try (ProductServiceClient serviceClient = ProductServiceClient.create()) {
76-
serviceClient.removeFulfillmentPlacesAsync(removeFulfillmentRequest);
7776
// This is a long-running operation and its result is not immediately
7877
// present with get operations,thus we simulate wait with sleep method.
79-
System.out.println("Remove fulfillment places, wait 30 seconds.");
80-
TimeUnit.SECONDS.sleep(30);
78+
System.out.println("Waiting for operation to finish...");
79+
serviceClient.removeFulfillmentPlacesAsync(removeFulfillmentRequest).getPollingFuture().get();
80+
} catch (ExecutionException e) {
81+
System.out.printf("Exception occurred during longrunning operation: %s%n", e.getMessage());
8182
}
8283
}
8384
}

retail/interactive-tutorials/src/main/java/product/SetInventory.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,14 @@
2121
import static setup.SetupCleanup.getProduct;
2222

2323
import com.google.cloud.ServiceOptions;
24-
import com.google.cloud.retail.v2.FulfillmentInfo;
25-
import com.google.cloud.retail.v2.PriceInfo;
26-
import com.google.cloud.retail.v2.Product;
24+
import com.google.cloud.retail.v2.*;
2725
import com.google.cloud.retail.v2.Product.Availability;
28-
import com.google.cloud.retail.v2.ProductServiceClient;
29-
import com.google.cloud.retail.v2.SetInventoryRequest;
3026
import com.google.protobuf.FieldMask;
3127
import com.google.protobuf.Int32Value;
3228
import java.io.IOException;
3329
import java.util.Arrays;
3430
import java.util.UUID;
35-
import java.util.concurrent.TimeUnit;
31+
import java.util.concurrent.ExecutionException;
3632

3733
public class SetInventory {
3834

@@ -106,12 +102,12 @@ public static void setInventory(String productName) throws IOException, Interrup
106102
// completing all of your requests, call the "close" method on the client to
107103
// safely clean up any remaining background resources.
108104
try (ProductServiceClient serviceClient = ProductServiceClient.create()) {
109-
serviceClient.setInventoryAsync(setInventoryRequest);
105+
// This is a long-running operation and its result is not immediately
106+
// present with get operations,thus we simulate wait with sleep method.
107+
System.out.println("Waiting for operation to finish...");
108+
serviceClient.setInventoryAsync(setInventoryRequest).getPollingFuture().get();
109+
} catch (ExecutionException e) {
110+
System.out.printf("Exception occurred during longrunning operation: %s%n", e.getMessage());
110111
}
111-
112-
// This is a long-running operation and its result is not immediately
113-
// present with get operations,thus we simulate wait with sleep method.
114-
System.out.println("Set inventory, wait 30 seconds.");
115-
TimeUnit.SECONDS.sleep(30);
116112
}
117113
}

retail/interactive-tutorials/src/test/java/product/AddFulfillmentPlacesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public void testAddFulfillment() {
6565
String outputResult = bout.toString();
6666

6767
assertThat(outputResult).contains("Add fulfilment places");
68-
assertThat(outputResult).contains("Add fulfillment places, wait 45 seconds");
68+
assertThat(outputResult).contains("Waiting for operation to finish...");
6969
}
7070

7171
@After

retail/interactive-tutorials/src/test/java/product/RemoveFulfillmentPlacesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void testRemoveFulfillmentPlaces() {
6464
String outputResult = bout.toString();
6565

6666
assertThat(outputResult).contains("Remove fulfilment places with current date");
67-
assertThat(outputResult).contains("Remove fulfillment places, wait 30 seconds");
67+
assertThat(outputResult).contains("Waiting for operation to finish...");
6868
assertThat(outputResult).contains("Delete product request name");
6969
assertThat(outputResult).contains("was deleted");
7070
}

retail/interactive-tutorials/src/test/java/product/SetInventoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public void testSetInventoryTest() {
6464
String outputResult = bout.toString();
6565

6666
assertThat(outputResult).contains("Set inventory request");
67-
assertThat(outputResult).contains("Set inventory, wait 30 seconds");
67+
assertThat(outputResult).contains("Waiting for operation to finish...");
6868
}
6969

7070
@After

0 commit comments

Comments
 (0)