CAMEL-11149: SPI - Allow to plugin different headers map implementation

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/2672f50b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/2672f50b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/2672f50b

Branch: refs/heads/master
Commit: 2672f50bdf4b80d2def7754c8e35028feade5fa8
Parents: 23b3cc7
Author: Claus Ibsen <davscl...@apache.org>
Authored: Thu May 25 10:22:15 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Thu May 25 11:09:53 2017 +0200

----------------------------------------------------------------------
 .../apache/camel/component/snmp/SnmpEndpoint.java    |  4 ++--
 .../org/apache/camel/component/snmp/SnmpMessage.java | 15 ++++++---------
 .../camel/component/snmp/SnmpTrapConsumer.java       |  5 ++++-
 .../org/apache/camel/component/snmp/TrapTest.java    |  1 +
 4 files changed, 13 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/2672f50b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
index da86ee0..af406c8 100644
--- 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
+++ 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
@@ -130,7 +130,7 @@ public class SnmpEndpoint extends DefaultPollingEndpoint {
      */
     public Exchange createExchange(PDU pdu) {
         Exchange exchange = super.createExchange();
-        exchange.setIn(new SnmpMessage(pdu));
+        exchange.setIn(new SnmpMessage(getCamelContext(), pdu));
         return exchange;
     }
 
@@ -143,7 +143,7 @@ public class SnmpEndpoint extends DefaultPollingEndpoint {
      */
     public Exchange createExchange(PDU pdu, CommandResponderEvent event) {
         Exchange exchange = super.createExchange();
-        exchange.setIn(new SnmpMessage(pdu, event));
+        exchange.setIn(new SnmpMessage(getCamelContext(), pdu, event));
         return exchange;
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/2672f50b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
----------------------------------------------------------------------
diff --git 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
index 7cc9d3b..8661fee 100644
--- 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
+++ 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.snmp;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.impl.DefaultMessage;
 import org.snmp4j.CommandResponderEvent;
 import org.snmp4j.PDU;
@@ -24,15 +25,13 @@ import org.snmp4j.smi.OctetString;
 public class SnmpMessage extends DefaultMessage {
     private PDU pdu;
 
-    public SnmpMessage() {
-        this(new PDU());
-    }
-
-    public SnmpMessage(PDU pdu) {
+    public SnmpMessage(CamelContext camelContext, PDU pdu) {
+        super(camelContext);
         this.pdu = pdu;
     }
 
-    public SnmpMessage(PDU pdu, CommandResponderEvent event) {
+    public SnmpMessage(CamelContext camelContext, PDU pdu, 
CommandResponderEvent event) {
+        super(camelContext);
         this.pdu = pdu;
         this.setHeader("securityName", new 
OctetString(event.getSecurityName()));
         this.setHeader("peerAddress", event.getPeerAddress());
@@ -56,9 +55,7 @@ public class SnmpMessage extends DefaultMessage {
 
     @Override
     public SnmpMessage newInstance() {
-        SnmpMessage answer = new SnmpMessage(this.pdu);
-        answer.setCamelContext(getCamelContext());
-        return answer;
+        return new SnmpMessage(getCamelContext(), this.pdu);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/2672f50b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
index 4526b63..a9510f1 100644
--- 
a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
+++ 
b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
@@ -140,7 +140,10 @@ public class SnmpTrapConsumer extends DefaultConsumer 
implements CommandResponde
         try {
             getProcessor().process(exchange);
         } catch (Exception e) {
-            getExceptionHandler().handleException(e);
+            exchange.setException(e);
+        }
+        if (exchange.getException() != null) {
+            getExceptionHandler().handleException(exchange.getException());
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/2672f50b/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
 
b/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
index b688c35..8d29b02 100644
--- 
a/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
+++ 
b/components/camel-snmp/src/test/java/org/apache/camel/component/snmp/TrapTest.java
@@ -81,6 +81,7 @@ public class TrapTest extends CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.assertIsSatisfied();
+
         List<Exchange> exchanges = mock.getExchanges();
         SnmpMessage msg = (SnmpMessage) exchanges.get(0).getIn();
         PDU receivedTrap = msg.getSnmpMessage();

Reply via email to