You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by rd...@apache.org on 2008/12/02 21:06:07 UTC

svn commit: r722598 [5/36] - in /james/site/trunk/www/mpt: ./ antlib/ antlib/css/ antlib/emma/ antlib/emma/_files/ antlib/images/ antlib/xref-test/ antlib/xref-test/org/ antlib/xref-test/org/apache/ antlib/xref-test/org/apache/james/ antlib/xref-test/o...

Added: james/site/trunk/www/mpt/antlib/team-list.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/team-list.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/team-list.html (added)
+++ james/site/trunk/www/mpt/antlib/team-list.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,316 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+<html>
+  <head>
+    <title>JAMES Mail Protocol Tester (MPT) - Team list</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="http://james.apache.org/mpt/index.html" id="bannerLeft">
+    
+                                            <img src="images/james-mpt-logo.gif" alt="" />
+    
+            </a>
+                        <a href="http://www.apache.org/index.html" id="bannerRight">
+    
+                                            <img src="images/asf-logo-reduced.gif" alt="" />
+    
+            </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+            <div class="xleft">
+        Last Published: 12/02/2008
+                      </div>
+            <div class="xright">      <a href="../../index.html">JAMES Project</a>
+          |
+          <a href="../../server/index.html">Server</a>
+          |
+          <a href="../../mailet/index.html">Mailets</a>
+          |
+          <a href="../../jspf/index.html">jSPF</a>
+          |
+          <a href="../../mime4j/index.html">Mime4J</a>
+          |
+          <a href="../../jsieve/index.html">JSieve</a>
+          |
+          <a href="../../postage/index.html">Postage</a>
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+                   <h5>MPT AntLib</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="doap_apache-james-mtp-antlib.rdf">DOAP</a>
+        </li>
+          </ul>
+          <h5>Project Documentation</h5>
+        <ul>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+            
+            
+      
+              
+            <li class="expanded">
+              <a href="project-info.html">Project Information</a>
+                <ul>
+                  
+    <li class="none">
+              <a href="integration.html">Continuous Integration</a>
+        </li>
+                  
+    <li class="none">
+              <a href="dependencies.html">Dependencies</a>
+        </li>
+                  
+    <li class="none">
+              <a href="dependency-convergence.html">Dependency Convergence</a>
+        </li>
+                  
+    <li class="none">
+              <a href="dependency-management.html">Dependency Management</a>
+        </li>
+                  
+    <li class="none">
+              <a href="issue-tracking.html">Issue Tracking</a>
+        </li>
+                  
+    <li class="none">
+              <a href="mail-lists.html">Mailing Lists</a>
+        </li>
+                  
+    <li class="none">
+              <a href="plugin-management.html">Plugin Management</a>
+        </li>
+                  
+    <li class="none">
+              <a href="license.html">Project License</a>
+        </li>
+                  
+    <li class="none">
+              <a href="plugins.html">Project Plugins</a>
+        </li>
+                  
+    <li class="none">
+              <a href="project-summary.html">Project Summary</a>
+        </li>
+                  
+    <li class="none">
+              <strong>Project Team</strong>
+        </li>
+                  
+    <li class="none">
+              <a href="source-repository.html">Source Repository</a>
+        </li>
+              </ul>
+        </li>
+              
+                
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="collapsed">
+              <a href="project-reports.html">Project Reports</a>
+              </li>
+          </ul>
+          <h5>Mail Protocol Tester</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="../index.html">Overview</a>
+        </li>
+              
+    <li class="none">
+              <a href="../main">Main Library</a>
+        </li>
+              
+    <li class="none">
+              <a href="../antlib">AntLib</a>
+        </li>
+          </ul>
+          <h5>Useful Information</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
+        </li>
+          </ul>
+          <h5>The Apache Software Foundation</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/faq.html">FAQ</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/contributing.html">Donations</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://apache.org/foundation/thanks.html">Thanks</a>
+        </li>
+          </ul>
+          <h5>Downloads</h5>
+        <ul>
+              
+    <li class="none">
+              <a href="../../download.cgi">Stable releases</a>
+        </li>
+              
+    <li class="none">
+              <a href="../../downloadunstable.cgi">Unstable releases</a>
+        </li>
+              
+    <li class="none">
+              <a href="http://people.apache.org/builds/james/nightly/">Nightly builds</a>
+        </li>
+          </ul>
+                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
+            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>The Team</h2><p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p><p>The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.</p><div class="section"><h3>Members</h3><p>The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.</p><table class="bodyTable"><tr class="a"><th>Id</th><th>Name</th><th>Email</th><th>Organization</th><th>Roles</th><th>Time Zone</th><th>Actual Time (GMT)</th><th>Properties</th></tr><tr class="b"><td><a name="bago
 "></a>bago</td><td>Stefano Bagnara</td><td>bago at apache.org</td><td>-</td><td>Developer</td><td>2</td><td><span id="developer-0">2</span></td><td>-</td></tr><tr class="a"><td><a name="norman"></a>norman</td><td>Norman Maurer</td><td>norman at apache.org</td><td>-</td><td>Developer</td><td>2</td><td><span id="developer-1">2</span></td><td>-</td></tr><tr class="b"><td><a name="serge"></a>serge</td><td>Serge Knystautas</td><td>sergek at lokitech.com</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-2">-</span></td><td>-</td></tr><tr class="a"><td><a name="benrdf"></a>benrdf</td><td>Bernd Fondermann</td><td>bf_jak at brainlounge.de</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-3">-</span></td><td>-</td></tr><tr class="b"><td><a name="sbrewin"></a>sbrewin</td><td>Steve Brewin</td><td>sbrewin at synsys.com</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-4">-</span></td><td>-</td></tr><tr class="a"><td><a name="hilmer"></a>hil
 mer</td><td>Soren Hilmer</td><td>sh at widetrail.dk</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-5">-</span></td><td>-</td></tr><tr class="b"><td><a name="noel"></a>noel</td><td>Noel J. Bergman</td><td>noel at devtech.com</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-6">-</span></td><td>-</td></tr><tr class="a"><td><a name="danny"></a>danny</td><td>Danny Angus</td><td>danny at apache.org</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-7">-</span></td><td>-</td></tr><tr class="b"><td><a name="adc"></a>adc</td><td>Alan D. Cabrera</td><td>list at toolazydogs.com</td><td>-</td><td>Developer</td><td>-8</td><td><span id="developer-8">-8</span></td><td>-</td></tr><tr class="a"><td><a name="vincenzo"></a>vincenzo</td><td>Vincenzo Gianferrari Pini</td><td>vincenzo.gianferraripini at praxis.it</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-9">-</span></td><td>-</td></tr><tr class="b"><td><a name="rdonkin"></
 a>rdonkin</td><td>Robert Burrell Donkin</td><td>rdonkin at apache.org</td><td>-</td><td>Developer</td><td>-</td><td><span id="developer-10">-</span></td><td>-</td></tr><tr class="a"><td><a name="niklas"></a>niklas</td><td>Niklas Therning</td><td>niklas(at)apache(dot)org</td><td>Trillian AB</td><td>-</td><td>-</td><td><span id="developer-11">-</span></td><td>-</td></tr><tr class="b"><td><a name="jcheng"></a>jcheng</td><td>Joe Cheng</td><td>joe(at)joecheng(dot)com</td><td>-</td><td>-</td><td>-</td><td><span id="developer-12">-</span></td><td>description=Former author to the mime4j product</td></tr></table></div><div class="section"><h3>Contributors</h3><p>The following additional people have contributed to this project through the way of suggestions, patches or documentation.</p><table class="bodyTable"><tr class="a"><th>Name</th><th>Properties</th></tr><tr class="b"><td>Rob Oxspring</td><td>description=Contributed to the mime4j product</td></tr><tr class="a"><td>Roger Fullert
 on</td><td>description=Wrote spfjava, the first spf implementation in java</td></tr></table></div></div><script type="text/javascript">
+function offsetDate(id, offset) {
+    var now = new Date();
+    var nowTime = now.getTime();
+    var localOffset = now.getTimezoneOffset();
+    var developerTime = nowTime + ( offset * 60 * 60 * 1000 )+ ( localOffset * 60 * 1000 );
+    var developerDate = new Date(developerTime);
+
+    document.getElementById(id).innerHTML = developerDate;
+}
+
+function init(){
+    offsetDate('developer-0', '2');
+    offsetDate('developer-1', '2');
+    offsetDate('developer-8', '-8');
+}
+
+window.onLoad = init();
+</script>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2008
+    
+          The Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+    </script>
+    <script type="text/javascript">
+      _uacct = "UA-1384591-1";
+      urchinTracker();
+    </script>
+  </body>
+</html>

Added: james/site/trunk/www/mpt/antlib/xref-test/allclasses-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/allclasses-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/allclasses-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/allclasses-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,23 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>All Classes</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+    </head>
+    <body>
+
+		<h3>All Classes</h3>
+
+		<ul>
+						<li>
+				<a href="org/apache/james/mpt/ant/TestAddUser.html" target="classFrame">TestAddUser</a>
+			</li>
+						<li>
+				<a href="org/apache/james/mpt/ant/TestRunScripts.html" target="classFrame">TestRunScripts</a>
+			</li>
+			      </ul>
+
+    </body>
+  </html>

Added: james/site/trunk/www/mpt/antlib/xref-test/index.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/index.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/index.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/index.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,22 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+	</head>
+    <frameset cols="20%,80%">
+		<frameset rows="30%,70%">
+			<frame src="overview-frame.html" name="packageListFrame" />
+			<frame src="allclasses-frame.html" name="packageFrame" />
+		</frameset>
+		<frame src="overview-summary.html" name="classFrame" />
+    </frameset>
+    <noframes>
+		<h1>Frame Alert</h1>
+		<p>
+			You don't have frames. Go <a href="overview-summary.html">here</a>
+		</p>
+	</noframes>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestAddUser.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestAddUser.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestAddUser.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestAddUser.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestAddUser xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/james/mpt/ant/TestAddUser.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em>/**<em>***************************************************************</em></em>
+<a name="2" href="#2">2</a>   <em> * Licensed to the Apache Software Foundation (ASF) under one   *</em>
+<a name="3" href="#3">3</a>   <em> * or more contributor license agreements.  See the NOTICE file *</em>
+<a name="4" href="#4">4</a>   <em> * distributed with this work for additional information        *</em>
+<a name="5" href="#5">5</a>   <em> * regarding copyright ownership.  The ASF licenses this file   *</em>
+<a name="6" href="#6">6</a>   <em> * to you under the Apache License, Version 2.0 (the            *</em>
+<a name="7" href="#7">7</a>   <em> * "License"); you may not use this file except in compliance   *</em>
+<a name="8" href="#8">8</a>   <em> * with the License.  You may obtain a copy of the License at   *</em>
+<a name="9" href="#9">9</a>   <em> *                                                              *</em>
+<a name="10" href="#10">10</a>  <em> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a>                 *</em>
+<a name="11" href="#11">11</a>  <em> *                                                              *</em>
+<a name="12" href="#12">12</a>  <em> * Unless required by applicable law or agreed to in writing,   *</em>
+<a name="13" href="#13">13</a>  <em> * software distributed under the License is distributed on an  *</em>
+<a name="14" href="#14">14</a>  <em> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *</em>
+<a name="15" href="#15">15</a>  <em> * KIND, either express or implied.  See the License for the    *</em>
+<a name="16" href="#16">16</a>  <em> * specific language governing permissions and limitations      *</em>
+<a name="17" href="#17">17</a>  <em> * under the License.                                           *</em>
+<a name="18" href="#18">18</a>  <em> ****************************************************************/</em>
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>package</strong> org.apache.james.mpt.ant;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> junit.framework.TestCase;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.james.mpt.DiscardProtocol;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.tools.ant.Project;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.tools.ant.types.resources.Union;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/james/mpt/ant/TestAddUser.html">TestAddUser</a> <strong>extends</strong> TestCase {
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> PORT = 10001;
+<a name="31" href="#31">31</a>      
+<a name="32" href="#32">32</a>      DiscardProtocol fakeServer;
+<a name="33" href="#33">33</a>      
+<a name="34" href="#34">34</a>      DiscardProtocol.Record record;
+<a name="35" href="#35">35</a>      
+<a name="36" href="#36">36</a>      MailProtocolTestTask subject;
+<a name="37" href="#37">37</a>      
+<a name="38" href="#38">38</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="39" href="#39">39</a>          <strong>super</strong>.setUp();
+<a name="40" href="#40">40</a>          fakeServer = <strong>new</strong> DiscardProtocol(PORT);
+<a name="41" href="#41">41</a>          fakeServer.start();
+<a name="42" href="#42">42</a>          record = fakeServer.recordNext();
+<a name="43" href="#43">43</a>          
+<a name="44" href="#44">44</a>          subject = <strong>new</strong> MailProtocolTestTask();
+<a name="45" href="#45">45</a>          subject.setHost(<span class="string">"127.0.0.1"</span>);
+<a name="46" href="#46">46</a>          subject.setPort(PORT+1);
+<a name="47" href="#47">47</a>          subject.add(<strong>new</strong> Union());
+<a name="48" href="#48">48</a>          subject.setProject(<strong>new</strong> Project());
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>protected</strong> <strong>void</strong> tearDown() throws Exception {
+<a name="52" href="#52">52</a>          <strong>super</strong>.tearDown();
+<a name="53" href="#53">53</a>          fakeServer.stop();
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> testShouldExecuteScriptAgainstPort() throws Exception {
+<a name="57" href="#57">57</a>          MailProtocolTestTask.AddUser user = subject.createAddUser();
+<a name="58" href="#58">58</a>          user.setPort(PORT);
+<a name="59" href="#59">59</a>          user.setPasswd(<span class="string">"PASSWORD"</span>);
+<a name="60" href="#60">60</a>          user.setUser(<span class="string">"USER"</span>);
+<a name="61" href="#61">61</a>          <strong>final</strong> String script = <span class="string">"This script adds a user"</span>;
+<a name="62" href="#62">62</a>          user.addText(<span class="string">"C: "</span> + script);
+<a name="63" href="#63">63</a>          subject.execute();
+<a name="64" href="#64">64</a>          assertEquals(script + <span class="string">"\r\n"</span>, record.complete());
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestRunScripts.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestRunScripts.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestRunScripts.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/TestRunScripts.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TestRunScripts xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/james/mpt/ant/TestRunScripts.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em>/**<em>***************************************************************</em></em>
+<a name="2" href="#2">2</a>   <em> * Licensed to the Apache Software Foundation (ASF) under one   *</em>
+<a name="3" href="#3">3</a>   <em> * or more contributor license agreements.  See the NOTICE file *</em>
+<a name="4" href="#4">4</a>   <em> * distributed with this work for additional information        *</em>
+<a name="5" href="#5">5</a>   <em> * regarding copyright ownership.  The ASF licenses this file   *</em>
+<a name="6" href="#6">6</a>   <em> * to you under the Apache License, Version 2.0 (the            *</em>
+<a name="7" href="#7">7</a>   <em> * "License"); you may not use this file except in compliance   *</em>
+<a name="8" href="#8">8</a>   <em> * with the License.  You may obtain a copy of the License at   *</em>
+<a name="9" href="#9">9</a>   <em> *                                                              *</em>
+<a name="10" href="#10">10</a>  <em> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a>                 *</em>
+<a name="11" href="#11">11</a>  <em> *                                                              *</em>
+<a name="12" href="#12">12</a>  <em> * Unless required by applicable law or agreed to in writing,   *</em>
+<a name="13" href="#13">13</a>  <em> * software distributed under the License is distributed on an  *</em>
+<a name="14" href="#14">14</a>  <em> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *</em>
+<a name="15" href="#15">15</a>  <em> * KIND, either express or implied.  See the License for the    *</em>
+<a name="16" href="#16">16</a>  <em> * specific language governing permissions and limitations      *</em>
+<a name="17" href="#17">17</a>  <em> * under the License.                                           *</em>
+<a name="18" href="#18">18</a>  <em> ****************************************************************/</em>
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>package</strong> org.apache.james.mpt.ant;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> java.io.File;
+<a name="23" href="#23">23</a>  <strong>import</strong> java.io.FileWriter;
+<a name="24" href="#24">24</a>  <strong>import</strong> java.io.InputStream;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> junit.framework.TestCase;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.james.mpt.DiscardProtocol;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.tools.ant.Project;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.apache.tools.ant.types.Resource;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.apache.tools.ant.types.resources.StringResource;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.tools.ant.types.resources.Union;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/james/mpt/ant/TestRunScripts.html">TestRunScripts</a> <strong>extends</strong> TestCase {
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SCRIPT = <span class="string">"A script"</span>;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> PORT = 10001;
+<a name="39" href="#39">39</a>      
+<a name="40" href="#40">40</a>      Union stubResourceCollection;
+<a name="41" href="#41">41</a>      Resource stubResource;
+<a name="42" href="#42">42</a>      
+<a name="43" href="#43">43</a>      DiscardProtocol fakeServer;
+<a name="44" href="#44">44</a>      DiscardProtocol.Record record;
+<a name="45" href="#45">45</a>      
+<a name="46" href="#46">46</a>      MailProtocolTestTask subject;
+<a name="47" href="#47">47</a>      
+<a name="48" href="#48">48</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="49" href="#49">49</a>          <strong>super</strong>.setUp();
+<a name="50" href="#50">50</a>          fakeServer = <strong>new</strong> DiscardProtocol(PORT);
+<a name="51" href="#51">51</a>          fakeServer.start();
+<a name="52" href="#52">52</a>          record = fakeServer.recordNext();
+<a name="53" href="#53">53</a>          
+<a name="54" href="#54">54</a>          stubResourceCollection = <strong>new</strong> Union();        
+<a name="55" href="#55">55</a>          stubResource = <strong>new</strong> StringResource(<span class="string">"C: "</span> + SCRIPT);
+<a name="56" href="#56">56</a>          stubResourceCollection.add(stubResource);
+<a name="57" href="#57">57</a>          
+<a name="58" href="#58">58</a>          subject = <strong>new</strong> MailProtocolTestTask();
+<a name="59" href="#59">59</a>          subject.setHost(<span class="string">"127.0.0.1"</span>);
+<a name="60" href="#60">60</a>          subject.setPort(PORT);
+<a name="61" href="#61">61</a>          subject.setProject(<strong>new</strong> Project());
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>protected</strong> <strong>void</strong> tearDown() throws Exception {
+<a name="65" href="#65">65</a>          <strong>super</strong>.tearDown();
+<a name="66" href="#66">66</a>          fakeServer.stop();
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> testIgnoreUnsupportedResource() throws Exception {
+<a name="70" href="#70">70</a>          <strong>final</strong> Resource unsupportedResource = <strong>new</strong> StringResource() {
+<a name="71" href="#71">71</a>              <strong>public</strong> InputStream getInputStream() {
+<a name="72" href="#72">72</a>                  <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="73" href="#73">73</a>              }
+<a name="74" href="#74">74</a>          };
+<a name="75" href="#75">75</a>          stubResourceCollection.add(unsupportedResource);
+<a name="76" href="#76">76</a>          subject.add(stubResourceCollection);
+<a name="77" href="#77">77</a>          subject.execute();
+<a name="78" href="#78">78</a>          assertEquals(SCRIPT +<span class="string">"\r\n"</span>, record.complete());
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>      
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> testRunOneScriptFromCollection() throws Exception {
+<a name="82" href="#82">82</a>          subject.add(stubResourceCollection);
+<a name="83" href="#83">83</a>          subject.execute();
+<a name="84" href="#84">84</a>          assertEquals(SCRIPT +<span class="string">"\r\n"</span>, record.complete());
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>      
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> testRunOneScriptFromAttribute() throws Exception {
+<a name="88" href="#88">88</a>          <strong>final</strong> File file = File.createTempFile(<span class="string">"Test"</span>, <span class="string">"mpt"</span>);
+<a name="89" href="#89">89</a>          file.deleteOnExit();
+<a name="90" href="#90">90</a>          <strong>final</strong> FileWriter writer = <strong>new</strong> FileWriter(file);
+<a name="91" href="#91">91</a>          writer.write(<span class="string">"C: "</span> + SCRIPT);
+<a name="92" href="#92">92</a>          writer.close();
+<a name="93" href="#93">93</a>          subject.setScript(file);
+<a name="94" href="#94">94</a>          subject.execute();
+<a name="95" href="#95">95</a>          assertEquals(SCRIPT +<span class="string">"\r\n"</span>, record.complete());
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,27 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference Package org.apache.james.mpt.ant</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+        	<a href="package-summary.html" target="classFrame">org.apache.james.mpt.ant</a>
+      	</h3>
+
+      	<h3>Classes</h3>
+
+      	<ul>
+      		          	<li>
+            	<a href="TestAddUser.html" target="classFrame">TestAddUser</a>
+          	</li>
+          	          	<li>
+            	<a href="TestRunScripts.html" target="classFrame">TestRunScripts</a>
+          	</li>
+          	      	</ul>
+
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-summary.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-summary.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-summary.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/org/apache/james/mpt/ant/package-summary.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,72 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference Package $name</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+		
+		      	<h2>Package org.apache.james.mpt.ant</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Class Summary</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+        		            	<tr>
+              		<td>
+                		<a href="TestAddUser.html" target="classFrame">TestAddUser</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
+                		<a href="TestRunScripts.html" target="classFrame">TestRunScripts</a>
+              		</td>
+            	</tr>
+				        	</tbody>
+      	</table>
+		
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+				<hr />
+		Copyright &copy; 2008 The Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref-test/overview-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/overview-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/overview-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/overview-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,25 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+			<a href="allclasses-frame.html" target="packageFrame">All Classes</a>
+		</h3>
+
+		<h3>Packages</h3>
+
+		<ul>
+						<li>
+				<a href="org/apache/james/mpt/ant/package-frame.html" target="packageFrame">org.apache.james.mpt.ant</a>
+			</li>
+					</ul>
+
+	</body>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref-test/overview-summary.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/overview-summary.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/overview-summary.html (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/overview-summary.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,64 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+	</head>
+	<body>
+				<div class="overview">
+			<ul>
+				<li class="selected">Overview</li>
+				<li>Package</li>
+			</ul>
+		</div>
+		<div class="framenoframe">
+			<ul>
+				<li>
+					<a href="index.html" target="_top">FRAMES</a>
+				</li>
+				<li>
+    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
+        	  	</li>
+	        </ul>
+      	</div>
+		
+		      	<h2>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Packages</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+    	    	            	<tr>
+              		<td>
+                		<a href="org/apache/james/mpt/ant/package-summary.html">org.apache.james.mpt.ant</a>
+              		</td>
+            	</tr>
+	          	        	</tbody>
+      	</table>
+		
+				<div class="overview">
+			<ul>
+				<li class="selected">Overview</li>
+				<li>Package</li>
+			</ul>
+		</div>
+		<div class="framenoframe">
+			<ul>
+				<li>
+					<a href="index.html" target="_top">FRAMES</a>
+				</li>
+				<li>
+    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
+        	  	</li>
+	        </ul>
+      	</div>
+		
+		<hr />
+		Copyright &copy; 2008 The Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref-test/stylesheet.css
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref-test/stylesheet.css?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref-test/stylesheet.css (added)
+++ james/site/trunk/www/mpt/antlib/xref-test/stylesheet.css Tue Dec  2 12:05:59 2008
@@ -0,0 +1,96 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults  */
+body { 
+	background-color: #fff;
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li	{
+	list-style-type:none ;
+	margin:0;
+	padding:0;
+}
+
+table td{
+	padding: 3px;
+	border: 1px solid #000;
+}
+table{
+	width:100%;
+	border: 1px solid #000;
+	border-collapse: collapse;
+}
+
+div.overview {
+	background-color:#ddd;
+	padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+	display: inline;
+}
+div.framenoframe {
+	text-align: center;
+	font-size: x-small;
+}
+div.framenoframe li {
+	margin: 0 3px 0 3px;
+}
+div.overview li {
+	margin:3px 3px 0 3px;
+	padding: 4px;
+}
+li.selected {
+	background-color:#888;
+	color: #fff;
+	font-weight: bold;
+}
+
+table.summary {
+	margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+	font-weight: bold;
+	text-align: left;
+	padding: 3px;
+}
+table.summary th{
+	background-color:#036;
+	color: #fff;
+}
+table.summary td{
+	background-color:#eee;
+	border: 1px solid black;
+}
+
+em {
+	color: #A00;
+}
+em.comment {
+	color: #390;
+}
+.string {
+	color: #009;
+}
+div#footer {
+	text-align:center;
+}
+#overview {
+	padding:2px;
+}
+            
+            
+hr {
+	height: 1px;
+	color: #000;
+}
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref/allclasses-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/allclasses-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/allclasses-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/allclasses-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,20 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>All Classes</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+    </head>
+    <body>
+
+		<h3>All Classes</h3>
+
+		<ul>
+						<li>
+				<a href="org/apache/james/mpt/ant/MailProtocolTestTask.html" target="classFrame">MailProtocolTestTask</a>
+			</li>
+			      </ul>
+
+    </body>
+  </html>

Added: james/site/trunk/www/mpt/antlib/xref/index.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/index.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/index.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/index.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,22 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+	</head>
+    <frameset cols="20%,80%">
+		<frameset rows="30%,70%">
+			<frame src="overview-frame.html" name="packageListFrame" />
+			<frame src="allclasses-frame.html" name="packageFrame" />
+		</frameset>
+		<frame src="overview-summary.html" name="classFrame" />
+    </frameset>
+    <noframes>
+		<h1>Frame Alert</h1>
+		<p>
+			You don't have frames. Go <a href="overview-summary.html">here</a>
+		</p>
+	</noframes>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/MailProtocolTestTask.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/MailProtocolTestTask.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/MailProtocolTestTask.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/MailProtocolTestTask.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,399 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MailProtocolTestTask xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../../../../../../../../apidocs/org/apache/james/mpt/ant/MailProtocolTestTask.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em>/**<em>***************************************************************</em></em>
+<a name="2" href="#2">2</a>   <em> * Licensed to the Apache Software Foundation (ASF) under one   *</em>
+<a name="3" href="#3">3</a>   <em> * or more contributor license agreements.  See the NOTICE file *</em>
+<a name="4" href="#4">4</a>   <em> * distributed with this work for additional information        *</em>
+<a name="5" href="#5">5</a>   <em> * regarding copyright ownership.  The ASF licenses this file   *</em>
+<a name="6" href="#6">6</a>   <em> * to you under the Apache License, Version 2.0 (the            *</em>
+<a name="7" href="#7">7</a>   <em> * "License"); you may not use this file except in compliance   *</em>
+<a name="8" href="#8">8</a>   <em> * with the License.  You may obtain a copy of the License at   *</em>
+<a name="9" href="#9">9</a>   <em> *                                                              *</em>
+<a name="10" href="#10">10</a>  <em> *   <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a>                 *</em>
+<a name="11" href="#11">11</a>  <em> *                                                              *</em>
+<a name="12" href="#12">12</a>  <em> * Unless required by applicable law or agreed to in writing,   *</em>
+<a name="13" href="#13">13</a>  <em> * software distributed under the License is distributed on an  *</em>
+<a name="14" href="#14">14</a>  <em> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *</em>
+<a name="15" href="#15">15</a>  <em> * KIND, either express or implied.  See the License for the    *</em>
+<a name="16" href="#16">16</a>  <em> * specific language governing permissions and limitations      *</em>
+<a name="17" href="#17">17</a>  <em> * under the License.                                           *</em>
+<a name="18" href="#18">18</a>  <em> ****************************************************************/</em>
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>package</strong> org.apache.james.mpt.ant;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> java.io.File;
+<a name="23" href="#23">23</a>  <strong>import</strong> java.io.FileReader;
+<a name="24" href="#24">24</a>  <strong>import</strong> java.io.IOException;
+<a name="25" href="#25">25</a>  <strong>import</strong> java.io.InputStream;
+<a name="26" href="#26">26</a>  <strong>import</strong> java.io.Reader;
+<a name="27" href="#27">27</a>  <strong>import</strong> java.io.StringReader;
+<a name="28" href="#28">28</a>  <strong>import</strong> java.util.ArrayList;
+<a name="29" href="#29">29</a>  <strong>import</strong> java.util.Collection;
+<a name="30" href="#30">30</a>  <strong>import</strong> java.util.Iterator;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>  <strong>import</strong> org.apache.james.mpt.ExternalHostSystem;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.apache.james.mpt.Monitor;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.apache.james.mpt.ProtocolSessionBuilder;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.apache.james.mpt.Runner;
+<a name="36" href="#36">36</a>  <strong>import</strong> org.apache.james.mpt.ScriptedUserAdder;
+<a name="37" href="#37">37</a>  <strong>import</strong> org.apache.tools.ant.BuildException;
+<a name="38" href="#38">38</a>  <strong>import</strong> org.apache.tools.ant.Project;
+<a name="39" href="#39">39</a>  <strong>import</strong> org.apache.tools.ant.Task;
+<a name="40" href="#40">40</a>  <strong>import</strong> org.apache.tools.ant.types.Resource;
+<a name="41" href="#41">41</a>  <strong>import</strong> org.apache.tools.ant.types.ResourceCollection;
+<a name="42" href="#42">42</a>  <strong>import</strong> org.apache.tools.ant.types.resources.FileResource;
+<a name="43" href="#43">43</a>  <strong>import</strong> org.apache.tools.ant.types.resources.Union;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  <em>/**<em>*</em></em>
+<a name="46" href="#46">46</a>  <em> * Task executes MPT scripts against a server</em>
+<a name="47" href="#47">47</a>  <em> * running on a given port and host.</em>
+<a name="48" href="#48">48</a>  <em> */</em>
+<a name="49" href="#49">49</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/james/mpt/ant/MailProtocolTestTask.html">MailProtocolTestTask</a> <strong>extends</strong> Task implements Monitor {
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>private</strong> <strong>boolean</strong> quiet = false;
+<a name="52" href="#52">52</a>      <strong>private</strong> File script;
+<a name="53" href="#53">53</a>      <strong>private</strong> Union scripts;
+<a name="54" href="#54">54</a>      <strong>private</strong> <strong>int</strong> port = 0;
+<a name="55" href="#55">55</a>      <strong>private</strong> String host = <span class="string">"127.0.0.1"</span>;
+<a name="56" href="#56">56</a>      <strong>private</strong> <strong>boolean</strong> skip = false;
+<a name="57" href="#57">57</a>      <strong>private</strong> String shabang = <strong>null</strong>;
+<a name="58" href="#58">58</a>      <strong>private</strong> Collection&lt;AddUser> users = <strong>new</strong> ArrayList&lt;AddUser>();
+<a name="59" href="#59">59</a>      
+<a name="60" href="#60">60</a>      <em>/**<em>*</em></em>
+<a name="61" href="#61">61</a>  <em>     * Should progress output be suppressed?</em>
+<a name="62" href="#62">62</a>  <em>     * @return true if progress information should be suppressed,</em>
+<a name="63" href="#63">63</a>  <em>     * false otherwise</em>
+<a name="64" href="#64">64</a>  <em>     */</em>
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>boolean</strong> isQuiet() {
+<a name="66" href="#66">66</a>          <strong>return</strong> quiet;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * Sets whether progress output should be suppressed/</em>
+<a name="71" href="#71">71</a>  <em>     * @param quiet true if progress information should be suppressed,</em>
+<a name="72" href="#72">72</a>  <em>     * false otherwise</em>
+<a name="73" href="#73">73</a>  <em>     */</em>
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> setQuiet(<strong>boolean</strong> quiet) {
+<a name="75" href="#75">75</a>          <strong>this</strong>.quiet = quiet;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * Should the execution be skipped?</em>
+<a name="80" href="#80">80</a>  <em>     * @return true if exection should be skipped, </em>
+<a name="81" href="#81">81</a>  <em>     * otherwise false</em>
+<a name="82" href="#82">82</a>  <em>     */</em>
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>boolean</strong> isSkip() {
+<a name="84" href="#84">84</a>          <strong>return</strong> skip;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>*</em></em>
+<a name="88" href="#88">88</a>  <em>     * Sets execution skipping.</em>
+<a name="89" href="#89">89</a>  <em>     * @param skip true to skip excution</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> setSkip(<strong>boolean</strong> skip) {
+<a name="92" href="#92">92</a>          <strong>this</strong>.skip = skip;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em>/**<em>*</em></em>
+<a name="96" href="#96">96</a>  <em>     * Gets the host (either name or number) against which this</em>
+<a name="97" href="#97">97</a>  <em>     * test will run.</em>
+<a name="98" href="#98">98</a>  <em>     * @return host, not null</em>
+<a name="99" href="#99">99</a>  <em>     */</em>
+<a name="100" href="#100">100</a>     <strong>public</strong> String getHost() {
+<a name="101" href="#101">101</a>         <strong>return</strong> host;
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>*</em></em>
+<a name="105" href="#105">105</a> <em>     * Sets the host (either name or number) against which this</em>
+<a name="106" href="#106">106</a> <em>     * test will run.</em>
+<a name="107" href="#107">107</a> <em>     * @param host not null</em>
+<a name="108" href="#108">108</a> <em>     */</em>
+<a name="109" href="#109">109</a>     <strong>public</strong> <strong>void</strong> setHost(String host) {
+<a name="110" href="#110">110</a>         <strong>this</strong>.host = host;
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <em>/**<em>*</em></em>
+<a name="114" href="#114">114</a> <em>     * Gets the port against which this test will run.</em>
+<a name="115" href="#115">115</a> <em>     * @return port number</em>
+<a name="116" href="#116">116</a> <em>     */</em>
+<a name="117" href="#117">117</a>     <strong>public</strong> <strong>int</strong> getPort() {
+<a name="118" href="#118">118</a>         <strong>return</strong> port;
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * Sets the port aginst which this test will run.</em>
+<a name="123" href="#123">123</a> <em>     * @param port port number</em>
+<a name="124" href="#124">124</a> <em>     */</em>
+<a name="125" href="#125">125</a>     <strong>public</strong> <strong>void</strong> setPort(<strong>int</strong> port) {
+<a name="126" href="#126">126</a>         <strong>this</strong>.port = port;
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em>/**<em>*</em></em>
+<a name="130" href="#130">130</a> <em>     * Gets the script to execute.</em>
+<a name="131" href="#131">131</a> <em>     * @return file containing test script</em>
+<a name="132" href="#132">132</a> <em>     */</em>
+<a name="133" href="#133">133</a>     <strong>public</strong> File getScript() {
+<a name="134" href="#134">134</a>         <strong>return</strong> script;
+<a name="135" href="#135">135</a>     }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <em>/**<em>*</em></em>
+<a name="138" href="#138">138</a> <em>     * Sets the script to execute.</em>
+<a name="139" href="#139">139</a> <em>     * @param script not null</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     <strong>public</strong> <strong>void</strong> setScript(File script) {
+<a name="142" href="#142">142</a>         <strong>this</strong>.script = script;
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * Gets script shabang.</em>
+<a name="147" href="#147">147</a> <em>     * This will be substituted for the first server response.</em>
+<a name="148" href="#148">148</a> <em>     * @return script shabang, </em>
+<a name="149" href="#149">149</a> <em>     * or null for no shabang</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>public</strong> String getShabang() {
+<a name="152" href="#152">152</a>         <strong>return</strong> shabang;
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a>     
+<a name="155" href="#155">155</a>     <em>/**<em>*</em></em>
+<a name="156" href="#156">156</a> <em>     * Sets the script shabang.</em>
+<a name="157" href="#157">157</a> <em>     * When not null, this value will be used to be substituted for the </em>
+<a name="158" href="#158">158</a> <em>     * first server response.</em>
+<a name="159" href="#159">159</a> <em>     * @param shabang script shabang, </em>
+<a name="160" href="#160">160</a> <em>     * or null for no shabang.</em>
+<a name="161" href="#161">161</a> <em>     */</em>
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>void</strong> setShabang(String shabang) {
+<a name="163" href="#163">163</a>         <strong>this</strong>.shabang = shabang;
+<a name="164" href="#164">164</a>     }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>     @Override
+<a name="167" href="#167">167</a>     <strong>public</strong> <strong>void</strong> execute() throws BuildException {
+<a name="168" href="#168">168</a>         <strong>if</strong> (port &lt;= 0) {
+<a name="169" href="#169">169</a>             <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Port must be set to a positive integer"</span>);
+<a name="170" href="#170">170</a>         }
+<a name="171" href="#171">171</a>         
+<a name="172" href="#172">172</a>         <strong>if</strong> (scripts == <strong>null</strong> &amp;&amp; script == <strong>null</strong>) {
+<a name="173" href="#173">173</a>             <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Scripts must be specified as an embedded resource collection"</span>); 
+<a name="174" href="#174">174</a>         }
+<a name="175" href="#175">175</a>         
+<a name="176" href="#176">176</a>         <strong>if</strong> (scripts != <strong>null</strong> &amp;&amp; script != <strong>null</strong>) {
+<a name="177" href="#177">177</a>             <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Scripts can be specified either by the script attribute or as resource collections but not both."</span>); 
+<a name="178" href="#178">178</a>         }
+<a name="179" href="#179">179</a>         
+<a name="180" href="#180">180</a>         <strong>for</strong>(<strong>final</strong> Iterator it=users.iterator();it.hasNext();) {
+<a name="181" href="#181">181</a>             <strong>final</strong> AddUser user = (AddUser) it.next();
+<a name="182" href="#182">182</a>             user.validate();
+<a name="183" href="#183">183</a>         }
+<a name="184" href="#184">184</a>         
+<a name="185" href="#185">185</a>         <strong>if</strong>(skip) {
+<a name="186" href="#186">186</a>             log(<span class="string">"Skipping excution"</span>);
+<a name="187" href="#187">187</a>         } <strong>else</strong> {
+<a name="188" href="#188">188</a>             doExecute();
+<a name="189" href="#189">189</a>         }
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <strong>public</strong> <strong>void</strong> add(ResourceCollection resources) {
+<a name="193" href="#193">193</a>         <strong>if</strong> (scripts == <strong>null</strong>) {
+<a name="194" href="#194">194</a>             scripts = <strong>new</strong> Union();
+<a name="195" href="#195">195</a>         }
+<a name="196" href="#196">196</a>         scripts.add(resources);
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a>     
+<a name="199" href="#199">199</a>     <strong>private</strong> <strong>void</strong> doExecute() throws BuildException {
+<a name="200" href="#200">200</a>         <strong>for</strong> (<strong>final</strong> Iterator it=users.iterator();it.hasNext();) {
+<a name="201" href="#201">201</a>             <strong>final</strong> AddUser userAdder = (AddUser) it.next();
+<a name="202" href="#202">202</a>             userAdder.execute();
+<a name="203" href="#203">203</a>         }
+<a name="204" href="#204">204</a>         
+<a name="205" href="#205">205</a>         <strong>final</strong> ExternalHostSystem host = <strong>new</strong> ExternalHostSystem(getHost(), getPort(), <strong>this</strong>, getShabang(), <strong>null</strong>);
+<a name="206" href="#206">206</a>         <strong>final</strong> ProtocolSessionBuilder builder = <strong>new</strong> ProtocolSessionBuilder();
+<a name="207" href="#207">207</a>         
+<a name="208" href="#208">208</a>         <strong>if</strong> (scripts == <strong>null</strong>) {
+<a name="209" href="#209">209</a>             scripts = <strong>new</strong> Union();
+<a name="210" href="#210">210</a>             scripts.add(<strong>new</strong> FileResource(script));
+<a name="211" href="#211">211</a>         }
+<a name="212" href="#212">212</a>     
+<a name="213" href="#213">213</a>         <strong>for</strong> (<strong>final</strong> Iterator it=scripts.iterator();it.hasNext();) {
+<a name="214" href="#214">214</a>             <strong>final</strong> Resource resource = (Resource) it.next();
+<a name="215" href="#215">215</a>             <strong>try</strong> {
+<a name="216" href="#216">216</a>                 <strong>final</strong> Runner runner = <strong>new</strong> Runner();
+<a name="217" href="#217">217</a>                 
+<a name="218" href="#218">218</a>                 <strong>try</strong> {
+<a name="219" href="#219">219</a>                     
+<a name="220" href="#220">220</a>                     <strong>final</strong> InputStream inputStream = resource.getInputStream();
+<a name="221" href="#221">221</a>                     <strong>final</strong> String name = resource.getName();
+<a name="222" href="#222">222</a>                     builder.addProtocolLines(name == <strong>null</strong> ? <span class="string">"[Unknown]"</span> : name, inputStream, runner.getTestElements());
+<a name="223" href="#223">223</a>                     runner.runSessions(host);
+<a name="224" href="#224">224</a>                     
+<a name="225" href="#225">225</a>                 } <strong>catch</strong> (UnsupportedOperationException e) {
+<a name="226" href="#226">226</a>                     log(<span class="string">"Resource cannot be read: "</span> + resource.getName(), Project.MSG_WARN);
+<a name="227" href="#227">227</a>                 }
+<a name="228" href="#228">228</a>             } <strong>catch</strong> (IOException e) {
+<a name="229" href="#229">229</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Cannot load script "</span> + resource.getName(), e);
+<a name="230" href="#230">230</a>             } <strong>catch</strong> (Exception e) {
+<a name="231" href="#231">231</a>                 log(e.getMessage(), Project.MSG_ERR);
+<a name="232" href="#232">232</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"[FAILURE] in script "</span> + resource.getName() + <span class="string">"\n"</span> + e.getMessage(), e);
+<a name="233" href="#233">233</a>             }
+<a name="234" href="#234">234</a>             
+<a name="235" href="#235">235</a>         }
+<a name="236" href="#236">236</a>     
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a>     
+<a name="239" href="#239">239</a>     <strong>public</strong> AddUser createAddUser() {
+<a name="240" href="#240">240</a>         <strong>final</strong> AddUser result = <strong>new</strong> AddUser();
+<a name="241" href="#241">241</a>         users.add(result);
+<a name="242" href="#242">242</a>         <strong>return</strong> result;
+<a name="243" href="#243">243</a>     }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <em>/**<em>*</em></em>
+<a name="246" href="#246">246</a> <em>     * Adds a user.</em>
+<a name="247" href="#247">247</a> <em>     */</em>
+<a name="248" href="#248">248</a>     <strong>public</strong> <strong>class</strong> AddUser {
+<a name="249" href="#249">249</a>         
+<a name="250" href="#250">250</a>         <strong>private</strong> <strong>int</strong> port;
+<a name="251" href="#251">251</a>         <strong>private</strong> String user;
+<a name="252" href="#252">252</a>         <strong>private</strong> String passwd;
+<a name="253" href="#253">253</a>         <strong>private</strong> File script;
+<a name="254" href="#254">254</a>         <strong>private</strong> String scriptText;
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>         <em>/**<em>*</em></em>
+<a name="257" href="#257">257</a> <em>         * Gets the port against which the user addition</em>
+<a name="258" href="#258">258</a> <em>         * script should be executed.</em>
+<a name="259" href="#259">259</a> <em>         * @return port number</em>
+<a name="260" href="#260">260</a> <em>         */</em>
+<a name="261" href="#261">261</a>         <strong>public</strong> <strong>int</strong> getPort() {
+<a name="262" href="#262">262</a>             <strong>return</strong> port;
+<a name="263" href="#263">263</a>         }
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>         <em>/**<em>*</em></em>
+<a name="266" href="#266">266</a> <em>         * Sets the port against which the user addition</em>
+<a name="267" href="#267">267</a> <em>         * script should be executed.</em>
+<a name="268" href="#268">268</a> <em>         * @param port port number</em>
+<a name="269" href="#269">269</a> <em>         */</em>
+<a name="270" href="#270">270</a>         <strong>public</strong> <strong>void</strong> setPort(<strong>int</strong> port) {
+<a name="271" href="#271">271</a>             <strong>this</strong>.port = port;
+<a name="272" href="#272">272</a>         }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>         <em>/**<em>*</em></em>
+<a name="275" href="#275">275</a> <em>         * Gets the password for the user.</em>
+<a name="276" href="#276">276</a> <em>         * @return password not null</em>
+<a name="277" href="#277">277</a> <em>         */</em>
+<a name="278" href="#278">278</a>         <strong>public</strong> String getPasswd() {
+<a name="279" href="#279">279</a>             <strong>return</strong> passwd;
+<a name="280" href="#280">280</a>         }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         <em>/**<em>*</em></em>
+<a name="283" href="#283">283</a> <em>         * Sets the password for the user.</em>
+<a name="284" href="#284">284</a> <em>         * This will be passed in the user creation script.</em>
+<a name="285" href="#285">285</a> <em>         * @param passwd not null</em>
+<a name="286" href="#286">286</a> <em>         */</em>
+<a name="287" href="#287">287</a>         <strong>public</strong> <strong>void</strong> setPasswd(String passwd) {
+<a name="288" href="#288">288</a>             <strong>this</strong>.passwd = passwd;
+<a name="289" href="#289">289</a>         }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>         <em>/**<em>*</em></em>
+<a name="292" href="#292">292</a> <em>         * Gets the name of the user to be created.</em>
+<a name="293" href="#293">293</a> <em>         * @return user name, not null</em>
+<a name="294" href="#294">294</a> <em>         */</em>
+<a name="295" href="#295">295</a>         <strong>public</strong> String getUser() {
+<a name="296" href="#296">296</a>             <strong>return</strong> user;
+<a name="297" href="#297">297</a>         }
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>         <em>/**<em>*</em></em>
+<a name="300" href="#300">300</a> <em>         * Sets the name of the user to be created.</em>
+<a name="301" href="#301">301</a> <em>         * @param user not null</em>
+<a name="302" href="#302">302</a> <em>         */</em>
+<a name="303" href="#303">303</a>         <strong>public</strong> <strong>void</strong> setUser(String user) {
+<a name="304" href="#304">304</a>             <strong>this</strong>.user = user;
+<a name="305" href="#305">305</a>         }
+<a name="306" href="#306">306</a>         
+<a name="307" href="#307">307</a>         <em>/**<em>*</em></em>
+<a name="308" href="#308">308</a> <em>         * Sets user addition script.</em>
+<a name="309" href="#309">309</a> <em>         * @param scriptText not null</em>
+<a name="310" href="#310">310</a> <em>         */</em>
+<a name="311" href="#311">311</a>         <strong>public</strong> <strong>void</strong> addText(String scriptText) {
+<a name="312" href="#312">312</a>             <strong>this</strong>.scriptText = getProject().replaceProperties(scriptText);
+<a name="313" href="#313">313</a>         }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>         <em>/**<em>*</em></em>
+<a name="316" href="#316">316</a> <em>         * Gets the file containing the user creation script.</em>
+<a name="317" href="#317">317</a> <em>         * @return not null</em>
+<a name="318" href="#318">318</a> <em>         */</em>
+<a name="319" href="#319">319</a>         <strong>public</strong> File getScript() {
+<a name="320" href="#320">320</a>             <strong>return</strong> script;
+<a name="321" href="#321">321</a>         }
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>         <em>/**<em>*</em></em>
+<a name="324" href="#324">324</a> <em>         * Sets the file containing the user creation script.</em>
+<a name="325" href="#325">325</a> <em>         * @param script not null</em>
+<a name="326" href="#326">326</a> <em>         */</em>
+<a name="327" href="#327">327</a>         <strong>public</strong> <strong>void</strong> setScript(File script) {
+<a name="328" href="#328">328</a>             <strong>this</strong>.script = script;
+<a name="329" href="#329">329</a>         }
+<a name="330" href="#330">330</a>         
+<a name="331" href="#331">331</a>         <em>/**<em>*</em></em>
+<a name="332" href="#332">332</a> <em>         * Validates mandatory fields have been filled.</em>
+<a name="333" href="#333">333</a> <em>         */</em>
+<a name="334" href="#334">334</a>         <strong>void</strong> validate() throws BuildException {
+<a name="335" href="#335">335</a>             <strong>if</strong> (script == <strong>null</strong> &amp;&amp; scriptText == <strong>null</strong>) {
+<a name="336" href="#336">336</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Either the 'script' attribute must be set, or the body must contain the text of the script"</span>);
+<a name="337" href="#337">337</a>             }
+<a name="338" href="#338">338</a>             
+<a name="339" href="#339">339</a>             <strong>if</strong> (script != <strong>null</strong> &amp;&amp; scriptText != <strong>null</strong>) {
+<a name="340" href="#340">340</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"Choose either script text or script attribute but not both."</span>);
+<a name="341" href="#341">341</a>             }
+<a name="342" href="#342">342</a>             
+<a name="343" href="#343">343</a>             <strong>if</strong> (port &lt;= 0) {
+<a name="344" href="#344">344</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"'port' attribute must be set on AddUser to the port against which the script should run."</span>);
+<a name="345" href="#345">345</a>             }
+<a name="346" href="#346">346</a>         }
+<a name="347" href="#347">347</a>         
+<a name="348" href="#348">348</a>         <em>/**<em>*</em></em>
+<a name="349" href="#349">349</a> <em>         * Creates a user.</em>
+<a name="350" href="#350">350</a> <em>         * @throws BuildException</em>
+<a name="351" href="#351">351</a> <em>         */</em>
+<a name="352" href="#352">352</a>         <strong>void</strong> execute() throws BuildException {
+<a name="353" href="#353">353</a>             validate();
+<a name="354" href="#354">354</a>             <strong>try</strong> {
+<a name="355" href="#355">355</a>                 <strong>final</strong> File scriptFile = getScript();
+<a name="356" href="#356">356</a>                 <strong>final</strong> Reader reader;
+<a name="357" href="#357">357</a>                 <strong>if</strong> (scriptFile == <strong>null</strong>) {
+<a name="358" href="#358">358</a>                     reader = <strong>new</strong> StringReader(scriptText);
+<a name="359" href="#359">359</a>                 } <strong>else</strong> {
+<a name="360" href="#360">360</a>                     reader = <strong>new</strong> FileReader(scriptFile);
+<a name="361" href="#361">361</a>                 }
+<a name="362" href="#362">362</a>                 <strong>final</strong> ScriptedUserAdder adder = <strong>new</strong> ScriptedUserAdder(getHost(), getPort(), MailProtocolTestTask.<strong>this</strong>);
+<a name="363" href="#363">363</a>                 adder.addUser(getUser(), getPasswd(), reader);
+<a name="364" href="#364">364</a>             } <strong>catch</strong> (Exception e) {
+<a name="365" href="#365">365</a>                 log(e.getMessage(), Project.MSG_ERR);
+<a name="366" href="#366">366</a>                 <strong>throw</strong> <strong>new</strong> BuildException(<span class="string">"User addition failed: \n"</span> + e.getMessage(), e);
+<a name="367" href="#367">367</a>             }
+<a name="368" href="#368">368</a>         } 
+<a name="369" href="#369">369</a>     }
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>     <strong>public</strong> <strong>void</strong> note(String message) {
+<a name="372" href="#372">372</a>         <strong>if</strong> (quiet) {
+<a name="373" href="#373">373</a>             log(message, Project.MSG_DEBUG);
+<a name="374" href="#374">374</a>         } <strong>else</strong> {
+<a name="375" href="#375">375</a>             log(message, Project.MSG_INFO);
+<a name="376" href="#376">376</a>         }
+<a name="377" href="#377">377</a>     }
+<a name="378" href="#378">378</a> 
+<a name="379" href="#379">379</a>     <strong>public</strong> <strong>void</strong> debug(<strong>char</strong> <strong>char</strong>acter) {
+<a name="380" href="#380">380</a>         log(<span class="string">"'"</span> + character + <span class="string">"'"</span>, Project.MSG_DEBUG);
+<a name="381" href="#381">381</a>     }
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>     <strong>public</strong> <strong>void</strong> debug(String message) {
+<a name="384" href="#384">384</a>         log(message, Project.MSG_DEBUG);
+<a name="385" href="#385">385</a>     }
+<a name="386" href="#386">386</a> }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,24 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference Package org.apache.james.mpt.ant</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+        	<a href="package-summary.html" target="classFrame">org.apache.james.mpt.ant</a>
+      	</h3>
+
+      	<h3>Classes</h3>
+
+      	<ul>
+      		          	<li>
+            	<a href="MailProtocolTestTask.html" target="classFrame">MailProtocolTestTask</a>
+          	</li>
+          	      	</ul>
+
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-summary.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-summary.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-summary.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/org/apache/james/mpt/ant/package-summary.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,67 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference Package $name</title>
+		<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="style" />
+	</head>
+	<body>
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+		
+		      	<h2>Package org.apache.james.mpt.ant</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Class Summary</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+        		            	<tr>
+              		<td>
+                		<a href="MailProtocolTestTask.html" target="classFrame">MailProtocolTestTask</a>
+              		</td>
+            	</tr>
+				        	</tbody>
+      	</table>
+		
+		      	<div class="overview">
+        	<ul>
+          		<li>
+            		<a href="../../../../../overview-summary.html">Overview</a>
+          		</li>
+          		<li class="selected">Package</li>
+        	</ul>
+      	</div>
+      	<div class="framenoframe">
+        	<ul>
+          		<li>
+            		<a href="../../../../../index.html" target="_top">FRAMES</a>
+          		</li>
+          		<li>
+            		<a href="package-summary.html" target="_top">NO FRAMES</a>
+          		</li>
+        	</ul>
+      	</div>
+				<hr />
+		Copyright &copy; 2008 The Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref/overview-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/overview-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/overview-frame.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/overview-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,25 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+	</head>
+	<body>
+
+		<h3>
+			<a href="allclasses-frame.html" target="packageFrame">All Classes</a>
+		</h3>
+
+		<h3>Packages</h3>
+
+		<ul>
+						<li>
+				<a href="org/apache/james/mpt/ant/package-frame.html" target="packageFrame">org.apache.james.mpt.ant</a>
+			</li>
+					</ul>
+
+	</body>
+</html>
+

Added: james/site/trunk/www/mpt/antlib/xref/overview-summary.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/overview-summary.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/overview-summary.html (added)
+++ james/site/trunk/www/mpt/antlib/xref/overview-summary.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,64 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
+		<title>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</title>
+		<link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+	</head>
+	<body>
+				<div class="overview">
+			<ul>
+				<li class="selected">Overview</li>
+				<li>Package</li>
+			</ul>
+		</div>
+		<div class="framenoframe">
+			<ul>
+				<li>
+					<a href="index.html" target="_top">FRAMES</a>
+				</li>
+				<li>
+    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
+        	  	</li>
+	        </ul>
+      	</div>
+		
+		      	<h2>Apache JAMES MPT AntLib 0.1-SNAPSHOT Reference</h2>
+
+		<table class="summary">
+        	<thead>
+          		<tr>
+            		<th>Packages</th>
+          		</tr>
+        	</thead>
+        	<tbody>
+    	    	            	<tr>
+              		<td>
+                		<a href="org/apache/james/mpt/ant/package-summary.html">org.apache.james.mpt.ant</a>
+              		</td>
+            	</tr>
+	          	        	</tbody>
+      	</table>
+		
+				<div class="overview">
+			<ul>
+				<li class="selected">Overview</li>
+				<li>Package</li>
+			</ul>
+		</div>
+		<div class="framenoframe">
+			<ul>
+				<li>
+					<a href="index.html" target="_top">FRAMES</a>
+				</li>
+				<li>
+    	        	<a href="overview-summary.html" target="_top">NO FRAMES</a>
+        	  	</li>
+	        </ul>
+      	</div>
+		
+		<hr />
+		Copyright &copy; 2008 The Apache Software Foundation. All Rights Reserved.
+	</body>
+</html>
\ No newline at end of file

Added: james/site/trunk/www/mpt/antlib/xref/stylesheet.css
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/antlib/xref/stylesheet.css?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/antlib/xref/stylesheet.css (added)
+++ james/site/trunk/www/mpt/antlib/xref/stylesheet.css Tue Dec  2 12:05:59 2008
@@ -0,0 +1,96 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults  */
+body { 
+	background-color: #fff;
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li	{
+	list-style-type:none ;
+	margin:0;
+	padding:0;
+}
+
+table td{
+	padding: 3px;
+	border: 1px solid #000;
+}
+table{
+	width:100%;
+	border: 1px solid #000;
+	border-collapse: collapse;
+}
+
+div.overview {
+	background-color:#ddd;
+	padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+	display: inline;
+}
+div.framenoframe {
+	text-align: center;
+	font-size: x-small;
+}
+div.framenoframe li {
+	margin: 0 3px 0 3px;
+}
+div.overview li {
+	margin:3px 3px 0 3px;
+	padding: 4px;
+}
+li.selected {
+	background-color:#888;
+	color: #fff;
+	font-weight: bold;
+}
+
+table.summary {
+	margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+	font-weight: bold;
+	text-align: left;
+	padding: 3px;
+}
+table.summary th{
+	background-color:#036;
+	color: #fff;
+}
+table.summary td{
+	background-color:#eee;
+	border: 1px solid black;
+}
+
+em {
+	color: #A00;
+}
+em.comment {
+	color: #390;
+}
+.string {
+	color: #009;
+}
+div#footer {
+	text-align:center;
+}
+#overview {
+	padding:2px;
+}
+            
+            
+hr {
+	height: 1px;
+	color: #000;
+}
\ No newline at end of file

Added: james/site/trunk/www/mpt/apidocs/allclasses-frame.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/mpt/apidocs/allclasses-frame.html?rev=722598&view=auto
==============================================================================
--- james/site/trunk/www/mpt/apidocs/allclasses-frame.html (added)
+++ james/site/trunk/www/mpt/apidocs/allclasses-frame.html Tue Dec  2 12:05:59 2008
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_16) on Tue Dec 02 19:47:53 GMT 2008 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+All Classes (Apache JAMES MPT Project 0.1-SNAPSHOT API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/apache/james/mpt/AbstractProtocolTestFramework.html" title="class in org.apache.james.mpt" target="classFrame">AbstractProtocolTestFramework</A>
+<BR>
+<A HREF="org/apache/james/mpt/AbstractSimpleScriptedTestProtocol.html" title="class in org.apache.james.mpt" target="classFrame">AbstractSimpleScriptedTestProtocol</A>
+<BR>
+<A HREF="org/apache/james/mpt/ExternalHostSystem.html" title="class in org.apache.james.mpt" target="classFrame">ExternalHostSystem</A>
+<BR>
+<A HREF="org/apache/james/mpt/ExternalSessionFactory.html" title="class in org.apache.james.mpt" target="classFrame">ExternalSessionFactory</A>
+<BR>
+<A HREF="org/apache/james/mpt/HostSystem.html" title="interface in org.apache.james.mpt" target="classFrame"><I>HostSystem</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/HostSystem.Continuation.html" title="interface in org.apache.james.mpt" target="classFrame"><I>HostSystem.Continuation</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/InvalidServerResponseException.html" title="class in org.apache.james.mpt" target="classFrame">InvalidServerResponseException</A>
+<BR>
+<A HREF="org/apache/james/mpt/ant/MailProtocolTestTask.html" title="class in org.apache.james.mpt.ant" target="classFrame">MailProtocolTestTask</A>
+<BR>
+<A HREF="org/apache/james/mpt/Monitor.html" title="interface in org.apache.james.mpt" target="classFrame"><I>Monitor</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/NullMonitor.html" title="class in org.apache.james.mpt" target="classFrame">NullMonitor</A>
+<BR>
+<A HREF="org/apache/james/mpt/ProtocolInteractor.html" title="interface in org.apache.james.mpt" target="classFrame"><I>ProtocolInteractor</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/ProtocolSession.html" title="class in org.apache.james.mpt" target="classFrame">ProtocolSession</A>
+<BR>
+<A HREF="org/apache/james/mpt/ProtocolSessionBuilder.html" title="class in org.apache.james.mpt" target="classFrame">ProtocolSessionBuilder</A>
+<BR>
+<A HREF="org/apache/james/mpt/Runner.html" title="class in org.apache.james.mpt" target="classFrame">Runner</A>
+<BR>
+<A HREF="org/apache/james/mpt/ScriptedUserAdder.html" title="class in org.apache.james.mpt" target="classFrame">ScriptedUserAdder</A>
+<BR>
+<A HREF="org/apache/james/mpt/Session.html" title="interface in org.apache.james.mpt" target="classFrame"><I>Session</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/SessionFactory.html" title="interface in org.apache.james.mpt" target="classFrame"><I>SessionFactory</I></A>
+<BR>
+<A HREF="org/apache/james/mpt/SystemLoggingMonitor.html" title="class in org.apache.james.mpt" target="classFrame">SystemLoggingMonitor</A>
+<BR>
+<A HREF="org/apache/james/mpt/UserAdder.html" title="interface in org.apache.james.mpt" target="classFrame"><I>UserAdder</I></A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>