diff options
Diffstat (limited to 'src/main/java/com/p4square/grow/config')
-rw-r--r-- | src/main/java/com/p4square/grow/config/Config.java | 32 | ||||
-rw-r--r-- | src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java | 43 |
2 files changed, 75 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/grow/config/Config.java b/src/main/java/com/p4square/grow/config/Config.java index 2fc2ea3..f810980 100644 --- a/src/main/java/com/p4square/grow/config/Config.java +++ b/src/main/java/com/p4square/grow/config/Config.java @@ -200,4 +200,36 @@ public class Config { return defaultValue; } + + /** + * Set a value in the config. + * + * @param key Config name + * @param value Config value + */ + public void setString(String key, String value) { + mProperties.setProperty(mDomain + "." + key, value); + } + + /** + * Set a value in the config. + * + * @param key Config name + * @param value Config value + */ + public void setInt(String key, int value) { + setString(key, String.valueOf(value)); + } + + /** + * Set a value in the config. + * + * @param key Config name + * @param value Config value + */ + public void setBoolean(String key, boolean value) { + setString(key, String.valueOf(value)); + } + + } diff --git a/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java b/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java new file mode 100644 index 0000000..06abd48 --- /dev/null +++ b/src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java @@ -0,0 +1,43 @@ +package com.p4square.grow.config; + +import com.amazonaws.auth.AWSCredentials; +import com.amazonaws.auth.DefaultAWSCredentialsProviderChain; + +/** + * AWSCredentials credentials backed by config. + * + * Falls back to DefaultAWSCredentialsProviderChain if the credentials are not in the config. + */ +public class ConfigCredentialProvider implements AWSCredentials { + + private AWSCredentials mCredentials; + + public ConfigCredentialProvider(final Config config) { + String awsAccessKey = config.getString("awsAccessKey"); + if (awsAccessKey != null) { + mCredentials = new AWSCredentials() { + @Override + public String getAWSAccessKeyId() { + return config.getString("awsAccessKey"); + } + + @Override + public String getAWSSecretKey() { + return config.getString("awsSecretKey"); + } + }; + } else { + mCredentials = new DefaultAWSCredentialsProviderChain().getCredentials(); + } + } + + @Override + public String getAWSAccessKeyId() { + return mCredentials.getAWSAccessKeyId(); + } + + @Override + public String getAWSSecretKey() { + return mCredentials.getAWSSecretKey(); + } +} |