You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/05/11 08:36:18 UTC

svn commit: r1337034 - in /camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp: SnmpEndpoint.java SnmpMessage.java SnmpTrapConsumer.java

Author: ningjiang
Date: Fri May 11 06:36:17 2012
New Revision: 1337034

URL: http://svn.apache.org/viewvc?rev=1337034&view=rev
Log:
CAMEL-5270 Added community and peer address of SNMP TRAP PDUs to camel-snmp header

Modified:
    camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
    camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
    camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java

Modified: camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java?rev=1337034&r1=1337033&r2=1337034&view=diff
==============================================================================
--- camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java (original)
+++ camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java Fri May 11 06:36:17 2012
@@ -27,6 +27,7 @@ import org.apache.camel.impl.DefaultExch
 import org.apache.camel.impl.DefaultPollingEndpoint;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.snmp4j.CommandResponderEvent;
 import org.snmp4j.PDU;
 import org.snmp4j.mp.SnmpConstants;
 
@@ -88,6 +89,17 @@ public class SnmpEndpoint extends Defaul
     }
 
     /**
+     * creates an exchange for the given message
+     *
+     * @param pdu the pdu
+     * @param event a snmp4j CommandResponderEvent
+     * @return an exchange
+     */
+    public Exchange createExchange(PDU pdu, CommandResponderEvent event) {
+        return createExchange(getExchangePattern(), pdu, event);
+    }
+
+    /**
      * creates an exchange for the given pattern and message
      *
      * @param pattern the message exchange pattern
@@ -101,6 +113,20 @@ public class SnmpEndpoint extends Defaul
     }
 
     /**
+     * creates an exchange for the given pattern and message
+     *
+     * @param pattern the message exchange pattern
+     * @param pdu     the pdu
+     * @param event   a snmp4j CommandResponderEvent
+     * @return the exchange
+     */
+    private Exchange createExchange(ExchangePattern pattern, PDU pdu, CommandResponderEvent event) {
+        Exchange exchange = new DefaultExchange(this, pattern);
+        exchange.setIn(new SnmpMessage(pdu, event));
+        return exchange;
+    }
+
+    /**
      * creates and configures the endpoint
      *
      * @throws Exception if unable to setup connection

Modified: camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java?rev=1337034&r1=1337033&r2=1337034&view=diff
==============================================================================
--- camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java (original)
+++ camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java Fri May 11 06:36:17 2012
@@ -17,7 +17,9 @@
 package org.apache.camel.component.snmp;
 
 import org.apache.camel.impl.DefaultMessage;
+import org.snmp4j.CommandResponderEvent;
 import org.snmp4j.PDU;
+import org.snmp4j.smi.OctetString;
 
 public class SnmpMessage extends DefaultMessage {
     private PDU pdu;
@@ -30,6 +32,12 @@ public class SnmpMessage extends Default
         this.pdu = pdu;
     }
 
+    public SnmpMessage(PDU pdu, CommandResponderEvent event) {
+        this.pdu = pdu;
+        this.setHeader("securityName", new OctetString(event.getSecurityName()));
+        this.setHeader("peerAddress", event.getPeerAddress());
+    }
+
     @Override
     public String toString() {
         if (pdu != null) {

Modified: camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java?rev=1337034&r1=1337033&r2=1337034&view=diff
==============================================================================
--- camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java (original)
+++ camel/trunk/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpTrapConsumer.java Fri May 11 06:36:17 2012
@@ -98,17 +98,17 @@ public class SnmpTrapConsumer extends De
         PDU pdu = event.getPDU();
         // check PDU not null
         if (pdu != null) {
-            processPDU(pdu);
+            processPDU(pdu, event);
         } else {
             LOG.debug("Received invalid trap PDU: " + pdu);
         }
     }
     
-    public void processPDU(PDU pdu) {
+    public void processPDU(PDU pdu, CommandResponderEvent event) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Received trap event for {} : {}", this.endpoint.getAddress(), pdu);
         }
-        Exchange exchange = endpoint.createExchange(pdu);
+        Exchange exchange = endpoint.createExchange(pdu, event);
         try {
             getProcessor().process(exchange);
         } catch (Exception e) {