mirror of https://github.com/apache/jclouds.git
Merge pull request #479 from andrewgaul/value-or-empty
Prefer Guava.nullToEmpty and HttpUtils.nullToEmpty
This commit is contained in:
commit
85e169c071
|
@ -49,6 +49,7 @@ import org.jclouds.logging.Logger;
|
||||||
import org.jclouds.util.Strings2;
|
import org.jclouds.util.Strings2;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableMap.Builder;
|
import com.google.common.collect.ImmutableMap.Builder;
|
||||||
import com.google.common.collect.Multimaps;
|
import com.google.common.collect.Multimaps;
|
||||||
|
@ -167,7 +168,7 @@ public class SignRequest implements HttpRequestFilter {
|
||||||
|
|
||||||
private void appendPayloadMetadata(HttpRequest request, StringBuilder buffer) {
|
private void appendPayloadMetadata(HttpRequest request, StringBuilder buffer) {
|
||||||
buffer.append(
|
buffer.append(
|
||||||
utils.valueOrEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
Strings.nullToEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
||||||
.getContentType())).append("\n");
|
.getContentType())).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +177,7 @@ public class SignRequest implements HttpRequestFilter {
|
||||||
// Only the value is used, not the header
|
// Only the value is used, not the header
|
||||||
// name. If a request does not include the header, this is an empty string.
|
// name. If a request does not include the header, this is an empty string.
|
||||||
for (String header : new String[] { "Range" })
|
for (String header : new String[] { "Range" })
|
||||||
toSign.append(utils.valueOrEmpty(request.getHeaders().get(header)).toLowerCase()).append("\n");
|
toSign.append(HttpUtils.nullToEmpty(request.getHeaders().get(header)).toLowerCase()).append("\n");
|
||||||
// Standard HTTP header, in UTC format. Only the date value is used, not the header name.
|
// Standard HTTP header, in UTC format. Only the date value is used, not the header name.
|
||||||
toSign.append(request.getFirstHeaderOrNull(HttpHeaders.DATE)).append("\n");
|
toSign.append(request.getFirstHeaderOrNull(HttpHeaders.DATE)).append("\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ import org.jclouds.s3.Bucket;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
@ -204,14 +205,14 @@ public class RequestAuthorizeSignature implements HttpRequestFilter, RequestSign
|
||||||
// note that we fall back to headers, and some requests such as ?uploads do not have a
|
// note that we fall back to headers, and some requests such as ?uploads do not have a
|
||||||
// payload, yet specify payload related parameters
|
// payload, yet specify payload related parameters
|
||||||
buffer.append(
|
buffer.append(
|
||||||
request.getPayload() == null ? utils.valueOrEmpty(request.getFirstHeaderOrNull("Content-MD5")) : utils
|
request.getPayload() == null ? Strings.nullToEmpty(request.getFirstHeaderOrNull("Content-MD5")) :
|
||||||
.valueOrEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
HttpUtils.nullToEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
||||||
.getContentMD5())).append("\n");
|
.getContentMD5())).append("\n");
|
||||||
buffer.append(
|
buffer.append(
|
||||||
utils.valueOrEmpty(request.getPayload() == null ? request.getFirstHeaderOrNull(HttpHeaders.CONTENT_TYPE)
|
Strings.nullToEmpty(request.getPayload() == null ? request.getFirstHeaderOrNull(HttpHeaders.CONTENT_TYPE)
|
||||||
: request.getPayload().getContentMetadata().getContentType())).append("\n");
|
: request.getPayload().getContentMetadata().getContentType())).append("\n");
|
||||||
for (String header : FIRST_HEADERS_TO_SIGN)
|
for (String header : FIRST_HEADERS_TO_SIGN)
|
||||||
buffer.append(valueOrEmpty(request.getHeaders().get(header))).append("\n");
|
buffer.append(HttpUtils.nullToEmpty(request.getHeaders().get(header))).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@ -270,8 +271,4 @@ public class RequestAuthorizeSignature implements HttpRequestFilter, RequestSign
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String valueOrEmpty(Collection<String> collection) {
|
|
||||||
return (collection != null && collection.size() >= 1) ? collection.iterator().next() : "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ import org.jclouds.logging.Logger;
|
||||||
import org.jclouds.util.Strings2;
|
import org.jclouds.util.Strings2;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.ImmutableMap.Builder;
|
import com.google.common.collect.ImmutableMap.Builder;
|
||||||
|
@ -122,10 +123,10 @@ public class SharedKeyLiteAuthentication implements HttpRequestFilter {
|
||||||
|
|
||||||
private void appendPayloadMetadata(HttpRequest request, StringBuilder buffer) {
|
private void appendPayloadMetadata(HttpRequest request, StringBuilder buffer) {
|
||||||
buffer.append(
|
buffer.append(
|
||||||
utils.valueOrEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
HttpUtils.nullToEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
||||||
.getContentMD5())).append("\n");
|
.getContentMD5())).append("\n");
|
||||||
buffer.append(
|
buffer.append(
|
||||||
utils.valueOrEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
Strings.nullToEmpty(request.getPayload() == null ? null : request.getPayload().getContentMetadata()
|
||||||
.getContentType())).append("\n");
|
.getContentType())).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +167,7 @@ public class SharedKeyLiteAuthentication implements HttpRequestFilter {
|
||||||
|
|
||||||
private void appendHttpHeaders(HttpRequest request, StringBuilder toSign) {
|
private void appendHttpHeaders(HttpRequest request, StringBuilder toSign) {
|
||||||
for (String header : FIRST_HEADERS_TO_SIGN)
|
for (String header : FIRST_HEADERS_TO_SIGN)
|
||||||
toSign.append(utils.valueOrEmpty(request.getHeaders().get(header))).append("\n");
|
toSign.append(HttpUtils.nullToEmpty(request.getHeaders().get(header))).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
|
|
@ -399,16 +399,12 @@ public class HttpUtils {
|
||||||
from.getPayload().release();
|
from.getPayload().release();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String valueOrEmpty(String in) {
|
public static String nullToEmpty(byte[] md5) {
|
||||||
return in != null ? in : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
public String valueOrEmpty(byte[] md5) {
|
|
||||||
return md5 != null ? CryptoStreams.base64(md5) : "";
|
return md5 != null ? CryptoStreams.base64(md5) : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public String valueOrEmpty(Collection<String> collection) {
|
public static String nullToEmpty(Collection<String> collection) {
|
||||||
return (collection != null && collection.size() >= 1) ? collection.iterator().next() : "";
|
return (collection == null || collection.isEmpty()) ? "" : collection.iterator().next();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Long attemptToParseSizeAndRangeFromHeaders(HttpMessage from) throws HttpException {
|
public static Long attemptToParseSizeAndRangeFromHeaders(HttpMessage from) throws HttpException {
|
||||||
|
|
Loading…
Reference in New Issue