Delivery mode option the JMS point-to-point sampler

2006-11-02 Thread Jonas Lim


Hi Guys,

I created a patch for adding a delivery mode option for the JMS 
Point-to-point sampler. Not really sure how or where I should send the 
patch so I'm attaching it here :)


I wonder if any of the jmeter committer  can test it  and see if it can 
be committed :)  Btw, I'm working from the trunk source.   I tested it 
using Activemq and seems to be working ok


Regards,
Jonas
Index: src/core/org/apache/jmeter/resources/messages.properties
===
--- src/core/org/apache/jmeter/resources/messages.properties(revision 
469835)
+++ src/core/org/apache/jmeter/resources/messages.properties(working copy)
@@ -253,6 +253,9 @@
 java_request=Java Request
 java_request_defaults=Java Request Defaults
 jms_auth_not_required=Not Required
+jms_delivery_mode=Delivery Mode
+jms_persistent=Persistent
+jms_non_persistent=Non Persistent
 jms_auth_required=Required
 jms_authentication=Authentication
 jms_client_caption=Receive client uses TopicSubscriber.receive() to listen for 
message.
@@ -751,4 +754,4 @@
 xpath_file_file_name=XML file to get values from 
 you_must_enter_a_valid_number=You must enter a valid number
 zh_cn=Chinese (Simplified)
-zh_tw=Chinese (Traditional)
\ No newline at end of file
+zh_tw=Chinese (Traditional)
Index: 
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java
===
--- 
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java   
(revision 469835)
+++ 
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java   
(working copy)
@@ -35,6 +35,7 @@
 import org.apache.jorphan.gui.JLabeledChoice;
 import org.apache.jorphan.gui.JLabeledTextArea;
 import org.apache.jorphan.gui.JLabeledTextField;
+import org.apache.jorphan.gui.JLabeledRadio;
 
 /**
  * Configuration screen for Java Messaging Point-to-Point requests. br
@@ -66,6 +67,14 @@
 
private JLabeledChoice oneWay = new 
JLabeledChoice(JMeterUtils.getResString(jms_communication_style), labels);
 
+   private String persitent = JMeterUtils.getResString(jms_persistent);
+
+   private String non_persistent = 
JMeterUtils.getResString(jms_non_persistent);
+
+private String[] delivery_modes = { persitent, non_persistent };
+
+private JLabeledRadio deliveryMode = new 
JLabeledRadio(JMeterUtils.getResString(jms_delivery_mode), delivery_modes, 
non_persistent);
+
private ArgumentsPanel jmsPropertiesPanel;
 
private ArgumentsPanel jndiPropertiesPanel;
@@ -107,6 +116,8 @@
boolean isOneway = 
oneWay.getText().equals(JMeterUtils.getResString(jms_request));
element.setProperty(new BooleanProperty(JMSSampler.IS_ONE_WAY, 
isOneway));
 
+element.setProperty(JMSSampler.DELIVERY_MODE, deliveryMode.getText());
+
element.setProperty(JMSSampler.TIMEOUT, timeout.getText());
element.setProperty(JMSSampler.XML_DATA, soapXml.getText());
 
@@ -227,6 +238,10 @@
onewayPanel.add(oneWay);
messageNorthPanel.add(onewayPanel, BorderLayout.NORTH);
 
+   JPanel deliveryModePanel = new JPanel(new BorderLayout());
+   deliveryModePanel.add(deliveryMode);
+   messageNorthPanel.add(deliveryModePanel, BorderLayout.CENTER);
+
JPanel timeoutPanel = new JPanel(new BorderLayout());
timeoutPanel.add(timeout);
messageNorthPanel.add(timeoutPanel, BorderLayout.SOUTH);
@@ -274,4 +289,4 @@
return jms_point_to_point;// TODO - probably wrong
}
 
-}
\ No newline at end of file
+}
Index: src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
===
--- src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java 
(revision 469835)
+++ src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java 
(working copy)
@@ -31,6 +31,7 @@
 import javax.jms.QueueSender;
 import javax.jms.QueueSession;
 import javax.jms.Session;
+import javax.jms.DeliveryMode;
 import javax.jms.StreamMessage;
 import javax.jms.TextMessage;
 import javax.naming.Context;
@@ -45,6 +46,7 @@
 import org.apache.jmeter.testelement.ThreadListener;
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.TestElementProperty;
+import org.apache.jmeter.util.JMeterUtils;
 import org.apache.jorphan.logging.LoggingManager;
 import org.apache.log.Logger;
 
@@ -79,6 +81,8 @@
 
public final static String QUEUE_CONNECTION_FACTORY_JNDI = 
JMSSampler.queueconnectionfactory;
 
+public final static String DELIVERY_MODE = JMSSampler.DeliveryMode;
+
private static final Logger LOGGER = LoggingManager.getLoggerForClass();
 
//
@@ -141,7 +145,7 @@
} else {
  

Re: Delivery mode option the JMS point-to-point sampler

2006-11-02 Thread Peter Lin

please file a bugzilla and attach the patch file.

thanks

peter lin


On 11/2/06, Jonas Lim [EMAIL PROTECTED] wrote:



Hi Guys,

I created a patch for adding a delivery mode option for the JMS
Point-to-point sampler. Not really sure how or where I should send the
patch so I'm attaching it here :)

I wonder if any of the jmeter committer  can test it  and see if it can
be committed :)  Btw, I'm working from the trunk source.   I tested it
using Activemq and seems to be working ok

Regards,
Jonas


Index: src/core/org/apache/jmeter/resources/messages.properties
===
--- src/core/org/apache/jmeter/resources/messages.properties(revision
469835)
+++ src/core/org/apache/jmeter/resources/messages.properties(working
copy)
@@ -253,6 +253,9 @@
java_request=Java Request
java_request_defaults=Java Request Defaults
jms_auth_not_required=Not Required
+jms_delivery_mode=Delivery Mode
+jms_persistent=Persistent
+jms_non_persistent=Non Persistent
jms_auth_required=Required
jms_authentication=Authentication
jms_client_caption=Receive client uses TopicSubscriber.receive() to listen
for message.
@@ -751,4 +754,4 @@
xpath_file_file_name=XML file to get values from
you_must_enter_a_valid_number=You must enter a valid number
zh_cn=Chinese (Simplified)
-zh_tw=Chinese (Traditional)
\ No newline at end of file
+zh_tw=Chinese (Traditional)
Index:
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java
===
---
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java
(revision 469835)
+++
src/protocol/jms/org/apache/jmeter/protocol/jms/control/gui/JMSConfigGui.java
(working copy)
@@ -35,6 +35,7 @@
import org.apache.jorphan.gui.JLabeledChoice;
import org.apache.jorphan.gui.JLabeledTextArea;
import org.apache.jorphan.gui.JLabeledTextField;
+import org.apache.jorphan.gui.JLabeledRadio;

/**
  * Configuration screen for Java Messaging Point-to-Point requests. br
@@ -66,6 +67,14 @@

private JLabeledChoice oneWay = new JLabeledChoice(
JMeterUtils.getResString(jms_communication_style), labels);

+   private String persitent = JMeterUtils.getResString
(jms_persistent);
+
+   private String non_persistent = JMeterUtils.getResString
(jms_non_persistent);
+
+private String[] delivery_modes = { persitent, non_persistent };
+
+private JLabeledRadio deliveryMode = new JLabeledRadio(
JMeterUtils.getResString(jms_delivery_mode), delivery_modes,
non_persistent);
+
private ArgumentsPanel jmsPropertiesPanel;

private ArgumentsPanel jndiPropertiesPanel;
@@ -107,6 +116,8 @@
boolean isOneway = oneWay.getText().equals(
JMeterUtils.getResString(jms_request));
element.setProperty(new BooleanProperty(
JMSSampler.IS_ONE_WAY, isOneway));

+element.setProperty(JMSSampler.DELIVERY_MODE,
deliveryMode.getText());
+
element.setProperty(JMSSampler.TIMEOUT, timeout.getText
());
element.setProperty(JMSSampler.XML_DATA, soapXml.getText
());

@@ -227,6 +238,10 @@
onewayPanel.add(oneWay);
messageNorthPanel.add(onewayPanel, BorderLayout.NORTH);

+   JPanel deliveryModePanel = new JPanel(new BorderLayout());
+   deliveryModePanel.add(deliveryMode);
+   messageNorthPanel.add(deliveryModePanel,
BorderLayout.CENTER);
+
JPanel timeoutPanel = new JPanel(new BorderLayout());
timeoutPanel.add(timeout);
messageNorthPanel.add(timeoutPanel, BorderLayout.SOUTH);
@@ -274,4 +289,4 @@
return jms_point_to_point;// TODO - probably wrong
}

-}
\ No newline at end of file
+}
Index:
src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
===
---
src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
(revision 469835)
+++
src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java
(working copy)
@@ -31,6 +31,7 @@
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
+import javax.jms.DeliveryMode;
import javax.jms.StreamMessage;
import javax.jms.TextMessage;
import javax.naming.Context;
@@ -45,6 +46,7 @@
import org.apache.jmeter.testelement.ThreadListener;
import org.apache.jmeter.testelement.property.BooleanProperty;
import org.apache.jmeter.testelement.property.TestElementProperty;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;

@@ -79,6 +81,8 @@

public final static String QUEUE_CONNECTION_FACTORY_JNDI = 
JMSSampler.queueconnectionfactory;

+public final static String DELIVERY_MODE = JMSSampler.DeliveryMode;
+
private static final Logger LOGGER =
LoggingManager.getLoggerForClass();

//
@@ -141,7 +145,7 @@