You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/08/18 12:04:47 UTC
svn commit: r1159127 - in /camel/trunk/components/camel-nagios/src:
main/java/org/apache/camel/component/nagios/
test/java/org/apache/camel/component/nagios/
Author: davsclaus
Date: Thu Aug 18 10:04:47 2011
New Revision: 1159127
URL: http://svn.apache.org/viewvc?rev=1159127&view=rev
Log:
CAMEL-4349: Added encryptionMode option to camel-nagios.
Added:
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java
camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java
- copied, changed from r1159050, camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java
Modified:
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
Modified: camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java?rev=1159127&r1=1159126&r2=1159127&view=diff
==============================================================================
--- camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java (original)
+++ camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java Thu Aug 18 10:04:47 2011
@@ -18,6 +18,7 @@ package org.apache.camel.component.nagio
import java.net.URI;
+import com.googlecode.jsendnsca.core.Encryption;
import com.googlecode.jsendnsca.core.NagiosSettings;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.util.ObjectHelper;
@@ -33,7 +34,7 @@ public class NagiosConfiguration impleme
private int connectionTimeout = 5000;
private int timeout = 5000;
private String password;
-
+ private NagiosEncryptionMethod encryptionMethod;
/**
* Returns a copy of this configuration
@@ -74,6 +75,18 @@ public class NagiosConfiguration impleme
nagiosSettings.setNagiosHost(getHost());
nagiosSettings.setPort(getPort());
nagiosSettings.setPassword(getPassword());
+
+ if (encryptionMethod != null) {
+ if (NagiosEncryptionMethod.No == encryptionMethod) {
+ nagiosSettings.setEncryptionMethod(Encryption.NO_ENCRYPTION);
+ } else if (NagiosEncryptionMethod.Xor == encryptionMethod) {
+ nagiosSettings.setEncryptionMethod(Encryption.XOR_ENCRYPTION);
+ } else if (NagiosEncryptionMethod.TripeDes == encryptionMethod) {
+ nagiosSettings.setEncryptionMethod(Encryption.TRIPLE_DES_ENCRYPTION);
+ } else {
+ throw new IllegalArgumentException("Unknown encryption method: " + encryptionMethod);
+ }
+ }
}
return nagiosSettings;
@@ -123,9 +136,18 @@ public class NagiosConfiguration impleme
this.password = password;
}
+ public NagiosEncryptionMethod getEncryptionMethod() {
+ return encryptionMethod;
+ }
+
+ public void setEncryptionMethod(NagiosEncryptionMethod encryptionMethod) {
+ this.encryptionMethod = encryptionMethod;
+ }
+
@Override
public String toString() {
- return "NagiosConfiguration[host=" + host + ":" + port + ", connectionTimeout=" + connectionTimeout + ", timeout=" + timeout;
+ return "NagiosConfiguration[host=" + host + ":" + port + ", connectionTimeout=" + connectionTimeout
+ + ", timeout=" + timeout + ", encryptionMethod=" + encryptionMethod + "]";
}
}
Added: camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java?rev=1159127&view=auto
==============================================================================
--- camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java (added)
+++ camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEncryptionMethod.java Thu Aug 18 10:04:47 2011
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.camel.component.nagios;
+
+/**
+ * Encryption methods supported by nagios.
+ */
+public enum NagiosEncryptionMethod {
+
+ No, Xor, TripeDes;
+
+}
Copied: camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java (from r1159050, camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java?p2=camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java&p1=camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java&r1=1159050&r2=1159127&rev=1159127&view=diff
==============================================================================
--- camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java (original)
+++ camel/trunk/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java Thu Aug 18 10:04:47 2011
@@ -16,9 +16,6 @@
*/
package org.apache.camel.component.nagios;
-import java.util.HashMap;
-import java.util.Map;
-
import com.googlecode.jsendnsca.core.Level;
import com.googlecode.jsendnsca.core.MessagePayload;
import com.googlecode.jsendnsca.core.mocks.NagiosNscaStub;
@@ -32,7 +29,7 @@ import org.junit.Test;
/**
* @version
*/
-public class NagiosTest extends CamelTestSupport {
+public class NagiosXorEncryptionTest extends CamelTestSupport {
protected boolean canRun;
private NagiosNscaStub nagios;
@@ -41,7 +38,7 @@ public class NagiosTest extends CamelTes
public void setUp() throws Exception {
canRun = true;
- nagios = new NagiosNscaStub(25667, "secret");
+ nagios = new NagiosNscaStub(25664, "secret");
try {
nagios.start();
} catch (Exception e) {
@@ -90,125 +87,13 @@ public class NagiosTest extends CamelTes
assertEquals(context.getName(), payload.getServiceName());
}
- @Test
- public void testSendTwoToNagios() throws Exception {
- if (!canRun) {
- return;
- }
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMessageCount(2);
- mock.allMessages().body().isInstanceOf(String.class);
-
- template.sendBody("direct:start", "Hello Nagios");
- template.sendBody("direct:start", "Bye Nagios");
-
- assertMockEndpointsSatisfied();
-
- // sleep a little to let nagios stub process the payloads
- Thread.sleep(3000);
-
- assertEquals(2, nagios.getMessagePayloadList().size());
-
- MessagePayload payload = nagios.getMessagePayloadList().get(0);
- assertEquals("Hello Nagios", payload.getMessage());
- assertEquals("localhost", payload.getHostname());
- assertEquals(Level.OK.ordinal(), payload.getLevel());
- assertEquals(context.getName(), payload.getServiceName());
-
- payload = nagios.getMessagePayloadList().get(1);
- assertEquals("Bye Nagios", payload.getMessage());
- assertEquals("localhost", payload.getHostname());
- assertEquals(Level.OK.ordinal(), payload.getLevel());
- assertEquals(context.getName(), payload.getServiceName());
- }
-
- @Test
- public void testSendToNagiosWarn() throws Exception {
- if (!canRun) {
- return;
- }
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMessageCount(1);
-
- template.sendBodyAndHeader("direct:start", "Hello Nagios", NagiosConstants.LEVEL, Level.WARNING);
-
- assertMockEndpointsSatisfied();
-
- // sleep a little to let nagios stub process the payloads
- Thread.sleep(2000);
-
- assertEquals(1, nagios.getMessagePayloadList().size());
-
- MessagePayload payload = nagios.getMessagePayloadList().get(0);
- assertEquals("Hello Nagios", payload.getMessage());
- assertEquals("localhost", payload.getHostname());
- assertEquals(Level.WARNING.ordinal(), payload.getLevel());
- assertEquals(context.getName(), payload.getServiceName());
- }
-
- @Test
- public void testSendToNagiosWarnAsText() throws Exception {
- if (!canRun) {
- return;
- }
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMessageCount(1);
-
- template.sendBodyAndHeader("direct:start", "Hello Nagios", NagiosConstants.LEVEL, "WARNING");
-
- assertMockEndpointsSatisfied();
-
- // sleep a little to let nagios stub process the payloads
- Thread.sleep(2000);
-
- assertEquals(1, nagios.getMessagePayloadList().size());
-
- MessagePayload payload = nagios.getMessagePayloadList().get(0);
- assertEquals("Hello Nagios", payload.getMessage());
- assertEquals("localhost", payload.getHostname());
- assertEquals(Level.WARNING.ordinal(), payload.getLevel());
- assertEquals(context.getName(), payload.getServiceName());
- }
-
- @Test
- public void testSendToNagiosMultiHeaders() throws Exception {
- if (!canRun) {
- return;
- }
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMessageCount(1);
-
- Map<String, Object> headers = new HashMap<String, Object>();
- headers.put(NagiosConstants.LEVEL, "CRITICAL");
- headers.put(NagiosConstants.HOST_NAME, "myHost");
- headers.put(NagiosConstants.SERVICE_NAME, "myService");
- template.sendBodyAndHeaders("direct:start", "Hello Nagios", headers);
-
- assertMockEndpointsSatisfied();
-
- // sleep a little to let nagios stub process the payloads
- Thread.sleep(2000);
-
- assertEquals(1, nagios.getMessagePayloadList().size());
-
- MessagePayload payload = nagios.getMessagePayloadList().get(0);
- assertEquals("Hello Nagios", payload.getMessage());
- assertEquals("myHost", payload.getHostname());
- assertEquals(Level.CRITICAL.ordinal(), payload.getLevel());
- assertEquals("myService", payload.getServiceName());
- }
-
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
// START SNIPPET: e1
- from("direct:start").to("nagios:127.0.0.1:25667?password=secret").to("mock:result");
+ from("direct:start").to("nagios:127.0.0.1:25664?password=secret&encryptionMethod=Xor").to("mock:result");
// END SNIPPET: e1
}
};