diff options
Diffstat (limited to 'src/main/java/com/p4square/grow/backend')
-rw-r--r-- | src/main/java/com/p4square/grow/backend/SESNotificationService.java | 37 | ||||
-rw-r--r-- | src/main/java/com/p4square/grow/backend/dynamo/DynamoDatabase.java | 24 |
2 files changed, 11 insertions, 50 deletions
diff --git a/src/main/java/com/p4square/grow/backend/SESNotificationService.java b/src/main/java/com/p4square/grow/backend/SESNotificationService.java index 58b732d..b42d09b 100644 --- a/src/main/java/com/p4square/grow/backend/SESNotificationService.java +++ b/src/main/java/com/p4square/grow/backend/SESNotificationService.java @@ -1,13 +1,12 @@ package com.p4square.grow.backend; -import com.amazonaws.auth.AWSCredentials; -import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient; import com.amazonaws.services.simpleemail.model.*; import com.p4square.grow.config.Config; +import com.p4square.grow.config.ConfigCredentialProvider; import org.apache.log4j.Logger; /** @@ -22,40 +21,22 @@ public class SESNotificationService implements NotificationService { private final Destination mDestination; public SESNotificationService(final Config config) { - AWSCredentials creds; - - String awsAccessKey = config.getString("awsAccessKey"); - if (awsAccessKey != null) { - creds = new AWSCredentials() { - @Override - public String getAWSAccessKeyId() { - return config.getString("awsAccessKey"); - } - @Override - public String getAWSSecretKey() { - return config.getString("awsSecretKey"); - } - }; - } else { - creds = new DefaultAWSCredentialsProviderChain().getCredentials(); - } - - mClient = new AmazonSimpleEmailServiceClient(creds); + this(config, new AmazonSimpleEmailServiceClient(new ConfigCredentialProvider(config))); + // Set the AWS region. String region = config.getString("awsRegion"); if (region != null) { mClient.setRegion(Region.getRegion(Regions.fromName(region))); } + } + + public SESNotificationService(Config config, AmazonSimpleEmailService client) { + mClient = client; mSourceAddress = config.getString("notificationSourceEmail"); - final String dest = config.getString("notificationEmail"); - if (dest != null) { - mDestination = new Destination().withToAddresses(dest); - } else { - // Notifications are not configured. - mDestination = null; - } + final String[] dests = config.getString("notificationEmail", "").split(","); + mDestination = new Destination().withToAddresses(dests); } @Override diff --git a/src/main/java/com/p4square/grow/backend/dynamo/DynamoDatabase.java b/src/main/java/com/p4square/grow/backend/dynamo/DynamoDatabase.java index 68a165d..e04933f 100644 --- a/src/main/java/com/p4square/grow/backend/dynamo/DynamoDatabase.java +++ b/src/main/java/com/p4square/grow/backend/dynamo/DynamoDatabase.java @@ -4,14 +4,11 @@ package com.p4square.grow.backend.dynamo; -import java.util.Arrays; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; -import com.amazonaws.auth.AWSCredentials; -import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; @@ -40,6 +37,7 @@ import com.amazonaws.services.dynamodbv2.model.UpdateTableRequest; import com.amazonaws.services.dynamodbv2.model.UpdateTableResult; import com.p4square.grow.config.Config; +import com.p4square.grow.config.ConfigCredentialProvider; /** * A wrapper around the Dynamo API. @@ -49,25 +47,7 @@ public class DynamoDatabase { private final String mTablePrefix; public DynamoDatabase(final Config config) { - AWSCredentials creds; - - String awsAccessKey = config.getString("awsAccessKey"); - if (awsAccessKey != null) { - creds = new AWSCredentials() { - @Override - public String getAWSAccessKeyId() { - return config.getString("awsAccessKey"); - } - @Override - public String getAWSSecretKey() { - return config.getString("awsSecretKey"); - } - }; - } else { - creds = new DefaultAWSCredentialsProviderChain().getCredentials(); - } - - mClient = new AmazonDynamoDBClient(creds); + mClient = new AmazonDynamoDBClient(new ConfigCredentialProvider(config)); String endpoint = config.getString("dynamoEndpoint"); if (endpoint != null) { |