// Copyright 2014-2015 Boundary, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package com.boundary.sdk.event.snmp; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.boundary.sdk.event.RawEvent; import org.apache.camel.component.snmp.SnmpMessage; import com.boundary.sdk.event.UDPRouteBuilder; /** * Route builder that receives SNMP Traps and * extracts the variable bindings from them * */ public class SnmpTrapRouteBuilder extends SnmpBaseRouteBuilder { private static Logger LOG = LoggerFactory.getLogger(SnmpTrapRouteBuilder.class); private final int DEFAULT_SNMP_PORT=162; /** * Default constructor */ public SnmpTrapRouteBuilder() { this.port = DEFAULT_SNMP_PORT; this.mibRepositoryPath=""; this.license = ""; this.convertToEvent = true; } /** * Configuration for the SNMP route */ @Override public void configure() { String uri = String.format("snmp:%s:%d?protocol=udp&type=TRAP",getBindAddress(),getPort()); from(uri) .startupOrder(startUpOrder) .routeId(this.routeId) .to("log:com.boundary.sdk.event.snmp.SnmpRouteBuilder?level=DEBUG&showBody=true&showHeaders=true") .process(new SnmpMessageToTrap(getMibRepository(),getLicense())) .to("log:com.boundary.sdk.event.snmp.SnmpRouteBuilder?level=DEBUG&showBody=true&showHeaders=true") .marshal().serialization() .to(getToUri()) ; } }