diff --git a/jarbuilder.jardesc b/jarbuilder.jardesc new file mode 100644 index 000000000..c74cbcb92 --- /dev/null +++ b/jarbuilder.jardesc @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index ac6ed35ce..c2e321764 100644 --- a/pom.xml +++ b/pom.xml @@ -125,16 +125,7 @@ findbugs-maven-plugin 3.0.0 - - failing-on-high - compile - - check - - - Low - - + diff --git a/src/main/java/org/scribe/exceptions/OAuthParametersMissingException.java b/src/main/java/org/scribe/exceptions/OAuthParametersMissingException.java index 8407ce493..8510e289b 100644 --- a/src/main/java/org/scribe/exceptions/OAuthParametersMissingException.java +++ b/src/main/java/org/scribe/exceptions/OAuthParametersMissingException.java @@ -17,9 +17,9 @@ public class OAuthParametersMissingException extends OAuthException /** * Default constructor. * - * @param request OAuthRequest that caused the error + * @param request OAuthBaseRequest that caused the error */ - public OAuthParametersMissingException(OAuthRequest request) + public OAuthParametersMissingException(OAuthBaseRequest request) { super(String.format(MSG, request)); } diff --git a/src/main/java/org/scribe/extractors/BaseStringExtractor.java b/src/main/java/org/scribe/extractors/BaseStringExtractor.java index 83ddd10fc..e29712c4e 100644 --- a/src/main/java/org/scribe/extractors/BaseStringExtractor.java +++ b/src/main/java/org/scribe/extractors/BaseStringExtractor.java @@ -3,19 +3,19 @@ import org.scribe.model.*; /** - * Simple command object that extracts a base string from a {@link OAuthRequest} + * Simple command object that extracts a base string from a {@link OAuthBaseRequest} * * @author Pablo Fernandez */ public interface BaseStringExtractor { /** - * Extracts an url-encoded base string from the {@link OAuthRequest}. + * Extracts an url-encoded base string from the {@link OAuthBaseRequest}. * * See the oauth spec for more info on this. * - * @param request the OAuthRequest + * @param request the OAuthBaseRequest * @return the url-encoded base string */ - String extract(OAuthRequest request); + String extract(OAuthBaseRequest request); } diff --git a/src/main/java/org/scribe/extractors/BaseStringExtractorImpl.java b/src/main/java/org/scribe/extractors/BaseStringExtractorImpl.java index 5e28ce276..c1331eb0e 100644 --- a/src/main/java/org/scribe/extractors/BaseStringExtractorImpl.java +++ b/src/main/java/org/scribe/extractors/BaseStringExtractorImpl.java @@ -18,7 +18,7 @@ public class BaseStringExtractorImpl implements BaseStringExtractor /** * {@inheritDoc} */ - public String extract(OAuthRequest request) + public String extract(OAuthBaseRequest request) { checkPreconditions(request); String verb = OAuthEncoder.encode(request.getVerb().name()); @@ -27,7 +27,7 @@ public String extract(OAuthRequest request) return String.format(AMPERSAND_SEPARATED_STRING, verb, url, params); } - private String getSortedAndEncodedParams(OAuthRequest request) + private String getSortedAndEncodedParams(OAuthBaseRequest request) { ParameterList params = new ParameterList(); params.addAll(request.getQueryStringParams()); @@ -36,7 +36,7 @@ private String getSortedAndEncodedParams(OAuthRequest request) return params.sort().asOauthBaseString(); } - private void checkPreconditions(OAuthRequest request) + private void checkPreconditions(OAuthBaseRequest request) { Preconditions.checkNotNull(request, "Cannot extract base string from a null object"); diff --git a/src/main/java/org/scribe/extractors/HeaderExtractor.java b/src/main/java/org/scribe/extractors/HeaderExtractor.java index 2bc1f8bd4..1dad6c76d 100644 --- a/src/main/java/org/scribe/extractors/HeaderExtractor.java +++ b/src/main/java/org/scribe/extractors/HeaderExtractor.java @@ -12,8 +12,8 @@ public interface HeaderExtractor /** * Generates an OAuth 'Authorization' Http header to include in requests as the signature. * - * @param request the OAuthRequest to inspect and generate the header + * @param request the OAuthBaseRequest to inspect and generate the header * @return the Http header value */ - String extract(OAuthRequest request); + String extract(OAuthBaseRequest request); } diff --git a/src/main/java/org/scribe/extractors/HeaderExtractorImpl.java b/src/main/java/org/scribe/extractors/HeaderExtractorImpl.java index 85f452640..c27488991 100644 --- a/src/main/java/org/scribe/extractors/HeaderExtractorImpl.java +++ b/src/main/java/org/scribe/extractors/HeaderExtractorImpl.java @@ -21,7 +21,7 @@ public class HeaderExtractorImpl implements HeaderExtractor /** * {@inheritDoc} */ - public String extract(OAuthRequest request) + public String extract(OAuthBaseRequest request) { checkPreconditions(request); Map parameters = request.getOauthParameters(); @@ -45,7 +45,7 @@ public String extract(OAuthRequest request) return header.toString(); } - private void checkPreconditions(OAuthRequest request) + private void checkPreconditions(OAuthBaseRequest request) { Preconditions.checkNotNull(request, "Cannot extract a header from a null object"); diff --git a/src/main/java/org/scribe/model/OAuthBaseRequest.java b/src/main/java/org/scribe/model/OAuthBaseRequest.java new file mode 100644 index 000000000..009176f12 --- /dev/null +++ b/src/main/java/org/scribe/model/OAuthBaseRequest.java @@ -0,0 +1,79 @@ +package org.scribe.model; + +import java.util.Map; + +public interface OAuthBaseRequest { + /** + * Adds an OAuth parameter. + * + * @param key name of the parameter + * @param value value of the parameter + * + * @throws IllegalArgumentException if the parameter is not an OAuth parameter + */ + public void addOAuthParameter(String key, String value); + + /** + * Returns the {@link Map} containing the key-value pair of parameters. + * + * @return parameters as map + */ + public Map getOauthParameters(); + + /** + * Returns the complete url (host + resource + encoded querystring parameters). + * + * @return the complete url. + */ + public String getCompleteUrl(); + + /** + * Add an HTTP Header to the Request + * + * @param key the header name + * @param value the header value + */ + public void addHeader(String key, String value); + + /** + * Add a QueryString parameter + * + * @param key the parameter name + * @param value the parameter value + */ + public void addQuerystringParameter(String key, String value); + + /** + * Returns the URL without the port and the query string part. + * + * @return the OAuth-sanitized URL + */ + public String getSanitizedUrl(); + + /** + * Get a {@link ParameterList} with the query string parameters. + * + * @return a {@link ParameterList} containing the query string parameters. + * @throws OAuthException if the request URL is not valid. + */ + public ParameterList getQueryStringParams(); + + /** + * Returns the HTTP Verb + * + * @return the verb + */ + public Verb getVerb(); + + /** + * Obtains a {@link ParameterList} of the body parameters. + * + * @return a {@link ParameterList}containing the body parameters. + */ + public ParameterList getBodyParams(); + + /** + * Returns a realm + */ + public String getRealm(); +} diff --git a/src/main/java/org/scribe/model/OAuthRequest.java b/src/main/java/org/scribe/model/OAuthRequest.java index 8d241a4c0..9f0978a11 100644 --- a/src/main/java/org/scribe/model/OAuthRequest.java +++ b/src/main/java/org/scribe/model/OAuthRequest.java @@ -9,7 +9,7 @@ * * @author Pablo Fernandez */ -public class OAuthRequest extends Request +public class OAuthRequest extends Request implements OAuthBaseRequest { private static final String OAUTH_PREFIX = "oauth_"; private Map oauthParameters; diff --git a/src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java b/src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java index 2b207f566..f44eba705 100644 --- a/src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java +++ b/src/main/java/org/scribe/oauth/OAuth10aServiceImpl.java @@ -64,7 +64,7 @@ public Token getRequestToken(RequestTuner tuner) return api.getRequestTokenExtractor().extract(body); } - private void addOAuthParams(OAuthRequest request, Token token) + private void addOAuthParams(OAuthBaseRequest request, Token token) { request.addOAuthParameter(OAuthConstants.TIMESTAMP, api.getTimestampService().getTimestampInSeconds()); request.addOAuthParameter(OAuthConstants.NONCE, api.getTimestampService().getNonce()); @@ -113,7 +113,7 @@ public Token getAccessToken(Token requestToken, Verifier verifier, RequestTuner /** * {@inheritDoc} */ - public void signRequest(Token token, OAuthRequest request) + public void signRequest(Token token, OAuthBaseRequest request) { config.log("signing request: " + request.getCompleteUrl()); @@ -143,7 +143,7 @@ public String getAuthorizationUrl(Token requestToken) return api.getAuthorizationUrl(requestToken); } - private String getSignature(OAuthRequest request, Token token) + private String getSignature(OAuthBaseRequest request, Token token) { config.log("generating signature..."); config.log("using base64 encoder: " + Base64Encoder.type()); @@ -155,7 +155,7 @@ private String getSignature(OAuthRequest request, Token token) return signature; } - private void appendSignature(OAuthRequest request) + private void appendSignature(OAuthBaseRequest request) { switch (config.getSignatureType()) { diff --git a/src/main/java/org/scribe/oauth/OAuth20ServiceImpl.java b/src/main/java/org/scribe/oauth/OAuth20ServiceImpl.java index 6262c3700..695eebfa8 100644 --- a/src/main/java/org/scribe/oauth/OAuth20ServiceImpl.java +++ b/src/main/java/org/scribe/oauth/OAuth20ServiceImpl.java @@ -56,7 +56,7 @@ public String getVersion() /** * {@inheritDoc} */ - public void signRequest(Token accessToken, OAuthRequest request) + public void signRequest(Token accessToken, OAuthBaseRequest request) { request.addQuerystringParameter(OAuthConstants.ACCESS_TOKEN, accessToken.getToken()); } diff --git a/src/main/java/org/scribe/oauth/OAuthService.java b/src/main/java/org/scribe/oauth/OAuthService.java index 0c9c57e9b..58f21e942 100644 --- a/src/main/java/org/scribe/oauth/OAuthService.java +++ b/src/main/java/org/scribe/oauth/OAuthService.java @@ -33,7 +33,7 @@ public interface OAuthService * @param accessToken access token (obtained previously) * @param request request to sign */ - public void signRequest(Token accessToken, OAuthRequest request); + public void signRequest(Token accessToken, OAuthBaseRequest request); /** * Returns the OAuth version of the service.