diff --git a/src/main/java/org/scribe/builder/api/YammerApi.java b/src/main/java/org/scribe/builder/api/YammerApi.java index 85477a5..68bcda5 100644 --- a/src/main/java/org/scribe/builder/api/YammerApi.java +++ b/src/main/java/org/scribe/builder/api/YammerApi.java @@ -1,26 +1,33 @@ package org.scribe.builder.api; -import org.scribe.model.Token; +import org.scribe.model.*; +import org.scribe.services.*; public class YammerApi extends DefaultApi10a { private static final String AUTHORIZATION_URL = "'https://www.yammer.com/oauth/authorize?oauth_token=%s'"; - @Override - public String getRequestTokenEndpoint() + @Override + public String getRequestTokenEndpoint() { - return "https://www.yammer.com/oauth/request_token"; - } + return "https://www.yammer.com/oauth/request_token"; + } - @Override - public String getAccessTokenEndpoint() + @Override + public String getAccessTokenEndpoint() { - return "https://www.yammer.com/oauth/access_token"; - } - - @Override - public String getAuthorizationUrl(Token requestToken) - { - return String.format(AUTHORIZATION_URL, requestToken.getToken()); - } + return "https://www.yammer.com/oauth/access_token"; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format(AUTHORIZATION_URL, requestToken.getToken()); + } + + @Override + public SignatureService getSignatureService() + { + return new PlaintextSignatureService(); + } } diff --git a/src/main/java/org/scribe/services/PlaintextSignatureService.java b/src/main/java/org/scribe/services/PlaintextSignatureService.java new file mode 100644 index 0000000..57fb70d --- /dev/null +++ b/src/main/java/org/scribe/services/PlaintextSignatureService.java @@ -0,0 +1,43 @@ +package org.scribe.services; + +import org.scribe.exceptions.*; +import org.scribe.utils.*; + +/** + * plaintext implementation of {@SignatureService} + * + * @author Pablo Fernandez + * + */ +public class PlaintextSignatureService implements SignatureService +{ + private static final String EMPTY_STRING = ""; + private static final String CARRIAGE_RETURN = "\r\n"; + private static final String UTF8 = "UTF-8"; + private static final String METHOD = "plaintext"; + + /** + * {@inheritDoc} + */ + public String getSignature(String baseString, String apiSecret, String tokenSecret) + { + try + { + Preconditions.checkEmptyString(apiSecret, "Api secret cant be null or empty string"); + return URLUtils.percentEncode(apiSecret) + '&' + URLUtils.percentEncode(tokenSecret); + } + catch (Exception e) + { + throw new OAuthSignatureException(baseString, e); + } + } + + /** + * {@inheritDoc} + */ + public String getSignatureMethod() + { + return METHOD; + } +} +