Author: norman
Date: Wed Dec  2 07:02:09 2009
New Revision: 886063

URL: http://svn.apache.org/viewvc?rev=886063&view=rev
Log:
more work on the maven2 plugin (MPT-2)

Modified:
    james/mpt/trunk/mavenplugin/pom.xml
    
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java

Modified: james/mpt/trunk/mavenplugin/pom.xml
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/pom.xml?rev=886063&r1=886062&r2=886063&view=diff
==============================================================================
--- james/mpt/trunk/mavenplugin/pom.xml (original)
+++ james/mpt/trunk/mavenplugin/pom.xml Wed Dec  2 07:02:09 2009
@@ -33,7 +33,7 @@
   <description>Apache JAMES Mail Protocol Tester (MPT) is a library providing 
a framework for the 
 scritable functional testing of ASCII based line protocols. This Maven2 Plugin 
 is an easy interface
 to the library requiring no extra coding.</description>
-  <url>http://james.apache.org/mpt/antlib</url>
+  <url>http://james.apache.org/mpt/mavenplugin</url>
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
@@ -99,7 +99,7 @@
         <extensions>true</extensions>
         <configuration>
                 <instructions>
-                        
<Export-Package>org.apache.james.mpt.ant</Export-Package>
+                        
<Export-Package>org.apache.james.mpt.maven</Export-Package>
                         <Embed-Dependency>*;scope=runtime</Embed-Dependency>
                 </instructions>
         </configuration>
@@ -122,9 +122,9 @@
   </build>
   
   <scm>
-    
<connection>scm:svn:http://svn.apache.org/repos/asf/james/mpt/trunk/antlib</connection>
-    
<developerConnection>scm:svn:https://[email protected]/repos/asf/james/mpt/trunk/antlib</developerConnection>
-    
<url>http://svn.apache.org/viewcvs.cgi/james/mpt/trunk/antlib?root=Apache-SVN</url>
+    
<connection>scm:svn:http://svn.apache.org/repos/asf/james/mpt/trunk/maven</connection>
+    
<developerConnection>scm:svn:https://[email protected]/repos/asf/james/mpt/trunk/maven</developerConnection>
+    
<url>http://svn.apache.org/viewcvs.cgi/james/mpt/trunk/maven?root=Apache-SVN</url>
   </scm>
 
 </project>

Modified: 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
URL: 
http://svn.apache.org/viewvc/james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java?rev=886063&r1=886062&r2=886063&view=diff
==============================================================================
--- 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
 (original)
+++ 
james/mpt/trunk/mavenplugin/src/main/java/org/apache/james/mpt/maven/MailProtocolTestMojo.java
 Wed Dec  2 07:02:09 2009
@@ -23,50 +23,75 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 
 import org.apache.james.mpt.ExternalHostSystem;
 import org.apache.james.mpt.Monitor;
 import org.apache.james.mpt.ProtocolSessionBuilder;
 import org.apache.james.mpt.Runner;
+import org.apache.james.mpt.ScriptedUserAdder;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 
+/**
+ * @goal mpt
+ */
 public class MailProtocolTestMojo extends AbstractMojo implements Monitor{
 
     /**
      *
-     * @parameter default-value="0"
+     * @parameter
+     * @required
      */
     private Integer port;
     
     /**
      *
      * @parameter 
+     * @required
      */
     private File scriptFile;
     
     /**
+     * @required
      * @parameter 
      */
     private String host;
 
-    
+    /**
+     * @parameter 
+     */
+    private String user;
+    /**
+     * @parameter 
+     */
+    private String pass;
     /**
      * @parameter 
      */
     private String shabang;
     
+    /*
+     * (non-Javadoc)
+     * @see org.apache.maven.plugin.AbstractMojo#execute()
+     */
        public void execute() throws MojoExecutionException, 
MojoFailureException {
                validate();
                
-                final ExternalHostSystem hostSystem = new 
ExternalHostSystem(host, port, this, shabang, null);
-            final ProtocolSessionBuilder builder = new 
ProtocolSessionBuilder();
-            
+     
          final Runner runner = new Runner();
          InputStream inputStream;
                try {
                        inputStream = new FileInputStream(scriptFile);
+
+                   final ScriptedUserAdder adder = new ScriptedUserAdder(host, 
port,this);
+               
+                       if (user != null) adder.addUser(user, pass, new 
InputStreamReader(inputStream));
+               
+                       final ExternalHostSystem hostSystem = new 
ExternalHostSystem(host, port, this, shabang, adder);
+                   final ProtocolSessionBuilder builder = new 
ProtocolSessionBuilder();
+                    
                builder.addProtocolLines(scriptFile.getName(), inputStream, 
runner.getTestElements());
                        runner.runSessions(hostSystem);
 
@@ -78,32 +103,42 @@
        
        }
 
+       /**
+        * Validate if the configured parameters are valid
+        * 
+        * @throws MojoFailureException
+        */
        private void validate() throws MojoFailureException {
                if (port <= 0) {
             throw new MojoFailureException("'port' configuration must be 
set.");
                }
                
-               if (host == null) {
-            throw new MojoFailureException("'host' configuration must be 
set.");
-               }
-               
-               if (scriptFile == null ) {
-            throw new MojoFailureException("'scriptFile' configuration must be 
set.");
-               }
-               
                if (scriptFile.exists() == false ) {
             throw new MojoFailureException("'scriptFile' not exists");
                }
                
        }
+       
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#debug(char)
+        */
        public void debug(char character) {
                getLog().debug("'" + character + "'");
        }
 
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#debug(java.lang.String)
+        */
        public void debug(String message) {
                getLog().debug(message);
        }
 
+       /*
+        * (non-Javadoc)
+        * @see org.apache.james.mpt.Monitor#note(java.lang.String)
+        */
        public void note(String message) {
                getLog().debug(message);
        }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to