diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 3f282b0db7e6..b06b26eed6f2 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -42,7 +42,9 @@ public class FlowController { /** Base exception that signals a flow control state. */ public abstract static class FlowControlException extends Exception { - private FlowControlException() {} + private FlowControlException(String message) { + super(message); + } } /** @@ -68,18 +70,13 @@ public static final class MaxOutstandingElementCountReachedException private final long currentMaxElementCount; public MaxOutstandingElementCountReachedException(long currentMaxElementCount) { + super("The maximum number of batch elements: " + currentMaxElementCount + " has been reached."); this.currentMaxElementCount = currentMaxElementCount; } public long getCurrentMaxBatchElementCount() { return currentMaxElementCount; } - - @Override - public String toString() { - return String.format( - "The maximum number of batch elements: %d have been reached.", currentMaxElementCount); - } } /** @@ -91,18 +88,13 @@ public static final class MaxOutstandingRequestBytesReachedException private final long currentMaxBytes; public MaxOutstandingRequestBytesReachedException(long currentMaxBytes) { + super("The maximum number of batch bytes: " + currentMaxBytes + " has been reached."); this.currentMaxBytes = currentMaxBytes; } public long getCurrentMaxBatchBytes() { return currentMaxBytes; } - - @Override - public String toString() { - return String.format( - "The maximum number of batch bytes: %d have been reached.", currentMaxBytes); - } } /** diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java index c91b5b17aed7..a0062719730c 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java @@ -774,4 +774,18 @@ private List> testConcurrentUpdates( executors.shutdown(); return reserveReleaseFuture; } + + @Test + public void testExceptionGetMessage() { + FlowController.MaxOutstandingElementCountReachedException elementException = + new FlowController.MaxOutstandingElementCountReachedException(100); + assertThat(elementException.getMessage()) + .isEqualTo("The maximum number of batch elements: 100 has been reached."); + + FlowController.MaxOutstandingRequestBytesReachedException bytesException = + new FlowController.MaxOutstandingRequestBytesReachedException(500); + assertThat(bytesException.getMessage()) + .isEqualTo("The maximum number of batch bytes: 500 has been reached."); + } } +