Author: sebb Date: Sat Oct 11 18:06:02 2008 New Revision: 703755 URL: http://svn.apache.org/viewvc?rev=703755&view=rev Log: General tidyup of Remote Listener classes - made variables final where possible - SampleOccurred => sampleOccurred - added some documentation
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/BatchSampleSender.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSender.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StandardSampleSender.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java Sat Oct 11 18:06:02 2008 @@ -29,6 +29,7 @@ import org.apache.jmeter.samplers.Remoteable; import org.apache.jmeter.samplers.SampleListener; import org.apache.jmeter.testelement.TestListener; +import org.apache.jmeter.testelement.ThreadListener; import org.apache.jmeter.threads.ThreadGroup; import org.apache.jorphan.collections.HashTree; import org.apache.jorphan.collections.HashTreeTraverser; @@ -36,7 +37,11 @@ import org.apache.log.Logger; /** - * @author mstover + * Converts the Remoteable Test and Sample Listeners in the test tree by wrapping + * them with RemoteSampleListeners so that the samples are returned to the client. + * + * N.B. Does not handle ThreadListeners. + * */ public class ConvertListeners implements HashTreeTraverser { private static final Logger log = LoggingManager.getLoggerForClass(); @@ -53,8 +58,11 @@ if (item instanceof ThreadGroup) { log.info("num threads = " + ((ThreadGroup) item).getNumThreads()); } - if (item instanceof Remoteable - && (item instanceof TestListener || item instanceof SampleListener)) { + if (item instanceof Remoteable) { + if (item instanceof ThreadListener){ + log.error("Cannot handle ThreadListener Remotable item "+item.getClass().getName()); + continue; + } try { RemoteSampleListener rtl = new RemoteSampleListenerImpl(item); if (item instanceof TestListener && item instanceof SampleListener) { @@ -63,9 +71,11 @@ } else if (item instanceof TestListener) { RemoteTestListenerWrapper wrap = new RemoteTestListenerWrapper(rtl); subTree.replace(item, wrap); - } else { + } else if (item instanceof SampleListener) { RemoteSampleListenerWrapper wrap = new RemoteSampleListenerWrapper(rtl); subTree.replace(item, wrap); + } else { + log.warn("Could not replace Remotable item "+item.getClass().getName()); } } catch (RemoteException e) { log.error("", e); // $NON-NLS-1$ Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/BatchSampleSender.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/BatchSampleSender.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/BatchSampleSender.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/BatchSampleSender.java Sat Oct 11 18:06:02 2008 @@ -120,7 +120,7 @@ * @param e * a Sample Event */ - public void SampleOccurred(SampleEvent e) { + public void sampleOccurred(SampleEvent e) { synchronized (sampleStore) { sampleStore.add(e); Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java Sat Oct 11 18:06:02 2008 @@ -81,7 +81,7 @@ } - public void SampleOccurred(SampleEvent e) { + public void sampleOccurred(SampleEvent e) { log.debug("Sample occurred"); synchronized (sampleStore) { sampleStore.add(e); Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteListenerWrapper.java Sat Oct 11 18:06:02 2008 @@ -39,19 +39,20 @@ NoThreadClone { private static final Logger log = LoggingManager.getLoggerForClass(); - private RemoteSampleListener listener = null; + private final RemoteSampleListener listener; - private SampleSender mode; + private final SampleSender sender; public RemoteListenerWrapper(RemoteSampleListener l) { listener = l; - // Get appropriate class governed by the behaviour set in the Jmeter - // property mode. - this.mode = SampleSenderFactory.getInstance(listener); + // Get appropriate sender class governed by the behaviour set in the JMeter property + sender = SampleSenderFactory.getInstance(listener); } public RemoteListenerWrapper() // TODO: not used - make private? { + listener = null; + sender = null; } public void testStarted() { @@ -65,7 +66,7 @@ } public void testEnded() { - mode.testEnded(); + sender.testEnded(); } public void testStarted(String host) { @@ -78,11 +79,11 @@ } public void testEnded(String host) { - mode.testEnded(host); + sender.testEnded(host); } public void sampleOccurred(SampleEvent e) { - mode.SampleOccurred(e); + sender.sampleOccurred(e); } // Note that sampleStarted() and sampleStopped() is not made to appear Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteSampleListenerImpl.java Sat Oct 11 18:06:02 2008 @@ -26,32 +26,29 @@ import org.apache.jmeter.testelement.TestListener; /** - * @version $Revision$ + * Implementation of remote sampler listener, also supports TestListener */ -public class RemoteSampleListenerImpl extends java.rmi.server.UnicastRemoteObject implements RemoteSampleListener, - SampleListener, TestListener { - TestListener testListener; +public class RemoteSampleListenerImpl extends java.rmi.server.UnicastRemoteObject + implements RemoteSampleListener, SampleListener, TestListener { - SampleListener sampleListener; + private final TestListener testListener; - public RemoteSampleListenerImpl() throws RemoteException { - super(); - } + private final SampleListener sampleListener; - public void setListener(Object listener) { + public RemoteSampleListenerImpl(Object listener) throws RemoteException { + super(); if (listener instanceof TestListener) { testListener = (TestListener) listener; + } else { + testListener = null; } if (listener instanceof SampleListener) { sampleListener = (SampleListener) listener; + } else { + sampleListener = null; } } - public RemoteSampleListenerImpl(Object listener) throws RemoteException { - super(); - setListener(listener); - } - public void testStarted() { if (testListener != null) { testListener.testStarted(); @@ -76,9 +73,15 @@ } } + public void testIterationStart(LoopIterationEvent event) { + if (testListener != null) { + testListener.testIterationStart(event); + } + } + /** * This method is called remotely and fires a list of samples events - * recieved locally. The function is to reduce network load when using + * received locally. The function is to reduce network load when using * remote testing. * * @param samples @@ -117,12 +120,4 @@ sampleListener.sampleStopped(e); } } - - /* - * (non-Javadoc) - * - * @see TestListener#testIterationStart(LoopIterationEvent) - */ - public void testIterationStart(LoopIterationEvent event) { - } } Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/RemoteTestListenerWrapper.java Sat Oct 11 18:06:02 2008 @@ -33,9 +33,11 @@ public class RemoteTestListenerWrapper extends AbstractTestElement implements TestListener, Serializable, NoThreadClone { private static final Logger log = LoggingManager.getLoggerForClass(); - private RemoteSampleListener listener; + private final RemoteSampleListener listener; public RemoteTestListenerWrapper() { + log.warn("Only intended for use in testing"); + listener = null; } public RemoteTestListenerWrapper(RemoteSampleListener l) { @@ -81,6 +83,7 @@ * @see TestListener#testIterationStart(LoopIterationEvent) */ public void testIterationStart(LoopIterationEvent event) { + //listener.testIterationStart(event); } } \ No newline at end of file Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSender.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSender.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSender.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSender.java Sat Oct 11 18:06:02 2008 @@ -18,6 +18,10 @@ package org.apache.jmeter.samplers; +/** + * This interface is used to define the methods that need to be intercepted + * by the SampleSender wrapper classes processed by the RemoteListenerWrapper. + */ public interface SampleSender { /** * The test ended @@ -38,8 +42,5 @@ * @param e * a Sample Event */ - public void SampleOccurred(SampleEvent e); - // TODO consider renaming this method - // - should begin with lower-case letter - // - should be less like the SampleListener method (sampleOccurred) + public void sampleOccurred(SampleEvent e); } Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StandardSampleSender.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StandardSampleSender.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StandardSampleSender.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StandardSampleSender.java Sat Oct 11 18:06:02 2008 @@ -62,7 +62,7 @@ } } - public void SampleOccurred(SampleEvent e) { + public void sampleOccurred(SampleEvent e) { log.debug("Sample occurred"); try { listener.sampleOccurred(e); Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java?rev=703755&r1=703754&r2=703755&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/StatisticalSampleSender.java Sat Oct 11 18:06:02 2008 @@ -123,7 +123,7 @@ * * @param e a Sample Event */ - public void SampleOccurred(SampleEvent e) { + public void sampleOccurred(SampleEvent e) { synchronized (sampleStore) { // Locate the statistical sample colector String key = StatisticalSampleResult.getKey(e); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]