Update of /cvsroot/sblim/jsr48-client/smpl/org/sblim/cimclient/samples
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv15433/smpl/org/sblim/cimclient/samples
Modified Files:
Tag: Experimental
Jsr48IndicationTester.java
Log Message:
2736 Add indication flood test options
Index: Jsr48IndicationTester.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/smpl/org/sblim/cimclient/samples/Jsr48IndicationTester.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -d -r1.1.2.5 -r1.1.2.6
--- Jsr48IndicationTester.java 16 May 2014 23:22:10 -0000 1.1.2.5
+++ Jsr48IndicationTester.java 17 May 2014 01:12:25 -0000 1.1.2.6
@@ -16,6 +16,7 @@
* 3529066 2012-07-06 hellerda Add Jsr48IndicationTester (initial version)
* 2734 2014-05-16 hellerda Support file:// URL in destination handler
* 2735 2014-05-16 hellerda Add configurable --wait time option
+ * 2736 2014-05-16 hellerda Add indication flood test options
*/
package org.sblim.cimclient.samples;
@@ -401,6 +402,11 @@
System.out.println(" --wait WAIT Time to wait before shutting down and deleting the");
System.out.println(" subscription. A value of 0 means wait indefinitely");
System.out.println(" (register mode only. default: 0s)");
+ System.out.println(" --count COUNT Number of indication triggers to send. A value of 0");
+ System.out.println(" means send continously.");
+ System.out.println(" (trigger mode only. default: 1)");
+ System.out.println(" --delay DELAY Delay between indication triggers");
+ System.out.println(" (trigger mode only. default: 1s)");
}
/**
@@ -563,18 +569,31 @@
return;
}
+ // Trigger the CIMOM to send a test indication to be caught by the listener
if (trigger) {
+ int count = doubleDashOpts.containsKey("--count") ? Integer.parseInt(doubleDashOpts
+ .get("--count")) : 1;
+ int delay = doubleDashOpts.containsKey("--delay") ? Integer.parseInt(doubleDashOpts
+ .get("--delay")) : 1;
+
+ if (count == 0) count = Integer.MAX_VALUE;
+ if (count == 1) delay = 0;
+
// SendTestIndication does not use any in/out parameters
CIMArgument<?>[] input = new CIMArgument[0];
CIMArgument<?>[] output = new CIMArgument[0];
- // This will trigger a TestIndication that is caught by the
- // remote listener
- Object obj = client.invokeMethod(new CIMObjectPath(null, null, null, indicationNS,
- indClassName, null), "SendTestIndication", input, output);
- if (obj.toString().equals("0")) System.out
- .println("Indication generated successfully.");
- else System.out.println("Indication not generated successfully!");
+ for (int i = 1;; i++) {
+ System.out.println("Sending indication"
+ + (count > 1 ? (" " + Integer.valueOf(i)) : "") + "...");
+ Object obj = client.invokeMethod(new CIMObjectPath(null, null, null,
+ indicationNS, indClassName, null), "SendTestIndication", input, output);
+ if (obj.toString().equals("0")) System.out
+ .println("Indication generated successfully.");
+ else System.out.println("Indication not generated successfully!");
+ if (i >= count) break;
+ Thread.sleep(1000 * delay);
+ }
System.exit(0);
}
|