Updated Branches: refs/heads/master e219faf8d -> 01222c986
Code and comment clean up for the Claim API. Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/commit/01222c98 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/tree/01222c98 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/diff/01222c98 Branch: refs/heads/master Commit: 01222c9868af76db321e034a8c7b50d99e0de06e Parents: e219faf Author: Everett Toews <[email protected]> Authored: Fri Dec 13 16:53:58 2013 -0600 Committer: Everett Toews <[email protected]> Committed: Fri Dec 13 23:13:53 2013 -0600 ---------------------------------------------------------------------- .../openstack/marconi/v1/features/ClaimApi.java | 8 +++---- .../marconi/v1/functions/ParseClaim.java | 4 ++-- .../v1/functions/ParseMessagesToStream.java | 22 +++++++++++++------- 3 files changed, 20 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/01222c98/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java ---------------------------------------------------------------------- diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java index ee66f21..a6d88cf 100644 --- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java +++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/features/ClaimApi.java @@ -75,11 +75,11 @@ public interface ClaimApi { * claim itself, plus the specified grace period. If a claimed message would normally live longer than the grace * period, its expiration is not adjusted. * - * @param ttl The ttl attribute specifies how long the server waits before releasing the claim. The ttl value + * @param ttl The TTL attribute specifies how long the server waits before releasing the claim. The ttl value * must be between 60 and 43200 seconds (12 hours). You must include a value for this attribute in * your request. - * @param grace The grace attribute specifies the message grace period in seconds. The value of grace value must - * be between 60 and 43200 seconds (12 hours). You must include a value for thia attribute in your + * @param grace The grace value specifies the message grace period in seconds. The value of grace value must + * be between 60 and 43200 seconds (12 hours). You must include a value for this attribute in your * request. * @param limit Specifies the number of messages to return, up to 20 messages. */ @@ -127,7 +127,7 @@ public interface ClaimApi { // @PayloadParam("ttl") int ttl); /** - * This operation immediately releases a claim, making any remaining, undeleted) messages that are associated with + * This operation immediately releases a claim, making any remaining, undeleted messages that are associated with * the claim available to other workers. This operation is useful when a worker is performing a graceful shutdown, * fails to process one or more messages, or is taking longer than expected to process messages, and wants to make * the remainder of the messages available to other workers. http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/01222c98/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseClaim.java ---------------------------------------------------------------------- diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseClaim.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseClaim.java index 2dc8249..9b2fddc 100644 --- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseClaim.java +++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseClaim.java @@ -17,6 +17,7 @@ package org.jclouds.openstack.marconi.v1.functions; import com.google.common.base.Function; +import com.google.common.collect.ImmutableList; import org.jclouds.http.HttpResponse; import org.jclouds.http.functions.ParseJson; import org.jclouds.openstack.marconi.v1.domain.Claim; @@ -28,7 +29,6 @@ import java.util.List; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.Iterables.transform; -import static com.google.common.collect.Lists.newArrayList; import static org.jclouds.openstack.marconi.v1.functions.ParseMessagesToStream.MessageWithHref; import static org.jclouds.openstack.marconi.v1.functions.ParseMessagesToStream.TO_ID_FROM_HREF; import static org.jclouds.openstack.marconi.v1.functions.ParseMessagesToStream.TO_MESSAGE; @@ -41,7 +41,7 @@ public class ParseClaim implements Function<HttpResponse, Claim> { protected static final Function<ClaimWithHref, Claim> TO_CLAIM = new Function<ClaimWithHref, Claim>() { @Override public Claim apply(ClaimWithHref claimWithHref) { - List<Message> messages = newArrayList(transform(claimWithHref.messagesWithHref, TO_MESSAGE)); + List<Message> messages = ImmutableList.copyOf(transform(claimWithHref.messagesWithHref, TO_MESSAGE)); String claimId = TO_ID_FROM_HREF.apply(claimWithHref.getId()); return claimWithHref.toBuilder() http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/01222c98/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseMessagesToStream.java ---------------------------------------------------------------------- diff --git a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseMessagesToStream.java b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseMessagesToStream.java index 42e2b02..dfbc17c 100644 --- a/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseMessagesToStream.java +++ b/openstack-marconi/src/main/java/org/jclouds/openstack/marconi/v1/functions/ParseMessagesToStream.java @@ -28,6 +28,8 @@ import org.jclouds.openstack.v2_0.domain.PaginatedCollection; import javax.inject.Inject; import java.beans.ConstructorProperties; +import java.net.URI; +import java.net.URISyntaxException; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.collect.Iterables.getOnlyElement; @@ -66,7 +68,7 @@ public class ParseMessagesToStream implements Function<HttpResponse, MessageStre int indexOfQuestionMark = rawMessageHref.indexOf('?'); int lastIndexOfSlash = rawMessageHref.lastIndexOf('/') + 1; - if (indexOfQuestionMark > 0) { + if (indexOfQuestionMark > lastIndexOfSlash) { return rawMessageHref.substring(lastIndexOfSlash, indexOfQuestionMark); } else { @@ -75,14 +77,18 @@ public class ParseMessagesToStream implements Function<HttpResponse, MessageStre } private static String getClaimIdFromHref(String rawMessageHref) { - int indexOfQuestionMark = rawMessageHref.indexOf('?') + 1; - - if (indexOfQuestionMark > 0) { - Multimap<String, String> queryParams = queryParser().apply(rawMessageHref.substring(indexOfQuestionMark)); - - return getOnlyElement(queryParams.get("claim_id"), null); + try { + String query = new URI(rawMessageHref).getQuery(); + + if (query != null) { + Multimap<String, String> queryParams = queryParser().apply(query); + return getOnlyElement(queryParams.get("claim_id"), null); + } + else { + return null; + } } - else { + catch (URISyntaxException e) { return null; } }
