From d9f22731ead3615af7bf93270fd115a65dac0dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Pinto?= Date: Fri, 24 Apr 2015 17:31:56 -0300 Subject: [PATCH] MultilangDaemon: creating validation for cloudwatch metrics factory validation --- .../worker/KinesisClientLibConfiguration.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java index 14b898ff..c91166fe 100644 --- a/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java +++ b/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/KinesisClientLibConfiguration.java @@ -289,6 +289,16 @@ public class KinesisClientLibConfiguration { throw new IllegalArgumentException("The specified region name is not valid"); } } + + private void checkIsCloudWatchMetricsFactoryNameValid(String cloudWatchMetricsFactoryName) { + if ("CWMetricsFactory".equals(cloudWatchMetricsFactoryName) || + "NullMetricsFactory".equals(cloudWatchMetricsFactoryName) || + "LogMetricsFactory".equals(cloudWatchMetricsFactoryName) ){ + return; + } + + throw new IllegalArgumentException("The specified Cloud Watch Metrics Factory Name is not valid"); + } /** * @return Name of the application @@ -459,6 +469,13 @@ public class KinesisClientLibConfiguration { return regionName; } + /** + * @return Custom CloudWatch Metrics Factory Name. + */ + public String getCustomCloudWatchMetricsFactoryName() { + return customCloudWatchMetricsFactoryName; + } + /** * @return Custom CloudWatch Metrics Factory. In case of the default MetricsFactory CWMetricsFactory, null is returned. */ @@ -677,4 +694,17 @@ public class KinesisClientLibConfiguration { this.regionName = regionName; return this; } + + /** + * + * @param customCloudWatchMetricsFactoryName The region name for the service + * @return KinesisClientLibConfiguration + */ + // CHECKSTYLE:IGNORE HiddenFieldCheck FOR NEXT 2 LINES + public KinesisClientLibConfiguration withCustomCloudWatchMetricsFactoryName(String customCloudWatchMetricsFactoryName) { + checkIsCloudWatchMetricsFactoryNameValid(customCloudWatchMetricsFactoryName); + this.customCloudWatchMetricsFactoryName = customCloudWatchMetricsFactoryName; + return this; + } + }