public static String getSignatureBaseString(String requestMethod, String requestUrl,
      Map<String, String> protocolParameters) throws AuthException {
    StringBuilder sb = new StringBuilder();
    sb.append(requestMethod.toUpperCase()).append("&")
        .append(AuthUtils.percentEncode(normalizeUrl(requestUrl))).append("&")
        .append(AuthUtils.percentEncode(normalizeParameters(requestUrl, protocolParameters)));
    return sb.toString();
  }
public static String getSignatureBaseString ( String requestMethod , String requestUrl , Map < String , String > protocolParameters ) throws AuthException { StringBuilder sb = new StringBuilder ( ) ; sb . append ( requestMethod . toUpperCase ( ) ) . append ( "&" ) . append ( AuthUtils . percentEncode ( normalizeUrl ( requestUrl ) ) ) . append ( "&" ) . append ( AuthUtils . percentEncode ( normalizeParameters ( requestUrl , protocolParameters ) ) ) ; return sb . toString ( ) ; }
Returns a signature base string. The signature base string
is a consistent, reproducible concatenation of several of
the HTTP request elements into a single string.

The signature base string includes the following components of the HTTP request:
<ul>
<li>the HTTP request method (e.g., "GET", "POST", etc.)</li>
<li>the authority as declared by the HTTP "Host" request header field</li>
<li>the path and query components of the request resource URI</li>
<li>the protocol parameters excluding the "oauth_signature"</li>
<li>parameters included in the request entity-body if they comply with
the strict restrictions defined in Section 3.4.1.3</li>
</ul>

NOTE 1: only 4 first parameter sources are used for now.
NOTE 2: no percent encoding for custom HTTP methods for now.

@see <a href="http://tools.ietf.org/html/rfc5849#section-3.4.1">3.4.1.
Signature Base String</a>

@param requestMethod request method
@param requestUrl request url
@param protocolParameters protocol parameters
@return signature base string
@throws AuthException if some of parameters has unacceptable value