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>



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org

Reply via email to