Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarExplodedMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarExplodedMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarExplodedMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarExplodedMojo.java
 Thu Dec 27 18:42:33 2018
@@ -27,6 +27,7 @@ import org.apache.maven.plugin.MojoExecu
  * @goal exploded
  * @phase package
  * @requiresDependencyResolution runtime
+ * @threadSafe
  */
 public class MarExplodedMojo
     extends AbstractMarMojo

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarInPlaceMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarInPlaceMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarInPlaceMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarInPlaceMojo.java
 Thu Dec 27 18:42:33 2018
@@ -26,6 +26,7 @@ import org.apache.maven.plugin.MojoExecu
  *
  * @goal inplace
  * @requiresDependencyResolution runtime
+ * @threadSafe
  */
 public class MarInPlaceMojo 
   extends AbstractMarMojo

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-mar-maven-plugin/src/main/java/org/apache/axis2/maven2/mar/MarMojo.java
 Thu Dec 27 18:42:33 2018
@@ -39,6 +39,7 @@ import java.io.IOException;
  * @goal mar
  * @phase package
  * @requiresDependencyResolution runtime
+ * @threadSafe
  */
 public class MarMojo extends AbstractMarMojo
 {
@@ -47,14 +48,14 @@ public class MarMojo extends AbstractMar
      *
      * @required
      * @readonly
-     * @parameter expression="${session}"
+     * @parameter property="session"
      */
     private MavenSession session;
     
     /**
      * The directory for the generated mar.
      * 
-     * @parameter expression="${project.build.directory}"
+     * @parameter default-value="${project.build.directory}"
      * @required
      */
     private String outputDirectory;
@@ -62,7 +63,7 @@ public class MarMojo extends AbstractMar
     /**
      * The name of the generated mar.
      * 
-     * @parameter expression="${project.build.finalName}"
+     * @parameter default-value="${project.build.finalName}"
      * @required
      */
     private String marName;
@@ -93,7 +94,7 @@ public class MarMojo extends AbstractMar
      * Whether this is the main artifact being built. Set to 
<code>false</code> if you don't want to install or deploy
      * it to the local repository instead of the default one in an execution.
      * 
-     * @parameter expression="${primaryArtifact}" default-value="true"
+     * @parameter default-value="true"
      */
     private boolean primaryArtifact;
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/pom.xml
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/pom.xml
 Thu Dec 27 18:42:33 2018
@@ -117,11 +117,22 @@
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>com.github.veithen.invoker</groupId>
+                <artifactId>resolver-proxy-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>start</goal>
+                            <goal>stop</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <artifactId>maven-invoker-plugin</artifactId>
                 <executions>
                     <execution>
                         <goals>
-                            <goal>install</goal>
                             <goal>integration-test</goal>
                             <goal>verify</goal>
                         </goals>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/it/AXIS2-5782/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/it/AXIS2-5782/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/it/AXIS2-5782/pom.xml
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/it/AXIS2-5782/pom.xml
 Thu Dec 27 18:42:33 2018
@@ -19,12 +19,9 @@
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
     <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>@pom.groupId@</groupId>
-        <artifactId>axis2</artifactId>
-        <version>@pom.version@</version>
-    </parent>
+    <groupId>test</groupId>
     <artifactId>test</artifactId>
+    <version>1</version>
     <dependencies>
         <dependency>
             <groupId>@pom.groupId@</groupId>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
 Thu Dec 27 18:42:33 2018
@@ -20,6 +20,7 @@
 package org.apache.axis2.maven2.repo;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -60,14 +61,14 @@ import org.codehaus.plexus.util.StringUt
 
 public abstract class AbstractCreateRepositoryMojo extends AbstractMojo {
     /**
-     * @parameter expression="${project.artifacts}"
+     * @parameter property="project.artifacts"
      * @readonly
      * @required
      */
     private Set<Artifact> projectArtifacts;
     
     /**
-     * @parameter expression="${project.collectedProjects}"
+     * @parameter property="project.collectedProjects"
      * @required
      * @readonly
      */
@@ -192,6 +193,13 @@ public abstract class AbstractCreateRepo
      */
     private JAXWSService[] jaxwsServices;
     
+    /**
+     * A list of service descriptions that should be processed to build 
exploded AARs.
+     * 
+     * @parameter
+     */
+    private ServiceDescription[] serviceDescriptions;
+    
     protected abstract String getScope();
     
     protected abstract File getInputDirectory();
@@ -200,7 +208,31 @@ public abstract class AbstractCreateRepo
     
     protected abstract File[] getClassDirectories();
 
-    private void addMessageHandlers(OMElement root, MessageHandler[] handlers, 
String localName) {
+    private static void applyParameters(OMElement parentElement, Parameter[] 
parameters) {
+        if (parameters == null) {
+            return;
+        }
+        for (Parameter parameter : parameters) {
+            OMElement parameterElement = null;
+            for (Iterator<OMElement> it = 
parentElement.getChildrenWithLocalName("parameter"); it.hasNext(); ) {
+                OMElement candidate = it.next();
+                if (candidate.getAttributeValue(new 
QName("name")).equals(parameter.getName())) {
+                    parameterElement = candidate;
+                    break;
+                }
+            }
+            if (parameterElement == null) {
+                parameterElement = 
parentElement.getOMFactory().createOMElement("parameter", null, parentElement);
+                parameterElement.addAttribute("name", parameter.getName(), 
null);
+            }
+            parameterElement.setText(parameter.getValue());
+        }
+    }
+
+    private static void addMessageHandlers(OMElement root, MessageHandler[] 
handlers, String localName) {
+        if (handlers == null) {
+            return;
+        }
         OMElement parent = root.getFirstChildWithName(new QName(localName + 
"s"));
         for (MessageHandler handler : handlers) {
             OMElement element = 
parent.getOMFactory().createOMElement(localName, null, parent);
@@ -208,6 +240,20 @@ public abstract class AbstractCreateRepo
             element.addAttribute("class", handler.getClassName(), null);
         }
     }
+
+    private static void processTransports(OMElement root, Transport[] 
transports, String localName) {
+        if (transports == null) {
+            return;
+        }
+        for (Transport transport : transports) {
+            for (Iterator<OMElement> it = 
root.getChildrenWithLocalName(localName); it.hasNext(); ) {
+                OMElement transportElement = it.next();
+                if (transportElement.getAttributeValue(new 
QName("name")).equals(transport.getName())) {
+                    applyParameters(transportElement, 
transport.getParameters());
+                }
+            }
+        }
+    }
     
     public void execute() throws MojoExecutionException, MojoFailureException {
         Log log = getLog();
@@ -289,6 +335,9 @@ public abstract class AbstractCreateRepo
                     for (File classDirectory : getClassDirectories()) {
                         archiver.addDirectory(classDirectory, includes, new 
String[0]);
                     }
+                    if (service.getResourcesDirectory() != null) {
+                        archiver.addDirectory(service.getResourcesDirectory());
+                    }
                     archiver.createArchive();
                 } catch (ArchiverException ex) {
                     throw new MojoExecutionException("Failed to build " + 
jarName, ex);
@@ -297,6 +346,63 @@ public abstract class AbstractCreateRepo
                 }
             }
         }
+        if (serviceDescriptions != null) {
+            File parentDirectory = new File(outputDirectory, 
servicesDirectory);
+            for (ServiceDescription serviceDescription : serviceDescriptions) {
+                File servicesFile = new 
File(serviceDescription.getDirectory(), "services.xml");
+                File metaInfDirectory;
+                try {
+                    InputStream in = new FileInputStream(servicesFile);
+                    try {
+                        OMDocument doc = 
OMXMLBuilderFactory.createOMBuilder(in).getDocument();
+                        OMElement serviceElement;
+                        {
+                            Iterator<OMElement> it = 
doc.getOMDocumentElement().getChildrenWithLocalName("service");
+                            if (!it.hasNext()) {
+                                throw new MojoFailureException("No service 
found in " + servicesFile);
+                            }
+                            serviceElement = it.next();
+                            if (it.hasNext()) {
+                                throw new MojoFailureException(servicesFile + 
" contains more than one service");
+                            }
+                        }
+                        String serviceName = 
serviceElement.getAttributeValue(new QName("name"));
+                        log.info("Building service " + serviceName);
+                        metaInfDirectory = new File(new File(parentDirectory, 
serviceName), "META-INF");
+                        metaInfDirectory.mkdirs();
+                        if (serviceDescription.getScope() != null) {
+                            serviceElement.addAttribute("scope", 
serviceDescription.getScope(), null);
+                        }
+                        applyParameters(serviceElement, 
serviceDescription.getParameters());
+                        FileOutputStream out = new FileOutputStream(new 
File(metaInfDirectory, "services.xml"));
+                        try {
+                            doc.serialize(out);
+                        } finally {
+                            out.close();
+                        }
+                    } finally {
+                        in.close();
+                    }
+                    DirectoryScanner ds = new DirectoryScanner();
+                    ds.setBasedir(serviceDescription.getDirectory());
+                    ds.setExcludes(new String[] { "services.xml" });
+                    ds.scan();
+                    for (String relativePath : ds.getIncludedFiles()) {
+                        try {
+                            FileUtils.copyFile(
+                                    new 
File(serviceDescription.getDirectory(), relativePath),
+                                    new File(metaInfDirectory, relativePath));
+                        } catch (IOException ex) {
+                            throw new MojoExecutionException("Failed to copy " 
+ relativePath, ex);
+                        }
+                    }
+                } catch (IOException ex) {
+                    throw new MojoExecutionException(ex.getMessage(), ex);
+                } catch (XMLStreamException ex) {
+                    throw new MojoExecutionException(ex.getMessage(), ex);
+                }
+            }
+        }
         if (generatedAxis2xml != null || axis2xml != null) {
             File targetDirectory = configurationDirectory == null
                     ? outputDirectory : new File(outputDirectory, 
configurationDirectory);
@@ -341,8 +447,48 @@ public abstract class AbstractCreateRepo
                                 }
                             }
                         }
+                        applyParameters(root, 
generatedAxis2xml.getParameters());
+                        processTransports(root, 
generatedAxis2xml.getTransportReceivers(), "transportReceiver");
+                        processTransports(root, 
generatedAxis2xml.getTransportSenders(), "transportSender");
                         addMessageHandlers(root, 
generatedAxis2xml.getMessageBuilders(), "messageBuilder");
                         addMessageHandlers(root, 
generatedAxis2xml.getMessageFormatters(), "messageFormatter");
+                        if (generatedAxis2xml.getHandlers() != null) {
+                            for (Handler handler : 
generatedAxis2xml.getHandlers()) {
+                                boolean handlerInserted = false;
+                                for (Iterator<OMElement> phaseOrderIterator = 
root.getChildrenWithLocalName("phaseOrder"); phaseOrderIterator.hasNext(); ) {
+                                    OMElement phaseOrder = 
phaseOrderIterator.next();
+                                    if (phaseOrder.getAttributeValue(new 
QName("type")).equals(handler.getFlow())) {
+                                        for (Iterator<OMElement> phaseIterator 
= phaseOrder.getChildrenWithLocalName("phase"); phaseIterator.hasNext(); ) {
+                                            OMElement phase = 
phaseIterator.next();
+                                            if (phase.getAttributeValue(new 
QName("name")).equals(handler.getPhase())) {
+                                                OMElement handlerElement = 
axis2xmlDoc.getOMFactory().createOMElement("handler", null, phase);
+                                                
handlerElement.addAttribute("name", handler.getName(), null);
+                                                
handlerElement.addAttribute("class", handler.getClassName(), null);
+                                                handlerInserted = true;
+                                                break;
+                                            }
+                                        }
+                                        break;
+                                    }
+                                }
+                                if (!handlerInserted) {
+                                    throw new MojoFailureException("Flow " + 
handler.getFlow() + " and phase " + handler.getPhase() + " not found");
+                                }
+                            }
+                        }
+                        if (generatedAxis2xml.getModules() != null) {
+                            for (String module : 
generatedAxis2xml.getModules()) {
+                                
axis2xmlDoc.getOMFactory().createOMElement("module", null, 
root).addAttribute("ref", module, null);
+                            }
+                        }
+                        if (generatedAxis2xml.getDeployers() != null) {
+                            for (Deployer deployer : 
generatedAxis2xml.getDeployers()) {
+                                OMElement deployerElement = 
axis2xmlDoc.getOMFactory().createOMElement("deployer", null, root);
+                                deployerElement.addAttribute("extension", 
deployer.getExtension(), null);
+                                deployerElement.addAttribute("directory", 
deployer.getDirectory(), null);
+                                deployerElement.addAttribute("class", 
deployer.getClassName(), null);
+                            }
+                        }
                         OutputStream out = new FileOutputStream(axis2xmlFile);
                         try {
                             axis2xmlDoc.serialize(out);

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/ArchiveDeployer.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/ArchiveDeployer.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/ArchiveDeployer.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/ArchiveDeployer.java
 Thu Dec 27 18:42:33 2018
@@ -54,7 +54,7 @@ public class ArchiveDeployer {
         StringBuilder buffer = new StringBuilder(artifact.getArtifactId());
         if (!stripVersion) {
             buffer.append("-");
-            buffer.append(artifact.getVersion());
+            buffer.append(artifact.getBaseVersion());
         }
         buffer.append(".");
         buffer.append(artifact.getType());

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java
 Thu Dec 27 18:42:33 2018
@@ -30,6 +30,7 @@ import org.apache.maven.artifact.Artifac
  * @goal create-repository
  * @phase package
  * @requiresDependencyResolution runtime
+ * @threadSafe
  */
 public class CreateRepositoryMojo extends AbstractCreateRepositoryMojo {
     /**
@@ -47,7 +48,7 @@ public class CreateRepositoryMojo extend
     private File outputDirectory;
     
     /**
-     * @parameter expression="${project.build.outputDirectory}"
+     * @parameter property="project.build.outputDirectory"
      * @readonly
      */
     private File buildOutputDirectory;

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java
 Thu Dec 27 18:42:33 2018
@@ -33,6 +33,7 @@ import org.apache.maven.plugin.MojoFailu
  * @goal create-test-repository
  * @phase process-test-classes
  * @requiresDependencyResolution test
+ * @threadSafe
  */
 public class CreateTestRepositoryMojo extends AbstractCreateRepositoryMojo {
     /**
@@ -50,19 +51,19 @@ public class CreateTestRepositoryMojo ex
     private File outputDirectory;
     
     /**
-     * @parameter expression="${maven.test.skip}"
+     * @parameter property="maven.test.skip"
      * @readonly
      */
     private boolean skip;
     
     /**
-     * @parameter expression="${project.build.outputDirectory}"
+     * @parameter property="project.build.outputDirectory"
      * @readonly
      */
     private File buildOutputDirectory;
     
     /**
-     * @parameter expression="${project.build.testOutputDirectory}"
+     * @parameter property="project.build.testOutputDirectory"
      * @readonly
      */
     private File buildTestOutputDirectory;

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/GeneratedAxis2Xml.java
 Thu Dec 27 18:42:33 2018
@@ -19,9 +19,39 @@
 package org.apache.axis2.maven2.repo;
 
 public class GeneratedAxis2Xml {
+    private Parameter[] parameters;
+    private Transport[] transportReceivers;
+    private Transport[] transportSenders;
     private MessageHandler[] messageBuilders;
     private MessageHandler[] messageFormatters;
+    private Handler[] handlers;
+    private String[] modules;
+    private Deployer[] deployers;
     
+    public Parameter[] getParameters() {
+        return parameters;
+    }
+
+    public void setParameters(Parameter[] parameters) {
+        this.parameters = parameters;
+    }
+
+    public Transport[] getTransportReceivers() {
+        return transportReceivers;
+    }
+
+    public void setTransportReceivers(Transport[] transportReceivers) {
+        this.transportReceivers = transportReceivers;
+    }
+
+    public Transport[] getTransportSenders() {
+        return transportSenders;
+    }
+
+    public void setTransportSenders(Transport[] transportSenders) {
+        this.transportSenders = transportSenders;
+    }
+
     public MessageHandler[] getMessageBuilders() {
         return messageBuilders;
     }
@@ -37,4 +67,28 @@ public class GeneratedAxis2Xml {
     public void setMessageFormatters(MessageHandler[] messageFormatters) {
         this.messageFormatters = messageFormatters;
     }
+
+    public Handler[] getHandlers() {
+        return handlers;
+    }
+
+    public void setHandlers(Handler[] handlers) {
+        this.handlers = handlers;
+    }
+    
+    public String[] getModules() {
+        return modules;
+    }
+
+    public void setModules(String[] modules) {
+        this.modules = modules;
+    }
+
+    public Deployer[] getDeployers() {
+        return deployers;
+    }
+
+    public void setDeployers(Deployer[] deployers) {
+        this.deployers = deployers;
+    }
 }

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java
 Thu Dec 27 18:42:33 2018
@@ -18,9 +18,12 @@
  */
 package org.apache.axis2.maven2.repo;
 
+import java.io.File;
+
 public final class JAXWSService {
     private String name;
     private String[] packages;
+    private File resourcesDirectory;
     
     public String getName() {
         return name;
@@ -37,4 +40,12 @@ public final class JAXWSService {
     public void setPackages(String[] packages) {
         this.packages = packages;
     }
+
+    public File getResourcesDirectory() {
+        return resourcesDirectory;
+    }
+
+    public void setResourcesDirectory(File resourcesDirectory) {
+        this.resourcesDirectory = resourcesDirectory;
+    }
 }

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/pom.xml
 Thu Dec 27 18:42:33 2018
@@ -118,7 +118,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-xmlbeans</artifactId>
+            <artifactId>axis2-xmlbeans-codegen</artifactId>
             <version>${project.version}</version>
             <exclusions>
                 <exclusion>
@@ -129,7 +129,7 @@
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>axis2-jaxbri</artifactId>
+            <artifactId>axis2-jaxbri-codegen</artifactId>
             <version>${project.version}</version>
             <scope>runtime</scope>
             <exclusions>
@@ -190,11 +190,22 @@
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>com.github.veithen.invoker</groupId>
+                <artifactId>resolver-proxy-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>start</goal>
+                            <goal>stop</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <artifactId>maven-invoker-plugin</artifactId>
                 <executions>
                     <execution>
                         <goals>
-                            <goal>install</goal>
                             <goal>integration-test</goal>
                             <goal>verify</goal>
                         </goals>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/AbstractWSDL2CodeMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/AbstractWSDL2CodeMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/AbstractWSDL2CodeMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/AbstractWSDL2CodeMojo.java
 Thu Dec 27 18:42:33 2018
@@ -39,7 +39,7 @@ public abstract class AbstractWSDL2CodeM
     /**
      * The maven project.
      *
-     * @parameter expression="${project}"
+     * @parameter property="project"
      * @readonly
      * @required
      */
@@ -48,7 +48,7 @@ public abstract class AbstractWSDL2CodeM
     /**
      * The WSDL file, which is being read.
      *
-     * @parameter expression="${axis2.wsdl2code.wsdlFile}" 
default-value="src/main/resources/service.wsdl"
+     * @parameter property="axis2.wsdl2code.wsdlFile" 
default-value="src/main/resources/service.wsdl"
      */
     private String wsdlFile;
 
@@ -56,28 +56,28 @@ public abstract class AbstractWSDL2CodeM
      * Package name of the generated sources; will be used to create a package 
structure below the
      * output directory.
      *
-     * @parameter expression="${axis2.wsdl2code.package}"
+     * @parameter property="axis2.wsdl2code.package"
      */
     private String packageName;
 
     /**
      * The programming language of the generated sources.
      *
-     * @parameter expression="${axis2.wsdl2code.language}" default-value="java"
+     * @parameter property="axis2.wsdl2code.language" default-value="java"
      */
     private String language;
 
     /**
      * The databinding framework, which is being used by the generated sources.
      *
-     * @parameter expression="${axis2.wsdl2code.databindingName}" 
default-value="adb"
+     * @parameter property="axis2.wsdl2code.databindingName" 
default-value="adb"
      */
     private String databindingName;
 
     /**
      * The binding file for JiBX databinding.
      *
-     * @parameter expression="${axis2.wsdl2code.jibxBindingFile}"
+     * @parameter property="axis2.wsdl2code.jibxBindingFile"
      */
     private String jibxBindingFile;
 
@@ -85,7 +85,7 @@ public abstract class AbstractWSDL2CodeM
      * Port name, for which to generate sources. By default, sources will be 
generated for a
      * randomly picked port.
      *
-     * @parameter expression="${axis2.wsdl2code.portName}"
+     * @parameter property="axis2.wsdl2code.portName"
      */
     private String portName;
 
@@ -93,35 +93,35 @@ public abstract class AbstractWSDL2CodeM
      * Service name, for which to generate sources. By default, sources will 
be generated for all
      * services.
      *
-     * @parameter expression="${axis2.wsdl2code.serviceName}"
+     * @parameter property="axis2.wsdl2code.serviceName"
      */
     private String serviceName;
 
     /**
      * Mode, for which sources are being generated; either of "sync", "async" 
or "both".
      *
-     * @parameter expression="${axis2.wsdl2code.syncMode}" default-value="both"
+     * @parameter property="axis2.wsdl2code.syncMode" default-value="both"
      */
     private String syncMode;
 
     /**
      * Whether server side sources are being generated.
      *
-     * @parameter expression="${axis2.wsdl2code.generateServerSide}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.generateServerSide" 
default-value="false"
      */
     private boolean generateServerSide;
 
     /**
      * Whether a test case is being generated.
      *
-     * @parameter expression="${axis2.wsdl2code.generateTestCase}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.generateTestCase" 
default-value="false"
      */
     private boolean generateTestcase;
 
     /**
      * Whether a "services.xml" file is being generated.
      *
-     * @parameter expression="${axis2.wsdl2code.generateServicesXml}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.generateServicesXml" 
default-value="false"
      */
     private boolean generateServicesXml;
 
@@ -129,46 +129,46 @@ public abstract class AbstractWSDL2CodeM
      * Whether to generate simply all classes. This is only valid in 
conjunction with
      * "generateServerSide".
      *
-     * @parameter expression="${axis2.wsdl2code.generateAllClasses}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.generateAllClasses" 
default-value="false"
      */
     private boolean generateAllClasses;
 
     /**
      * Whether to unpack classes.
      *
-     * @parameter expression="${axis2.wsdl2code.unpackClasses}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.unpackClasses" 
default-value="false"
      */
     private boolean unpackClasses;
 
     /**
      * Whether to generate the server side interface.
      *
-     * @parameter expression="${axis2.wsdl2code.generateServerSideInterface}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.generateServerSideInterface" 
default-value="false"
      */
     private boolean generateServerSideInterface = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.repositoryPath}"
+     * @parameter property="axis2.wsdl2code.repositoryPath"
      */
     private String repositoryPath = null;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.externalMapping}"
+     * @parameter property="axis2.wsdl2code.externalMapping"
      */
     private File externalMapping = null;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.wsdlVersion}" 
default-value="1.1"
+     * @parameter property="axis2.wsdl2code.wsdlVersion" default-value="1.1"
      */
     private String wsdlVersion;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.targetSourceFolderLocation}" 
default-value="src"
+     * @parameter property="axis2.wsdl2code.targetSourceFolderLocation" 
default-value="src"
      */
     private String targetSourceFolderLocation;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.targetResourcesFolderLocation}"
+     * @parameter property="axis2.wsdl2code.targetResourcesFolderLocation"
      */
     private String targetResourcesFolderLocation = null;
 
@@ -176,56 +176,56 @@ public abstract class AbstractWSDL2CodeM
      * This will select between wrapped and unwrapped during code generation. 
Maps to the -uw option
      * of the command line tool.
      * 
-     * @parameter expression="${axis2.wsdl2code.unwrap}" default-value="false"
+     * @parameter property="axis2.wsdl2code.unwrap" default-value="false"
      */
     private boolean unwrap = false;
 
     /**
      * Set this to true to generate code for all ports.
      * 
-     * @parameter expression="${axis2.wsdl2code.allPorts}" 
default-value="false"
+     * @parameter property="axis2.wsdl2code.allPorts" default-value="false"
      */
     private boolean allPorts = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.backwardCompatible}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.backwardCompatible" 
default-value="false" *
      */
     private boolean backwardCompatible = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.flattenFiles}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.flattenFiles" 
default-value="false" *
      */
     private boolean flattenFiles = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.skipMessageReceiver}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.skipMessageReceiver" 
default-value="false" *
      */
     private boolean skipMessageReceiver = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.skipBuildXML}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.skipBuildXML" 
default-value="false" *
      */
     private boolean skipBuildXML = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.skipWSDL}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.skipWSDL" default-value="false" *
      */
     private boolean skipWSDL = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.overWrite}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.overWrite" default-value="false" *
      */
     private boolean overWrite = false;
 
     /**
-     * @parameter expression="${axis2.wsdl2code.suppressPrefixes}" 
default-value="false" *
+     * @parameter property="axis2.wsdl2code.suppressPrefixes" 
default-value="false" *
      */
     private boolean suppressPrefixes = false;
 
     /**
      * Specify databinding specific extra options
      *
-     * @parameter expression="${axis2.java2wsdl.options}"
+     * @parameter property="axis2.java2wsdl.options"
      */
     private Properties options;
 
@@ -234,7 +234,7 @@ public abstract class AbstractWSDL2CodeM
      * this parameter is discouraged. In general, you should use the {@code 
namespaceUris}
      * parameter. However, the latter cannot be set on the command line.
      * 
-     * @parameter expression="${axis2.wsdl2code.namespaceToPackages}"
+     * @parameter property="axis2.wsdl2code.namespaceToPackages"
      */
     private String namespaceToPackages = null;
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateSourcesMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateSourcesMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateSourcesMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateSourcesMojo.java
 Thu Dec 27 18:42:33 2018
@@ -27,12 +27,13 @@ import org.apache.maven.project.MavenPro
  * 
  * @goal generate-sources
  * @phase generate-sources
+ * @threadSafe
  */
 public class GenerateSourcesMojo extends AbstractWSDL2CodeMojo {
     /**
      * The output directory, where the generated sources are being created.
      *
-     * @parameter expression="${axis2.wsdl2code.target}" 
default-value="${project.build.directory}/generated-sources/wsdl2code"
+     * @parameter property="axis2.wsdl2code.target" 
default-value="${project.build.directory}/generated-sources/wsdl2code"
      */
     private File outputDirectory;
     

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateTestSourcesMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateTestSourcesMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateTestSourcesMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/GenerateTestSourcesMojo.java
 Thu Dec 27 18:42:33 2018
@@ -29,12 +29,13 @@ import org.apache.maven.project.MavenPro
  * 
  * @goal generate-test-sources
  * @phase generate-test-sources
+ * @threadSafe
  */
 public class GenerateTestSourcesMojo extends AbstractWSDL2CodeMojo {
     /**
      * The output directory, where the generated sources are being created.
      *
-     * @parameter expression="${axis2.wsdl2code.target}" 
default-value="${project.build.directory}/generated-test-sources/wsdl2code"
+     * @parameter property="axis2.wsdl2code.target" 
default-value="${project.build.directory}/generated-test-sources/wsdl2code"
      */
     private File outputDirectory;
     

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/WSDL2CodeMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/WSDL2CodeMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/WSDL2CodeMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-wsdl2code-maven-plugin/src/main/java/org/apache/axis2/maven2/wsdl2code/WSDL2CodeMojo.java
 Thu Dec 27 18:42:33 2018
@@ -28,6 +28,7 @@ import org.apache.maven.project.MavenPro
  * 
  * @goal wsdl2code
  * @phase generate-sources
+ * @threadSafe
  * @deprecated This goal is identical to axis2-wsdl2code:generate-sources; 
either switch to that
  *             goal or use the new axis2-wsdl2code:generate-test-sources goal 
if you need to
  *             generate code for use in unit tests only.
@@ -36,7 +37,7 @@ public class WSDL2CodeMojo extends Gener
     /**
      * The output directory, where the generated sources are being created.
      *
-     * @parameter expression="${axis2.wsdl2code.target}" 
default-value="${project.build.directory}/generated-sources/axis2/wsdl2code"
+     * @parameter property="axis2.wsdl2code.target" 
default-value="${project.build.directory}/generated-sources/axis2/wsdl2code"
      */
     private File outputDirectory;
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/AbstractXSD2JavaMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/AbstractXSD2JavaMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/AbstractXSD2JavaMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/AbstractXSD2JavaMojo.java
 Thu Dec 27 18:42:33 2018
@@ -36,7 +36,7 @@ public abstract class AbstractXSD2JavaMo
     /**
      * The maven project.
      * 
-     * @parameter expression="${project}"
+     * @parameter property="project"
      * @readonly
      * @required
      */

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateSourcesMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateSourcesMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateSourcesMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateSourcesMojo.java
 Thu Dec 27 18:42:33 2018
@@ -27,6 +27,7 @@ import org.apache.maven.project.MavenPro
  * 
  * @goal generate-sources
  * @phase generate-sources
+ * @threadSafe
  */
 public class GenerateSourcesMojo extends AbstractXSD2JavaMojo {
     /**

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateTestSourcesMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateTestSourcesMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateTestSourcesMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/axis2-xsd2java-maven-plugin/src/main/java/org/apache/axis2/maven/xsd2java/GenerateTestSourcesMojo.java
 Thu Dec 27 18:42:33 2018
@@ -29,6 +29,7 @@ import org.apache.maven.project.MavenPro
  * 
  * @goal generate-test-sources
  * @phase generate-test-sources
+ * @threadSafe
  */
 public class GenerateTestSourcesMojo extends AbstractXSD2JavaMojo {
     /**

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/simple-server-maven-plugin/src/main/java/org/apache/axis2/maven2/server/SimpleHttpServerMojo.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/tool/simple-server-maven-plugin/src/main/java/org/apache/axis2/maven2/server/SimpleHttpServerMojo.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/simple-server-maven-plugin/src/main/java/org/apache/axis2/maven2/server/SimpleHttpServerMojo.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/tool/simple-server-maven-plugin/src/main/java/org/apache/axis2/maven2/server/SimpleHttpServerMojo.java
 Thu Dec 27 18:42:33 2018
@@ -42,6 +42,7 @@ import static org.apache.axis2.maven2.se
  * @goal run 
  * @execute phase="compile"  // TODO - check this again.
  * @requiresDependencyResolution runtime 
+ * @threadSafe
  */
 public class SimpleHttpServerMojo extends AbstractMojo {
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/BinaryFormatter.java
 Thu Dec 27 18:42:33 2018
@@ -18,7 +18,6 @@
  */
 package org.apache.axis2.format;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.URL;
@@ -36,12 +35,6 @@ import org.apache.axis2.transport.http.u
 import org.apache.axis2.transport.base.BaseConstants;
 
 public class BinaryFormatter implements MessageFormatterEx {
-    public byte[] getBytes(MessageContext messageContext, OMOutputFormat 
format) throws AxisFault {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        writeTo(messageContext, format, baos, true);
-        return baos.toByteArray();
-    }
-
     private DataHandler getDataHandler(MessageContext messageContext) {
         OMElement firstChild = 
messageContext.getEnvelope().getBody().getFirstElement();
         if 
(BaseConstants.DEFAULT_BINARY_WRAPPER.equals(firstChild.getQName())) {

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/MessageFormatterExAdapter.java
 Thu Dec 27 18:42:33 2018
@@ -23,7 +23,10 @@ import java.net.URL;
 
 import javax.activation.DataSource;
 
-import org.apache.axiom.attachments.ByteArrayDataSource;
+import org.apache.axiom.blob.BlobDataSource;
+import org.apache.axiom.blob.Blobs;
+import org.apache.axiom.blob.MemoryBlob;
+import org.apache.axiom.blob.MemoryBlobOutputStream;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
@@ -33,7 +36,7 @@ import org.apache.axis2.transport.Messag
  * Adapter to add the {@link MessageFormatterEx} interface to an
  * existing {@link MessageFormatter}.
  * It implements the {@link MessageFormatterEx#getDataSource(MessageContext, 
OMOutputFormat, String)} method
- * using {@link MessageFormatter#getBytes(MessageContext, OMOutputFormat)} and
+ * using {@link MessageFormatter#writeTo(MessageContext, OMOutputFormat, 
OutputStream, boolean)} and
  * {@link MessageFormatter#getContentType(MessageContext, OMOutputFormat, 
String)}.
  */
 public class MessageFormatterExAdapter implements MessageFormatterEx {
@@ -46,9 +49,11 @@ public class MessageFormatterExAdapter i
     public DataSource getDataSource(MessageContext messageContext,
                                     OMOutputFormat format,
                                     String soapAction) throws AxisFault {
-        return new ByteArrayDataSource(
-                getBytes(messageContext, format),
-                getContentType(messageContext, format, soapAction));
+        MemoryBlob blob = Blobs.createMemoryBlob();
+        MemoryBlobOutputStream out = blob.getOutputStream();
+        writeTo(messageContext, format, out, false);
+        out.close();
+        return new BlobDataSource(blob, getContentType(messageContext, format, 
soapAction));
     }
 
     public String formatSOAPAction(MessageContext messageContext,
@@ -57,11 +62,6 @@ public class MessageFormatterExAdapter i
         return messageFormatter.formatSOAPAction(messageContext, format, 
soapAction);
     }
 
-    public byte[] getBytes(MessageContext messageContext,
-                           OMOutputFormat format) throws AxisFault {
-        return messageFormatter.getBytes(messageContext, format);
-    }
-
     public String getContentType(MessageContext messageContext,
                                  OMOutputFormat format,
                                  String soapAction) {

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/main/java/org/apache/axis2/format/PlainTextFormatter.java
 Thu Dec 27 18:42:33 2018
@@ -26,7 +26,6 @@ import org.apache.axiom.om.OMOutputForma
 import org.apache.axiom.om.OMElement;
 import org.apache.axis2.transport.base.BaseConstants;
 
-import java.io.ByteArrayOutputStream;
 import java.io.OutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
@@ -36,13 +35,6 @@ import java.net.URL;
 import javax.activation.DataSource;
 
 public class PlainTextFormatter implements MessageFormatterEx {
-
-    public byte[] getBytes(MessageContext messageContext, OMOutputFormat 
format) throws AxisFault {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        writeTo(messageContext, format, baos, true);
-        return baos.toByteArray();
-    }
-
     public void writeTo(MessageContext messageContext, OMOutputFormat format, 
OutputStream outputStream, boolean preserve) throws AxisFault {
         OMElement textElt = 
messageContext.getEnvelope().getBody().getFirstElement();
         if (BaseConstants.DEFAULT_TEXT_WRAPPER.equals(textElt.getQName())) {

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/test/java/org/apache/axis2/format/PlainTextFormatterTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/test/java/org/apache/axis2/format/PlainTextFormatterTest.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/test/java/org/apache/axis2/format/PlainTextFormatterTest.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/base/src/test/java/org/apache/axis2/format/PlainTextFormatterTest.java
 Thu Dec 27 18:42:33 2018
@@ -46,22 +46,6 @@ public class PlainTextFormatterTest exte
                return messageContext;
        }
        
-       private void testGetBytes(String encoding) throws Exception {
-               MessageContext messageContext = 
createMessageContext(testString);
-        OMOutputFormat format = new OMOutputFormat();
-        format.setCharSetEncoding(encoding);
-        byte[] bytes = new PlainTextFormatter().getBytes(messageContext, 
format);
-        assertEquals(testString, new String(bytes, encoding));
-       }
-       
-       public void testGetBytesUTF8() throws Exception {
-               testGetBytes("UTF-8");
-       }
-       
-       public void testGetBytesLatin1() throws Exception {
-               testGetBytes("ISO-8859-1");
-       }
-       
        private void testWriteTo(String encoding) throws Exception {
                MessageContext messageContext = 
createMessageContext(testString);
         OMOutputFormat format = new OMOutputFormat();

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractAgent.java
 Thu Dec 27 18:42:33 2018
@@ -153,8 +153,7 @@ public class AbstractAgent {
     }
 
     protected void populateRequestAttributes(HttpServletRequest req) {
-        HashMap services = configContext.getAxisConfiguration().getServices();
-        req.setAttribute(Constants.SERVICE_MAP, services);
+        req.setAttribute("configContext", configContext);
         req.setAttribute(Constants.SERVICE_PATH, 
configContext.getServicePath());
     }
 }

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPTransportSender.java
 Thu Dec 27 18:42:33 2018
@@ -334,7 +334,7 @@ public abstract class AbstractHTTPTransp
                                                            
HTTPConstants.COMPRESSION_GZIP);
                 try {
                     out = new GZIPOutputStream(out);
-                    out.write(messageFormatter.getBytes(msgContext, format));
+                    messageFormatter.writeTo(msgContext, format, out, false);
                     ((GZIPOutputStream) out).finish();
                     out.flush();
                 } catch (IOException e) {

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/jms/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/jms/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- axis/axis2/java/core/branches/hermetic-tests/modules/transport/jms/pom.xml 
(original)
+++ axis/axis2/java/core/branches/hermetic-tests/modules/transport/jms/pom.xml 
Thu Dec 27 18:42:33 2018
@@ -43,25 +43,23 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.0</version>
+                <groupId>com.github.veithen.alta</groupId>
+                <artifactId>alta-maven-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>copy</id>
                         <phase>generate-test-resources</phase>
                         <goals>
-                            <goal>copy</goal>
+                            <goal>generate-properties</goal>
                         </goals>
                         <configuration>
-                            <stripVersion>true</stripVersion>
-                            <artifactItems>
-                                <artifactItem>
+                            <name>aspectjweaver</name>
+                            <value>%file%</value>
+                            <artifacts>
+                                <artifact>
                                     <groupId>org.aspectj</groupId>
                                     <artifactId>aspectjweaver</artifactId>
-                                    
<outputDirectory>target/lib</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
+                                </artifact>
+                            </artifacts>
                         </configuration>
                     </execution>
                 </executions>
@@ -76,7 +74,7 @@
                             <value>file:../../log4j.properties</value>
                         </property>
                     </systemProperties>
-                    <argLine>-javaagent:target/lib/aspectjweaver.jar -Xms64m 
-Xmx128m</argLine>
+                    <argLine>${argLine} -javaagent:${aspectjweaver} -Xms64m 
-Xmx128m</argLine>
                 </configuration>
             </plugin>
             <plugin>
@@ -111,43 +109,43 @@
             <version>${project.version}</version>
         </dependency>
 
-      <dependency>
-          <groupId>org.apache.axis2</groupId>
-          <artifactId>axis2-transport-testkit</artifactId>
-          <version>${project.version}</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.mockejb</groupId>
-          <artifactId>mockejb</artifactId>
-          <version>0.6-beta2</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.apache.qpid</groupId>
-          <artifactId>qpid-broker</artifactId>
-          <version>0.18</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.apache.qpid</groupId>
-          <artifactId>qpid-client</artifactId>
-          <version>0.18</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.apache.activemq</groupId>
-          <artifactId>activemq-core</artifactId>
-          <version>5.1.0</version>
-          <scope>test</scope>
-          <exclusions>
-              <!-- We want to choose the JAF implementation ourselves -->
-              <exclusion>
-                  <groupId>javax.activation</groupId>
-                  <artifactId>activation</artifactId>
-              </exclusion>
-          </exclusions>
-      </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-testkit</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockejb</groupId>
+            <artifactId>mockejb</artifactId>
+            <version>0.6-beta2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.qpid</groupId>
+            <artifactId>qpid-broker</artifactId>
+            <version>0.18</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.qpid</groupId>
+            <artifactId>qpid-client</artifactId>
+            <version>0.18</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-core</artifactId>
+            <version>5.1.0</version>
+            <scope>test</scope>
+            <exclusions>
+                <!-- We want to choose the JAF implementation ourselves -->
+                <exclusion>
+                    <groupId>javax.activation</groupId>
+                    <artifactId>activation</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
@@ -156,9 +154,8 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jta_1.0.1B_spec</artifactId>
-            <version>${jta-spec.version}</version>
+            <groupId>javax.transaction</groupId>
+            <artifactId>javax.transaction-api</artifactId>
         </dependency>
         
         <dependency>
@@ -180,7 +177,6 @@
     
     <properties>
         <jms-1.1-spec.version>1.1</jms-1.1-spec.version>
-        <jta-spec.version>1.0</jta-spec.version>
     </properties>
 
 </project>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/pom.xml 
(original)
+++ axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/pom.xml 
Thu Dec 27 18:42:33 2018
@@ -19,116 +19,114 @@
   -->
 
 <project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.axis2</groupId>
+        <artifactId>axis2</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../../pom.xml</relativePath>
+    </parent>
+
     <groupId>org.apache.axis2</groupId>
-    <artifactId>axis2</artifactId>
-    <version>1.8.0-SNAPSHOT</version>
-    <relativePath>../../../pom.xml</relativePath>
-  </parent>
-
-  <groupId>org.apache.axis2</groupId>
-  <artifactId>axis2-transport-mail</artifactId>
-  <name>Apache Axis2 - Transport - Mail</name>
-  <description>Apache Axis2 - Mail Transport</description>
-  <packaging>bundle</packaging>
-
-  <url>http://axis.apache.org/axis2/java/core/</url>
-  <scm>
-    
<connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/mail</connection>
-    
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/mail</developerConnection>
-    
<url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/mail</url>
-  </scm>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>${project.artifactId}</Bundle-Name>
-            <Bundle-Vendor>Apache Software Foundation</Bundle-Vendor>
-            <Bundle-Description>${project.description}</Bundle-Description>
-            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-            <Export-Package>
-              org.apache.axis2.transport.mail.*;-split-package:=merge-last,
-            </Export-Package>
-            <Import-Package>
-              !javax.xml.namespace,
-              javax.xml.namespace; version=0.0.0,
-              *; resolution:=optional
-            </Import-Package>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.0</version>
-        <executions>
-          <execution>
-            <id>copy</id>
-            <phase>generate-test-resources</phase>
-            <goals>
-              <goal>copy</goal>
-            </goals>
-            <configuration>
-              <stripVersion>true</stripVersion>
-              <artifactItems>
-                <artifactItem>
-                  <groupId>org.aspectj</groupId>
-                  <artifactId>aspectjweaver</artifactId>
-                  <outputDirectory>target/lib</outputDirectory>
-                </artifactItem>
-              </artifactItems>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <systemProperties>
-            <property>
-              <name>log4j.configuration</name>
-              <value>file:../../log4j.properties</value>
-            </property>
-            <property>
-              <name>net.sourceforge.cobertura.datafile</name>
-              <value>target/cobertura.ser</value>
-            </property>
-          </systemProperties>
-          <argLine>-javaagent:target/lib/aspectjweaver.jar -Xms64m 
-Xmx128m</argLine>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.sun.mail</groupId>
-      <artifactId>javax.mail</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.axis2</groupId>
-      <artifactId>axis2-transport-base</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.axis2</groupId>
-      <artifactId>axis2-transport-testkit</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.icegreen</groupId>
-      <artifactId>greenmail</artifactId>
-      <version>1.3</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
+    <artifactId>axis2-transport-mail</artifactId>
+    <name>Apache Axis2 - Transport - Mail</name>
+    <description>Apache Axis2 - Mail Transport</description>
+    <packaging>bundle</packaging>
+
+    <url>http://axis.apache.org/axis2/java/core/</url>
+    <scm>
+        
<connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/mail</connection>
+        
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/transport/mail</developerConnection>
+        
<url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/mail</url>
+    </scm>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Name>${project.artifactId}</Bundle-Name>
+                        <Bundle-Vendor>Apache Software 
Foundation</Bundle-Vendor>
+                        
<Bundle-Description>${project.description}</Bundle-Description>
+                        
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+                        <Export-Package>
+                            
org.apache.axis2.transport.mail.*;-split-package:=merge-last,
+                        </Export-Package>
+                        <Import-Package>
+                            !javax.xml.namespace,
+                            javax.xml.namespace; version=0.0.0,
+                            *; resolution:=optional
+                        </Import-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>com.github.veithen.alta</groupId>
+                <artifactId>alta-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>generate-test-resources</phase>
+                        <goals>
+                            <goal>generate-properties</goal>
+                        </goals>
+                        <configuration>
+                            <name>aspectjweaver</name>
+                            <value>%file%</value>
+                            <artifacts>
+                                <artifact>
+                                    <groupId>org.aspectj</groupId>
+                                    <artifactId>aspectjweaver</artifactId>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemProperties>
+                        <property>
+                            <name>log4j.configuration</name>
+                            <value>file:../../log4j.properties</value>
+                        </property>
+                        <property>
+                            <name>net.sourceforge.cobertura.datafile</name>
+                            <value>target/cobertura.ser</value>
+                        </property>
+                    </systemProperties>
+                    <argLine>${argLine} -javaagent:${aspectjweaver} -Xms64m 
-Xmx128m</argLine>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.sun.mail</groupId>
+            <artifactId>javax.mail</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-base</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-testkit</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.icegreen</groupId>
+            <artifactId>greenmail</artifactId>
+            <version>1.3</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 </project>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java
 Thu Dec 27 18:42:33 2018
@@ -30,16 +30,21 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.transport.OutTransportInfo;
 import org.apache.axis2.transport.MessageFormatter;
+import org.apache.axiom.mime.ContentType;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.util.CommonUtils;
 
 import javax.mail.*;
-import javax.mail.internet.*;
+import javax.mail.internet.AddressException;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimePart;
 import javax.activation.DataHandler;
 
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.io.IOException;
+import java.text.ParseException;
 
 /**
  * The mail transport sender sends mail using an SMTP server configuration 
defined
@@ -469,8 +474,8 @@ public class MailTransportSender extends
                 mainPart.setHeader("Content-Transfer-Encoding",
                         (String) 
msgContext.getOptions().getProperty("Content-Transfer-Encoding"));
             } else {
-                String contentType = 
dataHandler.getContentType().toLowerCase();
-                if (!contentType.startsWith("multipart/") && 
CommonUtils.isTextualPart(contentType)) {
+                ContentType contentType = new 
ContentType(dataHandler.getContentType());
+                if (!contentType.getMediaType().hasPrimaryType("multipart") && 
contentType.isTextual()) {
                     mainPart.setHeader("Content-Transfer-Encoding", 
"quoted-printable");
                 }
             }
@@ -495,7 +500,7 @@ public class MailTransportSender extends
                 metrics.incrementBytesSent(msgContext, bytesSent);
             }
 
-        } catch (MessagingException e) {
+        } catch (MessagingException | ParseException e) {
             metrics.incrementFaultsSending();
             handleException("Error creating mail message or sending it to the 
configured server", e);
             

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailUtils.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailUtils.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailUtils.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/mail/src/main/java/org/apache/axis2/transport/mail/MailUtils.java
 Thu Dec 27 18:42:33 2018
@@ -26,6 +26,7 @@ import javax.mail.Session;
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.description.ParameterInclude;
 import org.apache.axis2.transport.base.ParamUtils;
+import org.apache.axis2.util.LogWriter;
 import org.apache.commons.io.output.WriterOutputStream;
 import org.apache.commons.logging.Log;
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/pom.xml 
(original)
+++ axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/pom.xml 
Thu Dec 27 18:42:33 2018
@@ -58,26 +58,34 @@
 
 
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>axis2-repo-maven-plugin</artifactId>
+                <version>${project.version}</version>
                 <executions>
-                   <execution>
-                        <id>build-repo</id>
-                        <phase>test-compile</phase>
+                    <execution>
+                        <id>build-server-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
+                        </goals>
                         <configuration>
-                            <tasks>
-                                <mkdir 
dir="target/test-resources/samples/modules" />
-                                <mkdir 
dir="target/test-resources/samples/conf" />
-                               <copy 
file="${settings.localRepository}/org/apache/axis2/addressing/${project.version}/addressing-${project.version}.mar"
 tofile="target/test-resources/samples/modules/addressing.mar" />
-                                <copy file="conf/axis2.xml" 
tofile="target/test-resources/samples/conf/axis2.xml" />
-                                <copy file="conf/client_axis2.xml" 
tofile="target/test-resources/samples/conf/client_axis2.xml" />
-                            </tasks>
+                            
<outputDirectory>${project.build.directory}/repo/server</outputDirectory>
+                            <axis2xml>conf/axis2.xml</axis2xml>
                         </configuration>
-                       <goals>
-                            <goal>run</goal>
+                    </execution>
+                    <execution>
+                        <id>build-client-repo</id>
+                        <goals>
+                            <goal>create-test-repository</goal>
                         </goals>
+                        <configuration>
+                            
<outputDirectory>${project.build.directory}/repo/client</outputDirectory>
+                            <axis2xml>conf/client_axis2.xml</axis2xml>
+                        </configuration>
                     </execution>
                 </executions>
+                <configuration>
+                    <configurationDirectory>conf</configurationDirectory>
+                </configuration>
             </plugin>
 
             <plugin>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/src/org/apache/axis2/transport/tcp/TCPTransportSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/src/org/apache/axis2/transport/tcp/TCPTransportSender.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/src/org/apache/axis2/transport/tcp/TCPTransportSender.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/src/org/apache/axis2/transport/tcp/TCPTransportSender.java
 Thu Dec 27 18:42:33 2018
@@ -88,9 +88,8 @@ public class TCPTransportSender extends
         MessageFormatter messageFormatter = 
MessageProcessorSelector.getMessageFormatter(msgContext);
         OMOutputFormat format = BaseUtils.getOMOutputFormat(msgContext);
         format.setContentType(contentType);
-        byte[] payload = messageFormatter.getBytes(msgContext, format);
         OutputStream out = socket.getOutputStream();
-        out.write(payload);
+        messageFormatter.writeTo(msgContext, format, out, false);
         out.flush();
     }
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/test/org/apache/axis2/transport/tcp/UtilsTCPServer.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/test/org/apache/axis2/transport/tcp/UtilsTCPServer.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/test/org/apache/axis2/transport/tcp/UtilsTCPServer.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/tcp/test/org/apache/axis2/transport/tcp/UtilsTCPServer.java
 Thu Dec 27 18:42:33 2018
@@ -59,7 +59,7 @@ public class UtilsTCPServer {
         if (count == 0) {
 
             // start tcp server
-            File file = new 
File(prefixBaseDirectory(Constants.TESTING_REPOSITORY));
+            File file = new File(prefixBaseDirectory("target/repo/server"));
             System.out.println(file.getAbsoluteFile());
             if (!file.exists()) {
                 throw new Exception("Repository directory does not exist");
@@ -96,10 +96,10 @@ public class UtilsTCPServer {
     }
 
     public static ConfigurationContext createClientConfigurationContext() 
throws Exception {
-        File file = new 
File(prefixBaseDirectory(Constants.TESTING_REPOSITORY));
+        File file = new File(prefixBaseDirectory("target/repo/client"));
         ConfigurationContext configContext = 
             
ConfigurationContextFactory.createConfigurationContextFromFileSystem(
-                    file.getAbsolutePath(), file.getAbsolutePath() + 
"/conf/client_axis2.xml");
+                    file.getAbsolutePath(), file.getAbsolutePath() + 
"/conf/axis2.xml");
         return configContext;
     }
 

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/testkit/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/testkit/pom.xml?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/testkit/pom.xml 
(original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/testkit/pom.xml 
Thu Dec 27 18:42:33 2018
@@ -89,46 +89,9 @@
         <profile>
             <id>default-tools.jar</id>
             <activation>
-                <property>
-                    <name>java.vendor</name>
-                    <value>Sun Microsystems Inc.</value>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun</groupId>
-                    <artifactId>tools</artifactId>
-                    <version>1.5.0</version>
-                    <scope>system</scope>
-                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>default-tools.jar-2</id>
-            <activation>
-                <property>
-                    <name>java.vendor</name>
-                    <value>IBM Corporation</value>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun</groupId>
-                    <artifactId>tools</artifactId>
-                    <version>1.5.0</version>
-                    <scope>system</scope>
-                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>default-tools.jar-3</id>
-            <activation>
-                <property>
-                    <name>java.vendor</name>
-                    <value>Oracle Corporation</value>
-                </property>
+                <file>
+                    <exists>${java.home}/../lib/tools.jar</exists>
+                </file>
             </activation>
             <dependencies>
                 <dependency>
@@ -190,6 +153,15 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>animal-sniffer-maven-plugin</artifactId>
+                <configuration>
+                    <!-- The doclet uses com.sun APIs and signature 
verification would fail. That's OK
+                         because the artifact is only used during the build 
anyway. -->
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

Modified: 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/udp/src/main/java/org/apache/axis2/transport/udp/UDPSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/hermetic-tests/modules/transport/udp/src/main/java/org/apache/axis2/transport/udp/UDPSender.java?rev=1849802&r1=1849801&r2=1849802&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/udp/src/main/java/org/apache/axis2/transport/udp/UDPSender.java
 (original)
+++ 
axis/axis2/java/core/branches/hermetic-tests/modules/transport/udp/src/main/java/org/apache/axis2/transport/udp/UDPSender.java
 Thu Dec 27 18:42:33 2018
@@ -38,6 +38,7 @@ import org.apache.axis2.transport.Transp
 import org.apache.axis2.transport.base.AbstractTransportSender;
 import org.apache.axis2.transport.base.BaseUtils;
 import org.apache.axis2.util.MessageProcessorSelector;
+import org.apache.commons.io.output.ByteArrayOutputStream;
 import org.apache.commons.logging.LogFactory;
 
 import javax.xml.stream.XMLStreamException;
@@ -71,7 +72,9 @@ public class UDPSender extends AbstractT
         MessageFormatter messageFormatter = 
MessageProcessorSelector.getMessageFormatter(msgContext);
         OMOutputFormat format = BaseUtils.getOMOutputFormat(msgContext);
         format.setContentType(udpOutInfo.getContentType());
-        byte[] payload = messageFormatter.getBytes(msgContext, format);
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        messageFormatter.writeTo(msgContext, format, out, false);
+        byte[] payload = out.toByteArray();
         try {
             DatagramSocket socket = new DatagramSocket();
             if (log.isDebugEnabled()) {


Reply via email to