summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/grow/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/p4square/grow/config')
-rw-r--r--src/main/java/com/p4square/grow/config/Config.java32
-rw-r--r--src/main/java/com/p4square/grow/config/ConfigCredentialProvider.java43
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();
+ }
+}