Author: sebb
Date: Fri Apr 18 10:07:52 2008
New Revision: 649613

URL: http://svn.apache.org/viewvc?rev=649613&view=rev
Log:
Add POP3S and IMAPS protocols to Mail Reader Sampler.
Mail Reader Sampler now creates a sub-sample for each mail

Modified:
    jakarta/jmeter/trunk/docs/api/constant-values.html
    jakarta/jmeter/trunk/docs/api/index-all.html
    
jakarta/jmeter/trunk/docs/api/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html
    jakarta/jmeter/trunk/docs/changes.html
    
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

Modified: jakarta/jmeter/trunk/docs/api/constant-values.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/api/constant-values.html?rev=649613&r1=649612&r2=649613&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/api/constant-values.html (original)
+++ jakarta/jmeter/trunk/docs/api/constant-values.html Fri Apr 18 10:07:52 2008
@@ -2897,10 +2897,22 @@
 <TD ALIGN="right"><CODE>"imap"</CODE></TD>
 </TR>
 <TR BGCOLOR="white" CLASS="TableRowColor">
+<A 
NAME="org.apache.jmeter.protocol.mail.sampler.MailReaderSampler.TYPE_IMAPS"><!--
 --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_IMAPS">TYPE_IMAPS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"imaps"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
 <A 
NAME="org.apache.jmeter.protocol.mail.sampler.MailReaderSampler.TYPE_POP3"><!-- 
--></A><TD ALIGN="right"><FONT SIZE="-1">
 <CODE>public&nbsp;static&nbsp;final&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
 <TD ALIGN="left"><CODE><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3">TYPE_POP3</A></CODE></TD>
 <TD ALIGN="right"><CODE>"pop3"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A 
NAME="org.apache.jmeter.protocol.mail.sampler.MailReaderSampler.TYPE_POP3S"><!--
 --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3S">TYPE_POP3S</A></CODE></TD>
+<TD ALIGN="right"><CODE>"pop3s"</CODE></TD>
 </TR>
 </FONT></TD>
 </TR>

Modified: jakarta/jmeter/trunk/docs/api/index-all.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/api/index-all.html?rev=649613&r1=649612&r2=649613&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/api/index-all.html (original)
+++ jakarta/jmeter/trunk/docs/api/index-all.html Fri Apr 18 10:07:52 2008
@@ -19731,7 +19731,13 @@
 <DT><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_IMAP"><B>TYPE_IMAP</B></A>
 - 
 Static variable in class org.apache.jmeter.protocol.mail.sampler.<A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html" 
title="class in org.apache.jmeter.protocol.mail.sampler">MailReaderSampler</A>
 <DD>&nbsp;
+<DT><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_IMAPS"><B>TYPE_IMAPS</B></A>
 - 
+Static variable in class org.apache.jmeter.protocol.mail.sampler.<A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html" 
title="class in org.apache.jmeter.protocol.mail.sampler">MailReaderSampler</A>
+<DD>&nbsp;
 <DT><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3"><B>TYPE_POP3</B></A>
 - 
+Static variable in class org.apache.jmeter.protocol.mail.sampler.<A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html" 
title="class in org.apache.jmeter.protocol.mail.sampler">MailReaderSampler</A>
+<DD>&nbsp;
+<DT><A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3S"><B>TYPE_POP3S</B></A>
 - 
 Static variable in class org.apache.jmeter.protocol.mail.sampler.<A 
HREF="org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html" 
title="class in org.apache.jmeter.protocol.mail.sampler">MailReaderSampler</A>
 <DD>&nbsp;
 <DT><A HREF="org/apache/jmeter/testelement/Table.html" title="class in 
org.apache.jmeter.testelement"><B>Table</B></A> - class 
org.apache.jmeter.testelement.<A 
HREF="org/apache/jmeter/testelement/Table.html" title="class in 
org.apache.jmeter.testelement">Table</A>.<DD>&nbsp;<DT><A 
HREF="org/apache/jmeter/testelement/Table.html#Table()"><B>Table()</B></A> - 

Modified: 
jakarta/jmeter/trunk/docs/api/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/api/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html?rev=649613&r1=649612&r2=649613&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/docs/api/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html
 (original)
+++ 
jakarta/jmeter/trunk/docs/api/org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html
 Fri Apr 18 10:07:52 2008
@@ -137,11 +137,27 @@
 <TR BGCOLOR="white" CLASS="TableRowColor">
 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
 <CODE>static&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../../org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_IMAPS">TYPE_IMAPS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
 <TD><CODE><B><A 
HREF="../../../../../../org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3">TYPE_POP3</A></B></CODE>
 
 <BR>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
 </TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A 
HREF="../../../../../../org/apache/jmeter/protocol/mail/sampler/MailReaderSampler.html#TYPE_POP3S">TYPE_POP3S</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
 </TABLE>
 &nbsp;<A 
NAME="fields_inherited_from_class_org.apache.jmeter.testelement.TestElement"><!--
 --></A>
 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
@@ -367,6 +383,16 @@
 </DL>
 <HR>
 
+<A NAME="TYPE_POP3S"><!-- --></A><H3>
+TYPE_POP3S</H3>
+<PRE>
+public static final <A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A> <B>TYPE_POP3S</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A 
HREF="../../../../../../constant-values.html#org.apache.jmeter.protocol.mail.sampler.MailReaderSampler.TYPE_POP3S">Constant
 Field Values</A></DL>
+</DL>
+<HR>
+
 <A NAME="TYPE_IMAP"><!-- --></A><H3>
 TYPE_IMAP</H3>
 <PRE>
@@ -377,6 +403,16 @@
 </DL>
 <HR>
 
+<A NAME="TYPE_IMAPS"><!-- --></A><H3>
+TYPE_IMAPS</H3>
+<PRE>
+public static final <A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A> <B>TYPE_IMAPS</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A 
HREF="../../../../../../constant-values.html#org.apache.jmeter.protocol.mail.sampler.MailReaderSampler.TYPE_IMAPS">Constant
 Field Values</A></DL>
+</DL>
+<HR>
+
 <A NAME="ALL_MESSAGES"><!-- --></A><H3>
 ALL_MESSAGES</H3>
 <PRE>
@@ -434,8 +470,8 @@
 public void <B>setServerType</B>(<A 
HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A>&nbsp;serverType)</PRE>
 <DL>
 <DD>Sets the type of protocol to use when talking with the remote mail
- server. Either MailReaderSampler.TYPE_IMAP or
- MailReaderSampler.TYPE_POP3. Default is MailReaderSampler.TYPE_POP3.
+ server. Either MailReaderSampler.TYPE_IMAP[S] or
+ MailReaderSampler.TYPE_POP3[S]. Default is MailReaderSampler.TYPE_POP3.
 <P>
 <DD><DL>
 <DT><B>Parameters:</B><DD><CODE>serverType</CODE> - </DL>
@@ -449,8 +485,8 @@
 public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"; 
title="class or interface in java.lang">String</A> <B>getServerType</B>()</PRE>
 <DL>
 <DD>Returns the type of the protocol set to use when talking with the remote
- server. Either MailReaderSampler.TYPE_IMAP or
- MailReaderSampler.TYPE_POP3.
+ server. Either MailReaderSampler.TYPE_IMAP[S] or
+ MailReaderSampler.TYPE_POP3[S].
 <P>
 <DD><DL>
 

Modified: jakarta/jmeter/trunk/docs/changes.html
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/changes.html?rev=649613&r1=649612&r2=649613&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/changes.html (original)
+++ jakarta/jmeter/trunk/docs/changes.html Fri Apr 18 10:07:52 2008
@@ -538,6 +538,16 @@
                                                </li>
                                                                        
 
+                                                                               
                <li     >
+                                                               Add POP3S and 
IMAPS protocols to Mail Reader Sampler.
+                                               </li>
+                                                                       
+
+                                                                               
                <li     >
+                                                               Mail Reader 
Sampler now creates a sub-sample for each mail.
+                                               </li>
+                                                                       
+
                                                </ul>
                                                                                
                                                                                
<h4     >
                                                                Non-functional 
changes

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=649613&r1=649612&r2=649613&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 Apr 18 10:07:52 2008
@@ -439,9 +439,11 @@
 mail_reader_delete=Delete messages from the server
 mail_reader_folder=Folder:
 mail_reader_imap=IMAP
+mail_reader_imaps=IMAPS
 mail_reader_num_messages=Number of messages to retrieve:
 mail_reader_password=Password:
 mail_reader_pop3=POP3
+mail_reader_pop3s=POP3S
 mail_reader_server=Server:
 mail_reader_server_type=Server Type:
 mail_reader_title=Mail Reader Sampler

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=649613&r1=649612&r2=649613&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 Apr 18 10:07:52 2008
@@ -17,6 +17,7 @@
  */
 package org.apache.jmeter.protocol.mail.sampler;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.util.Properties;
 
@@ -25,6 +26,7 @@
 import javax.mail.Flags;
 import javax.mail.Folder;
 import javax.mail.Message;
+import javax.mail.MessagingException;
 import javax.mail.Session;
 import javax.mail.Store;
 import javax.mail.internet.MimeMultipart;
@@ -55,7 +57,9 @@
        
        // Needed by GUI
        public final static String TYPE_POP3 = "pop3"; // $NON-NLS-1$
+    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 MailReaderSampler() {
@@ -71,16 +75,16 @@
         * @see 
org.apache.jmeter.samplers.Sampler#sample(org.apache.jmeter.samplers.Entry)
         */
        public SampleResult sample(Entry e) {
-               SampleResult res = new SampleResult();
+               SampleResult parent = new SampleResult();
                boolean isOK = false; // Did sample succeed?
                boolean deleteMessages = getDeleteMessages();
 
-               res.setSampleLabel(getName());
-        res.setSamplerData(getServerType() + "://" + getUserName() + "@" + 
getServer());
+               parent.setSampleLabel(getName());
+               parent.setSamplerData(getServerType() + "://" + getUserName() + 
"@" + getServer());
                /*
                 * Perform the sampling
                 */
-               res.sampleStart(); // Start timing
+               parent.sampleStart(); // Start timing
                try {
                        // Create empty properties
                        Properties props = new Properties();
@@ -103,84 +107,95 @@
                        // Get directory
                        Message messages[] = folder.getMessages();
                        Message message;
-                       StringBuffer data = new StringBuffer();
-                       data.append(messages.length);
-                       data.append(" messages found\n");
+                       StringBuffer pdata = new StringBuffer();
+                       pdata.append(messages.length);
+                       pdata.append(" messages found\n");
 
                        int n = getNumMessages();
                        if (n == ALL_MESSAGES || n > messages.length) {
                                n = messages.length;
                        }
 
-                       // TODO - create a sample result for each message?
                        for (int i = 0; i < n; i++) {
+                   StringBuffer cdata = new StringBuffer();
+                           SampleResult child = new SampleResult();
+                           child.sampleStart();
                                message = messages[i];
 
-                               if (i == 0) { // Assumes all the messaged have 
the same type ...
-                                       
res.setContentType(message.getContentType());
+                               //if (i == 0) 
+                               { // Assumes all the messaged have the same 
type ...
+                                   
child.setContentType(message.getContentType());
                                }
 
-                               data.append("Message "); // $NON-NLS-1$
-                               data.append(message.getMessageNumber());
-                               data.append(":\n"); // $NON-NLS-1$
+                               cdata.append("Message "); // $NON-NLS-1$
+                               cdata.append(message.getMessageNumber());
+                               child.setSampleLabel(cdata.toString());
+                               child.setSamplerData(cdata.toString());
+                               cdata.setLength(0);
                                
-                               data.append("Date: "); // $NON-NLS-1$
-                               data.append(message.getSentDate());
-                               data.append(NEW_LINE);
+                               cdata.append("Date: "); // $NON-NLS-1$
+                               cdata.append(message.getSentDate());
+                               cdata.append(NEW_LINE);
 
-                               data.append("To: "); // $NON-NLS-1$
+                               cdata.append("To: "); // $NON-NLS-1$
                                Address[] recips = message.getAllRecipients();
                                for (int j = 0; j < recips.length; j++) {
-                                       data.append(recips[j].toString());
+                                       cdata.append(recips[j].toString());
                                        if (j < recips.length - 1) {
-                                               data.append("; "); // 
$NON-NLS-1$
+                                               cdata.append("; "); // 
$NON-NLS-1$
                                        }
                                }
-                               data.append(NEW_LINE);
+                               cdata.append(NEW_LINE);
 
-                               data.append("From: "); // $NON-NLS-1$
+                               cdata.append("From: "); // $NON-NLS-1$
                                Address[] from = message.getFrom();
                                for (int j = 0; j < from.length; j++) {
-                                       data.append(from[j].toString());
+                                       cdata.append(from[j].toString());
                                        if (j < from.length - 1) {
-                                               data.append("; "); // 
$NON-NLS-1$
+                                               cdata.append("; "); // 
$NON-NLS-1$
                                        }
                                }
-                               data.append(NEW_LINE);
+                               cdata.append(NEW_LINE);
 
-                               data.append("Subject: "); // $NON-NLS-1$
-                               data.append(message.getSubject());
-                               data.append(NEW_LINE);
+                               cdata.append("Subject: "); // $NON-NLS-1$
+                               cdata.append(message.getSubject());
+                               cdata.append(NEW_LINE);
                                
-                               data.append(NEW_LINE);
+                               cdata.append(NEW_LINE);
                                Object content = message.getContent();
                                if (content instanceof MimeMultipart) {
                                        MimeMultipart mmp = (MimeMultipart) 
content;
                                        int count = mmp.getCount();
-                                       data.append("Multipart. Count: ");
-                                       data.append(count);
-                                       data.append(NEW_LINE);
+                                       cdata.append("Multipart. Count: ");
+                                       cdata.append(count);
+                                       cdata.append(NEW_LINE);
                                        for (int j=0; j<count;j++){
                                                BodyPart bodyPart = 
mmp.getBodyPart(j);
-                                               data.append("Type: ");
-                                               
data.append(bodyPart.getContentType());
-                                               data.append(NEW_LINE);
+                                               cdata.append("Type: ");
+                                               
cdata.append(bodyPart.getContentType());
+                                               cdata.append(NEW_LINE);
                                                try {
-                                                       
data.append(bodyPart.getContent());
+                                                       
cdata.append(bodyPart.getContent());
                                                } catch 
(UnsupportedEncodingException ex){
-                                                       
data.append(ex.getLocalizedMessage());
+                                                       
cdata.append(ex.getLocalizedMessage());
                                                }
-                                               data.append(NEW_LINE);
+                                               cdata.append(NEW_LINE);
                                        }
                                } else {
-                                   data.append(content);
-                                       data.append(NEW_LINE);
+                                   cdata.append(content);
+                                       cdata.append(NEW_LINE);
                                }
-                               data.append(NEW_LINE);
 
                                if (deleteMessages) {
                                        message.setFlag(Flags.Flag.DELETED, 
true);
                                }
+                   child.setResponseData(cdata.toString().getBytes());
+                   child.setDataType(SampleResult.TEXT);
+                   child.setResponseCodeOK();
+                   child.setResponseMessage("OK"); // $NON-NLS-1$
+                   child.setSuccessful(true);
+                   child.sampleEnd();
+                   parent.addSubResult(child);
                        }
 
                        // Close connection
@@ -190,31 +205,37 @@
                        /*
                         * Set up the sample result details
                         */
-                       res.setResponseData(data.toString().getBytes());
-                       res.setDataType(SampleResult.TEXT);
+                       parent.setResponseData(pdata.toString().getBytes());
+                       parent.setDataType(SampleResult.TEXT);
 
-                       res.setResponseCodeOK();
-                       res.setResponseMessage("OK"); // $NON-NLS-1$
+                       parent.setResponseCodeOK();
+                       parent.setResponseMessage("OK"); // $NON-NLS-1$
                        isOK = true;
         } catch (NoClassDefFoundError ex) {
             log.debug("",ex);// No need to log normally, as we set the status
-            res.setResponseCode("500"); // $NON-NLS-1$
-            res.setResponseMessage(ex.toString());
-               } catch (Exception ex) {
+            parent.setResponseCode("500"); // $NON-NLS-1$
+            parent.setResponseMessage(ex.toString());
+               } catch (MessagingException ex) {
                        log.debug("", ex);// No need to log normally, as we set 
the status
-                       res.setResponseCode("500"); // $NON-NLS-1$
-                       res.setResponseMessage(ex.toString());
+                       parent.setResponseCode("500"); // $NON-NLS-1$
+                       parent.setResponseMessage(ex.toString());
+        } catch (IOException ex) {
+            log.debug("", ex);// No need to log normally, as we set the status
+            parent.setResponseCode("500"); // $NON-NLS-1$
+            parent.setResponseMessage(ex.toString());
                }
 
-               res.sampleEnd();
-               res.setSuccessful(isOK);
-               return res;
+               if (parent.getEndTime()==0){// not been set by any child samples
+                   parent.sampleEnd();
+               }
+               parent.setSuccessful(isOK);
+               return parent;
        }
 
        /**
         * Sets the type of protocol to use when talking with the remote mail
-        * server. Either MailReaderSampler.TYPE_IMAP or
-        * MailReaderSampler.TYPE_POP3. Default is MailReaderSampler.TYPE_POP3.
+        * server. Either MailReaderSampler.TYPE_IMAP[S] or
+        * MailReaderSampler.TYPE_POP3[S]. Default is 
MailReaderSampler.TYPE_POP3.
         * 
         * @param serverType
         */
@@ -224,8 +245,8 @@
 
        /**
         * Returns the type of the protocol set to use when talking with the 
remote
-        * server. Either MailReaderSampler.TYPE_IMAP or
-        * MailReaderSampler.TYPE_POP3.
+        * server. Either MailReaderSampler.TYPE_IMAP[S] or
+        * MailReaderSampler.TYPE_POP3[S].
         * 
         * @return Server Type
         */

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=649613&r1=649612&r2=649613&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 Apr 18 10:07:52 2008
@@ -66,6 +66,10 @@
 
        private final static String IMAPLabel = 
JMeterUtils.getResString("mail_reader_imap");// $NON-NLS-1$
 
+    private final static String POP3SLabel = 
JMeterUtils.getResString("mail_reader_pop3s");// $NON-NLS-1$
+
+    private final static String IMAPSLabel = 
JMeterUtils.getResString("mail_reader_imaps");// $NON-NLS-1$
+
        private final static String ServerTypeLabel = 
JMeterUtils.getResString("mail_reader_server_type");// $NON-NLS-1$
 
        private final static String ServerLabel = 
JMeterUtils.getResString("mail_reader_server");// $NON-NLS-1$
@@ -103,6 +107,12 @@
                if (mrs.getServerType().equals(MailReaderSampler.TYPE_POP3)) {
                        serverTypeBox.setSelectedItem(POP3Label);
                        folderBox.setText(INBOX);
+               } else if 
(mrs.getServerType().equals(MailReaderSampler.TYPE_POP3S)) {
+                   serverTypeBox.setSelectedItem(POP3SLabel);
+                   folderBox.setText(INBOX);
+        } else if (mrs.getServerType().equals(MailReaderSampler.TYPE_IMAPS)) {
+            serverTypeBox.setSelectedItem(IMAPSLabel);
+            folderBox.setText(mrs.getFolder());
                } else {
                        serverTypeBox.setSelectedItem(IMAPLabel);
                        folderBox.setText(mrs.getFolder());
@@ -144,8 +154,13 @@
 
                MailReaderSampler mrs = (MailReaderSampler) te;
 
-               if (((String) 
serverTypeBox.getSelectedItem()).equals(POP3Label)) {
+               final String item = (String) serverTypeBox.getSelectedItem();
+        if (item.equals(POP3Label)) {
                        mrs.setServerType(MailReaderSampler.TYPE_POP3);
+               } else if (item.equals(POP3SLabel)){
+            mrs.setServerType(MailReaderSampler.TYPE_POP3S);
+        } else if (item.equals(IMAPSLabel)){
+            mrs.setServerType(MailReaderSampler.TYPE_IMAPS);
                } else {
                        mrs.setServerType(MailReaderSampler.TYPE_IMAP);
                }
@@ -176,11 +191,14 @@
                serverTypePanel.add(new JLabel(ServerTypeLabel));
                DefaultComboBoxModel serverTypeModel = new 
DefaultComboBoxModel();
                serverTypeModel.addElement(POP3Label);
-               serverTypeModel.addElement(IMAPLabel);
+        serverTypeModel.addElement(POP3SLabel);
+        serverTypeModel.addElement(IMAPLabel);
+               serverTypeModel.addElement(IMAPSLabel);
                serverTypeBox = new JComboBox(serverTypeModel);
                serverTypeBox.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
-                               if (((String) 
serverTypeBox.getSelectedItem()).equals(POP3Label)) {
+                               final String item = (String) 
serverTypeBox.getSelectedItem();
+                if (item.equals(POP3Label)||item.equals(POP3SLabel)) {
                                        folderLabel.setEnabled(false);
                                        folderBox.setText(INBOX);
                                        folderBox.setEnabled(false);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=649613&r1=649612&r2=649613&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Apr 18 10:07:52 2008
@@ -160,6 +160,8 @@
 <li>Bug 44807 - allow session ids to be terminated by backslash</li>
 <li>Bug 44784 - allow for broken server returning additional charset</li>
 <li>Added TESTSTART.MS property / variable = test start time in 
milliseconds</li>
+<li>Add POP3S and IMAPS protocols to Mail Reader Sampler.</li>
+<li>Mail Reader Sampler now creates a sub-sample for each mail.</li>
 </ul>
 
 <h4>Non-functional changes</h4>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to