Author: cmueller
Date: Mon Mar 21 21:52:03 2011
New Revision: 1083979

URL: http://svn.apache.org/viewvc?rev=1083979&view=rev
Log:
CAMEL-3794: Polish the aws component

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultEndpointTest.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
    
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
    
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java 
Mon Mar 21 21:52:03 2011
@@ -46,7 +46,7 @@ public abstract class DefaultEndpoint ex
 
     //Match any key-value pair in the URI query string whose key contains 
"passphrase" or "password" (case-insensitive).
     //First capture group is the key, second is the value.
-    private static final Pattern SECRETS = 
Pattern.compile("([?&][^=]*(?:passphrase|password)[^=]*)=([^&]*)", 
Pattern.CASE_INSENSITIVE);
+    private static final Pattern SECRETS = 
Pattern.compile("([?&][^=]*(?:passphrase|password|secretKey)[^=]*)=([^&]*)", 
Pattern.CASE_INSENSITIVE);
 
     private String endpointUri;
     private CamelContext camelContext;

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultEndpointTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultEndpointTest.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultEndpointTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/impl/DefaultEndpointTest.java
 Mon Mar 21 21:52:03 2011
@@ -34,6 +34,8 @@ public class DefaultEndpointTest extends
                 
DefaultEndpoint.sanitizeUri("ftp://host.mysite.com/records?passiveMode=true&user=someuser&password=superSecret";));
         
assertEquals("sftp://host.mysite.com/records?user=someuser&privateKeyFile=key.file&privateKeyFilePassphrase=******&knownHostsFile=hosts.list";,
                 
DefaultEndpoint.sanitizeUri("sftp://host.mysite.com/records?user=someuser&privateKeyFile=key.file&privateKeyFilePassphrase=superSecret&knownHostsFile=hosts.list";));
+        
assertEquals("aws-sqs://MyQueue?accessKey=1672t4rflhnhli3&secretKey=******",
+                
DefaultEndpoint.sanitizeUri("aws-sqs://MyQueue?accessKey=1672t4rflhnhli3&secretKey=qi472qfberu33dqjncq"));
     }
 
     public void assertSanitizedUriUnchanged(String uri) {

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
 Mon Mar 21 21:52:03 2011
@@ -25,7 +25,6 @@ import org.apache.camel.impl.DefaultComp
 /**
  * Defines the <a href="http://camel.apache.org/aws.html";>AWS Component</a> 
  * 
- * @version 
  */
 public class SqsComponent extends DefaultComponent {
     
@@ -41,13 +40,13 @@ public class SqsComponent extends Defaul
         SqsConfiguration configuration = new SqsConfiguration();
         setProperties(configuration, parameters);
 
-        if (remaining == null) {
-            throw new IllegalArgumentException("Queue name not specified.");
+        if (remaining == null || remaining.trim().length() == 0) {
+            throw new IllegalArgumentException("Queue name must be 
specified.");
         }
         configuration.setQueueName(remaining);
 
         if (configuration.getAmazonSQSClient() == null && 
(configuration.getAccessKey() == null || configuration.getSecretKey() == null)) 
{
-            throw new IllegalArgumentException("AmazonSQSClient or accessKey 
and secretKey must be set");
+            throw new IllegalArgumentException("AmazonSQSClient or accessKey 
and secretKey must be specified.");
         }
 
         SqsEndpoint sqsEndpoint = new SqsEndpoint(uri, this, configuration);

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
 Mon Mar 21 21:52:03 2011
@@ -23,7 +23,6 @@ import com.amazonaws.services.sqs.Amazon
 /**
  * The AWS SQS component configuration properties
  * 
- * @version 
  */
 public class SqsConfiguration {
 

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConstants.java
 Mon Mar 21 21:52:03 2011
@@ -19,7 +19,6 @@ package org.apache.camel.component.aws.s
 /**
  * Constants used in Camel AWS SQS module
  *
- * @version 
  */
 public interface SqsConstants {
 

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConsumer.java
 Mon Mar 21 21:52:03 2011
@@ -32,6 +32,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.NoFactoryAvailableException;
 import org.apache.camel.Processor;
 import org.apache.camel.ShutdownRunningTask;
+import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.impl.ScheduledPollConsumer;
 import org.apache.camel.spi.ShutdownAware;
 import org.apache.camel.spi.Synchronization;
@@ -43,9 +44,8 @@ import org.slf4j.LoggerFactory;
 
 /**
  * A Consumer of messages from the Amazon Web Service Simple Queue Service
- * <a href="http://aws.amazon.com/aws-sqs/";>AWS SQS</a>
+ * <a href="http://aws.amazon.com/sqs/";>AWS SQS</a>
  * 
- * @version 
  */
 public class SqsConsumer extends ScheduledPollConsumer implements 
BatchConsumer, ShutdownAware {
     
@@ -68,16 +68,19 @@ public class SqsConsumer extends Schedul
         request.setMaxNumberOfMessages(getMaxMessagesPerPoll() > 0 ? 
getMaxMessagesPerPoll() : null);
         request.setVisibilityTimeout(getConfiguration().getVisibilityTimeout() 
!= null ? getConfiguration().getVisibilityTimeout() : null);
         request.setAttributeNames(getConfiguration().getAttributeNames() != 
null ? getConfiguration().getAttributeNames() : null);
+        
+        LOG.trace("Receiving messages with request [{}]...", request);
+        
         ReceiveMessageResult messageResult = 
getClient().receiveMessage(request);
         
+        LOG.trace("Received {} messages", messageResult.getMessages().size());
+        
         Queue<Exchange> exchanges = 
createExchanges(messageResult.getMessages());
         return processBatch(CastUtils.cast(exchanges));
     }
     
     protected Queue<Exchange> createExchanges(List<Message> messages) {
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Received " + messages.size() + " messages in this 
poll");
-        }
+        LOG.trace("Received {} messages in this poll", messages.size());
         
         Queue<Exchange> answer = new LinkedList<Exchange>();
         for (Message message : messages) {
@@ -118,9 +121,7 @@ public class SqsConsumer extends Schedul
                 }
             });
 
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("Processing exchange [" + exchange + "]...");
-            }
+            LOG.trace("Processing exchange [{}]...", exchange);
 
             getProcessor().process(exchange);
         }
@@ -139,11 +140,11 @@ public class SqsConsumer extends Schedul
                 String receiptHandle = 
exchange.getIn().getHeader(SqsConstants.RECEIPT_HANDLE, String.class);
                 DeleteMessageRequest deleteRequest = new 
DeleteMessageRequest(getQueueUrl(), receiptHandle);
                 
-                if (LOG.isTraceEnabled()) {
-                    LOG.trace("Deleting message with receipt handle " + 
receiptHandle + "...");
-                }
+                LOG.trace("Deleting message with receipt handle {}...", 
receiptHandle);
                 
                 getClient().deleteMessage(deleteRequest);
+                
+                LOG.trace("Message deleted");
             }
         } catch (AmazonClientException e) {
             LOG.warn("Error occurred during deleting message", e);
@@ -161,7 +162,7 @@ public class SqsConsumer extends Schedul
         if (cause != null) {
             LOG.warn("Exchange failed, so rolling back message status: " + 
exchange, cause);
         } else {
-            LOG.warn("Exchange failed, so rolling back message status: " + 
exchange);
+            LOG.warn("Exchange failed, so rolling back message status: {}", 
exchange);
         }
     }
     
@@ -225,4 +226,9 @@ public class SqsConsumer extends Schedul
     public int getMaxMessagesPerPoll() {
         return getEndpoint().getMaxMessagesPerPoll();
     }
+    
+    @Override
+    public String toString() {
+        return "SqsConsumer[" + 
DefaultEndpoint.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
+    }
 }

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
 Mon Mar 21 21:52:03 2011
@@ -38,7 +38,6 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://camel.apache.org/aws.html";>AWS SQS 
Endpoint</a>.  
  *
- * @version 
  */
 public class SqsEndpoint extends ScheduledPollEndpoint {
     
@@ -77,16 +76,12 @@ public class SqsEndpoint extends Schedul
         CreateQueueRequest request = new 
CreateQueueRequest(configuration.getQueueName());
         
request.setDefaultVisibilityTimeout(getConfiguration().getDefaultVisibilityTimeout()
 != null ? getConfiguration().getDefaultVisibilityTimeout() : null);
         
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Creating queue [" + configuration.getQueueName() + "] 
with request [" + request + "]...");
-        }
+        LOG.trace("Creating queue [{}] with request [{}]...", 
configuration.getQueueName(), request);
         
         CreateQueueResult queueResult = client.createQueue(request);
         queueUrl = queueResult.getQueueUrl();
         
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Queue created and available at: " + queueUrl);
-        }
+        LOG.trace("Queue created and available at: {}", queueUrl);
     }
 
     @Override

Modified: 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java
 Mon Mar 21 21:52:03 2011
@@ -23,6 +23,7 @@ import com.amazonaws.services.sqs.model.
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.NoFactoryAvailableException;
+import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.impl.DefaultProducer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -31,7 +32,6 @@ import org.slf4j.LoggerFactory;
  * A Producer which sends messages to the Amazon Web Service Simple Queue 
Service
  * <a href="http://aws.amazon.com/sqs/";>AWS SQS</a>
  * 
- * @version 
  */
 public class SqsProducer extends DefaultProducer {
     
@@ -45,15 +45,11 @@ public class SqsProducer extends Default
         String body = exchange.getIn().getBody(String.class);
         SendMessageRequest request = new SendMessageRequest(getQueueUrl(), 
body);
 
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Sending request [" + request + "] from exchange [" + 
exchange + "]...");
-        }
+        LOG.trace("Sending request [{}] from exchange [{}]...", request, 
exchange);
         
         SendMessageResult result = getClient().sendMessage(request);
         
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Received result [" + result + "]");
-        }
+        LOG.trace("Received result [{}]", result);
         
         Message message = getMessageForResponse(exchange);
         message.setHeader(SqsConstants.MESSAGE_ID, result.getMessageId());
@@ -82,4 +78,9 @@ public class SqsProducer extends Default
     public SqsEndpoint getEndpoint() {
         return (SqsEndpoint) super.getEndpoint();
     }
+    
+    @Override
+    public String toString() {
+        return "SqsProducer[" + 
DefaultEndpoint.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
+    }
 }

Modified: 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java?rev=1083979&r1=1083978&r2=1083979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java
 (original)
+++ 
camel/trunk/components/camel-aws/src/test/java/org/apache/camel/component/aws/sqs/integration/SqsComponentIntegrationTest.java
 Mon Mar 21 21:52:03 2011
@@ -57,7 +57,7 @@ public class SqsComponentIntegrationTest
         
assertNotNull(resultExchange.getIn().getHeader(SqsConstants.ATTRIBUTES));
         
         assertNotNull(exchange.getIn().getHeader(SqsConstants.MESSAGE_ID));
-        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", 
resultExchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
+        assertEquals("6a1559560f67c5e7a7d5d838bf0272ee", 
exchange.getIn().getHeader(SqsConstants.MD5_OF_BODY));
     }
     
     @Test


Reply via email to