svn commit: r882697 - in /jakarta/jmeter/trunk: src/core/org/apache/jmeter/resources/ src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/ src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/ xdocs/ xdocs/usermanual/

[email protected]
Newsgroups gmane.comp.jakarta.jmeter.devel
Message-ID <[email protected]>
Author: sebb
Date: Fri Nov 20 19:51:23 2009
New Revision: 882697

URL: http://svn.apache.org/viewvc?rev=882697&view=rev
Log:
Bug 47947 - Mail Reader Sampler should allow port to be overridden

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java
    jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java
    jakarta/jmeter/trunk/xdocs/changes.xml
    jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=882697&r1=882696&r2=882697&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Fri Nov 20 19:51:23 2009
@@ -468,6 +468,7 @@
 mail_reader_password=Password:
 mail_reader_pop3=POP3
 mail_reader_pop3s=POP3S
+mail_reader_port=Port (optional):
 mail_reader_server=Server:
 mail_reader_server_type=Server Type:
 mail_reader_storemime=Store the message using MIME

Modified: jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java?rev=882697&r1=882696&r2=882697&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java (original)
+++ jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.java Fri Nov 20 19:51:23 2009
@@ -47,8 +47,10 @@
 public class MailReaderSampler extends AbstractSampler {
     private static final Logger log = LoggingManager.getLoggerForClass();
 
+    //+ JMX attributes - do not change the values
     private final static String SERVER_TYPE = "host_type"; // $NON-NLS-1$
     private final static String SERVER = "host"; // $NON-NLS-1$
+    private final static String PORT = "port"; // $NON-NLS-1$
     private final static String USERNAME = "username"; // $NON-NLS-1$
     private final static String PASSWORD = "password"; // $NON-NLS-1$
     private final static String FOLDER = "folder"; // $NON-NLS-1$
@@ -62,7 +64,9 @@
     public final static String TYPE_POP3S = "pop3s"; // $NON-NLS-1$
     public final static String TYPE_IMAP = "imap"; // $NON-NLS-1$
     public final static String TYPE_IMAPS = "imaps"; // $NON-NLS-1$
-    public static final int ALL_MESSAGES = -1;
+    //-
+    
+    public static final int ALL_MESSAGES = -1; // special value
 
     public MailReaderSampler() {
         setServerType(TYPE_POP3);
@@ -82,7 +86,12 @@
         boolean deleteMessages = getDeleteMessages();
 
         parent.setSampleLabel(getName());
-        parent.setSamplerData(getServerType() + "://" + getUserName() + "@" + getServer());
+        int port=getPortAsInt();
+        if (port > 0){
+            parent.setSamplerData(getServerType() + "://" + getUserName() + "@" + getServer()+ ":" + port);
+        } else {
+            parent.setSamplerData(getServerType() + "://" + getUserName() + "@" + getServer());
+        }
         /*
          * Perform the sampling
          */
@@ -96,7 +105,11 @@
 
             // Get the store
             Store store = session.getStore(getServerType());
-            store.connect(getServer(), getUserName(), getPassword());
+            if (port > 0){
+                store.connect(getServer(), port, getUserName(), getPassword());
+            } else {
+                store.connect(getServer(), getUserName(), getPassword());
+            }
 
             // Get folder
             Folder folder = store.getFolder(getFolder());
@@ -268,7 +281,7 @@
      * @return Server Type
      */
     public String getServerType() {
-        return getProperty(SERVER_TYPE).toString();
+        return getPropertyAsString(SERVER_TYPE);
     }
 
     /**
@@ -283,7 +296,19 @@
      * @return The name or address of the remote server.
      */
     public String getServer() {
-        return getProperty(SERVER).toString();
+        return getPropertyAsString(SERVER);
+    }
+
+    public String getPort() {
+        return getPropertyAsString(PORT);
+    }
+
+    private int getPortAsInt() {
+        return getPropertyAsInt(PORT);
+    }
+
+    public void setPort(String port) {
+        setProperty(PORT, port, "");
     }
 
     /**
@@ -298,7 +323,7 @@
      * @return The username of the mail account.
      */
     public String getUserName() {
-        return getProperty(USERNAME).toString();
+        return getPropertyAsString(USERNAME);
     }
 
     /**
@@ -312,7 +337,7 @@
      * @return password
      */
     public String getPassword() {
-        return getProperty(PASSWORD).toString();
+        return getPropertyAsString(PASSWORD);
     }
 
     /**
@@ -328,7 +353,7 @@
      * @return folder
      */
     public String getFolder() {
-        return getProperty(FOLDER).toString();
+        return getPropertyAsString(FOLDER);
     }
 
     /**

Modified: jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java?rev=882697&r1=882696&r2=882697&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java (original)
+++ jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/mail/sampler/gui/MailReaderSamplerGui.java Fri Nov 20 19:51:23 2009
@@ -45,6 +45,8 @@
 
     private JTextField serverBox;
 
+    private JTextField portBox;
+
     private JTextField usernameBox;
 
     private JTextField passwordBox;
@@ -76,6 +78,8 @@
 
     private final String ServerLabel = JMeterUtils.getResString("mail_reader_server");// $NON-NLS-1$
 
+    private final String PortLabel = JMeterUtils.getResString("mail_reader_port");// $NON-NLS-1$
+
     private final String AccountLabel = JMeterUtils.getResString("mail_reader_account");// $NON-NLS-1$
 
     private final String PasswordLabel = JMeterUtils.getResString("mail_reader_password");// $NON-NLS-1$
@@ -123,6 +127,7 @@
             folderBox.setText(mrs.getFolder());
         }
         serverBox.setText(mrs.getServer());
+        portBox.setText(mrs.getPort());
         usernameBox.setText(mrs.getUserName());
         passwordBox.setText(mrs.getPassword());
         if (mrs.getNumMessages() == MailReaderSampler.ALL_MESSAGES) {
@@ -173,6 +178,7 @@
 
         mrs.setFolder(folderBox.getText());
         mrs.setServer(serverBox.getText());
+        mrs.setPort(portBox.getText());
         mrs.setUserName(usernameBox.getText());
         mrs.setPassword(passwordBox.getText());
         if (allMessagesButton.isSelected()) {
@@ -224,6 +230,12 @@
         serverPanel.add(serverBox);
         add(serverPanel);
 
+        JPanel portPanel = new JPanel();
+        portPanel.add(new JLabel(PortLabel));
+        portBox = new JTextField(20);
+        portPanel.add(portBox);
+        add(portPanel);
+
         JPanel accountNamePanel = new JPanel();
         accountNamePanel.add(new JLabel(AccountLabel));
         usernameBox = new JTextField(20);
@@ -294,6 +306,7 @@
         serverTypeBox.setSelectedIndex(0);
         passwordBox.setText("");// $NON-NLS-1$
         serverBox.setText("");// $NON-NLS-1$
+        portBox.setText("");// $NON-NLS-1$
         usernameBox.setText("");// $NON-NLS-1$
     }
 }

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=882697&r1=882696&r2=882697&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Nov 20 19:51:23 2009
@@ -127,6 +127,7 @@
 <li>Bug 47900 - Allow JMS SubscriberSampler to be interrupted</li>
 <li>Added JSR223 Sampler</li>
 <li>Bug 47556 - JMS-PoinToPoint-Sampler Timout field should use Strings</li>
+<li>Bug 47947 - Mail Reader Sampler should allow port to be overridden</li>
 </ul>
 
 <h3>Controllers</h3>

Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=882697&r1=882696&r2=882697&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Fri Nov 20 19:51:23 2009
@@ -1317,6 +1317,7 @@
 <property name="Name" required="">Descriptive name for this element that is shown in the tree.</property>
 <property name="Server Type" required="Yes">The protocol used by the server: POP3, POP3S, IMAP, IMAPS</property>
 <property name="Server" required="Yes">Hostname or IP address of the server</property>
+<property name="Port" required="No">Port to be used to connect to the server (optional)</property>
 <property name="Username" required="">User login name</property>
 <property name="Password" required="">User login password (N.B. this is stored unencrypted in the test plan)</property>
 <property name="Folder" required="Yes, if using IMAP(S)">The IMAP(S) folder to use</property>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.