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;
       }
    }

Reply via email to