You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2014/10/06 23:47:10 UTC
git commit: better tests
Repository: incubator-usergrid
Updated Branches:
refs/heads/two-dot-o c0c30a916 -> 4ce4956fb
better tests
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/4ce4956f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/4ce4956f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/4ce4956f
Branch: refs/heads/two-dot-o
Commit: 4ce4956fb88888e753e63cd6985a32d72785b79a
Parents: c0c30a9
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Oct 6 15:46:54 2014 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Oct 6 15:46:54 2014 -0600
----------------------------------------------------------------------
.../persistence/queue/QueueManager.java | 4 +--
.../queue/impl/SQSQueueManagerImpl.java | 37 +++++++++++---------
.../persistence/queue/QueueManagerTest.java | 25 +++++++++++++
3 files changed, 48 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
index 89abe40..223860e 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/QueueManager.java
@@ -53,12 +53,12 @@ public interface QueueManager {
* @param bodies body objects must be serializable
* @throws IOException
*/
- void sendMessages(List<Serializable> bodies) throws IOException;
+ void sendMessages(List bodies) throws IOException;
/**
* send a message to queue
* @param body
* @throws IOException
*/
- void sendMessage(Serializable body)throws IOException;
+ void sendMessage(Object body)throws IOException;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
index 85b7f1e..6fa5bf8 100644
--- a/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
+++ b/stack/corepersistence/queue/src/main/java/org/apache/usergrid/persistence/queue/impl/SQSQueueManagerImpl.java
@@ -31,14 +31,16 @@ import com.google.inject.Inject;
import com.fasterxml.jackson.dataformat.smile.SmileFactory;
import com.google.inject.assistedinject.Assisted;
import org.apache.commons.lang.StringUtils;
+import org.apache.usergrid.persistence.model.util.UUIDGenerator;
import org.apache.usergrid.persistence.queue.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
-public class SQSQueueManagerImpl<T> implements QueueManager {
+public class SQSQueueManagerImpl implements QueueManager {
private static final Logger LOG = LoggerFactory.getLogger(SQSQueueManagerImpl.class);
private final AmazonSQSClient sqs;
@@ -103,7 +105,7 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
public List<QueueMessage> getMessages(int limit, int transactionTimeout, int waitTime, Class klass) {
waitTime = waitTime/1000;
String url = getQueue().getUrl();
- LOG.info("Getting {} messages from {}",limit,url);
+ LOG.info("Getting {} messages from {}", limit, url);
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(url);
receiveMessageRequest.setMaxNumberOfMessages(limit);
receiveMessageRequest.setVisibilityTimeout(transactionTimeout);
@@ -127,24 +129,15 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
}
@Override
- public void commitMessage(QueueMessage queueMessage) {
- String url = getQueue().getUrl();
- LOG.info("Commit message {} to queue {}",queueMessage.getMessageId(),url);
-
- sqs.deleteMessage(new DeleteMessageRequest()
- .withQueueUrl(url)
- .withReceiptHandle(queueMessage.getHandle()));
- }
-
- @Override
- public void sendMessages(List<Serializable> bodies) throws IOException {
+ public void sendMessages(List bodies) throws IOException {
String url = getQueue().getUrl();
LOG.info("Sending Messages...{} to {}",bodies.size(),url);
SendMessageBatchRequest request = new SendMessageBatchRequest(url);
List<SendMessageBatchRequestEntry> entries = new ArrayList<>(bodies.size());
- for(Serializable body : bodies){
+ for(Object body : bodies){
SendMessageBatchRequestEntry entry = new SendMessageBatchRequestEntry();
+ entry.setId(UUID.randomUUID().toString());
entry.setMessageBody(toString(body));
entries.add(entry);
}
@@ -154,13 +147,25 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
}
@Override
- public void sendMessage(Serializable body) throws IOException {
+ public void sendMessage(Object body) throws IOException {
String url = getQueue().getUrl();
LOG.info("Sending Message...{} to {}",body.toString(),url);
SendMessageRequest request = new SendMessageRequest(url,toString((Serializable)body));
sqs.sendMessage(request);
}
+
+ @Override
+ public void commitMessage(QueueMessage queueMessage) {
+ String url = getQueue().getUrl();
+ LOG.info("Commit message {} to queue {}",queueMessage.getMessageId(),url);
+
+ sqs.deleteMessage(new DeleteMessageRequest()
+ .withQueueUrl(url)
+ .withReceiptHandle(queueMessage.getHandle()));
+ }
+
+
@Override
public void commitMessages(List<QueueMessage> queueMessages) {
String url = getQueue().getUrl();
@@ -186,7 +191,7 @@ public class SQSQueueManagerImpl<T> implements QueueManager {
}
/** Write the object to a Base64 string. */
- private String toString( Serializable o ) throws IOException {
+ private String toString( Object o ) throws IOException {
return mapper.writeValueAsString(o);
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/4ce4956f/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
index b8b7967..26a350c 100644
--- a/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
+++ b/stack/corepersistence/queue/src/test/java/org/apache/usergrid/persistence/queue/QueueManagerTest.java
@@ -19,6 +19,7 @@
package org.apache.usergrid.persistence.queue;
+import com.amazonaws.services.glacier.TreeHashGenerator;
import org.apache.usergrid.persistence.collection.util.InvalidEntityGenerator;
import org.apache.usergrid.persistence.queue.guice.TestQueueModule;
import org.apache.usergrid.persistence.queue.impl.QueueScopeImpl;
@@ -34,7 +35,10 @@ import org.apache.usergrid.persistence.model.entity.SimpleId;
import com.google.inject.Inject;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import static org.junit.Assert.*;
@@ -72,4 +76,25 @@ public class QueueManagerTest {
}
+ @Ignore("need aws creds")
+ @Test
+ public void sendMore() throws IOException,ClassNotFoundException{
+ HashMap<String,String> values = new HashMap<>();
+ values.put("test","Test");
+
+ List<Map<String,String>> bodies = new ArrayList<>();
+ bodies.add(values);
+ qm.sendMessages(bodies);
+ List<QueueMessage> messageList = qm.getMessages(1,5000,5000,values.getClass());
+ assertTrue(messageList.size() >= 1);
+ for(QueueMessage message : messageList){
+ assertTrue(message.getBody().equals(values));
+ }
+ qm.commitMessages(messageList);
+
+ messageList = qm.getMessages(1,5000,5000,values.getClass());
+ assertTrue(messageList.size() <= 0);
+
+ }
+
}