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) {