package edu.umd.rhsmith.diads.meater.modules.tweater.oauth; import org.apache.commons.configuration.HierarchicalConfiguration; import edu.umd.rhsmith.diads.meater.core.app.MEaterConfigurationException; import edu.umd.rhsmith.diads.meater.core.config.ConfigUnit; public class OAuthConfig extends ConfigUnit implements OAuthInfo { private static final String CKEY_ACCESS_TOKEN_SECRET = "accessTokenSecret"; private static final String CKEY_ACCESS_TOKEN = "accessToken"; private static final String CKEY_CONSUMER_SECRET = "consumerSecret"; private static final String CKEY_CONSUMER_KEY = "consumerKey"; public static final String TWEATER_CONSUMER_KEY = "RTojEz16nwhI3IrBrZpNQ"; public static final String TWEATER_CONSUMER_SECRET = "lNfVdu2cFKrlEbaw1OiM2Y3TgVKLGBI3AuEEblZilek"; private String consumerKey; private String consumerSecret; private String accessToken; private String accessTokenSecret; public OAuthConfig() { super(); this.registerSetupConsoleOperation(new OAuthSetupOperation(this)); } @Override public String getConsumerKey() { return consumerKey; } @Override public String getConsumerSecret() { return consumerSecret; } @Override public String getAccessToken() { return accessToken; } @Override public String getAccessTokenSecret() { return accessTokenSecret; } public void setConsumerInfo(String consumerKey, String consumerSecret) { this.consumerKey = consumerKey; this.consumerSecret = consumerSecret; } public void setAccessInfo(String accessToken, String accessTokenSecret) { this.accessToken = consumerKey; this.accessTokenSecret = consumerSecret; } @Override public String getUiName() { return "OAuth Configuration"; } @Override public String getUiDescription() { return "Authorization information required to connect to the Twitter API"; } @Override public void resetInternalConfiguration() { this.consumerKey = TWEATER_CONSUMER_KEY; this.consumerSecret = TWEATER_CONSUMER_SECRET; this.accessToken = ""; this.accessTokenSecret = ""; } @Override protected void loadInternalConfigurationFrom( HierarchicalConfiguration config) throws MEaterConfigurationException { this.consumerKey = config .getString(CKEY_CONSUMER_KEY, this.consumerKey); this.consumerSecret = config.getString(CKEY_CONSUMER_SECRET, this.consumerSecret); this.accessToken = config .getString(CKEY_ACCESS_TOKEN, this.accessToken); this.accessTokenSecret = config.getString(CKEY_ACCESS_TOKEN_SECRET, this.accessTokenSecret); } @Override protected void saveInternalConfigurationTo( HierarchicalConfiguration config) throws MEaterConfigurationException { config.setProperty(CKEY_CONSUMER_KEY, this.consumerKey); config.setProperty(CKEY_CONSUMER_SECRET, this.consumerSecret); config.setProperty(CKEY_ACCESS_TOKEN, this.accessToken); config.setProperty(CKEY_ACCESS_TOKEN_SECRET, this.accessTokenSecret); } }