[jbossws-commits] JBossWS SVN: r12999 - in projects/plugins/maven/jaxws-tools/trunk: src/main/java/org/jboss/ws/plugins/tools and 3 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Tue Sep 21 13:43:13 EDT 2010


Author: alessio.soldano at jboss.com
Date: 2010-09-21 13:43:13 -0400 (Tue, 21 Sep 2010)
New Revision: 12999

Added:
   projects/plugins/maven/jaxws-tools/trunk/src/test/java/org/jboss/test/ws/plugins/tools/helpers/TestEndorseHelper.java
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/invoker.properties
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom-cxf.xml
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom.xml
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/setup.bsh
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/test.wsdl
   projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/verify.bsh
Modified:
   projects/plugins/maven/jaxws-tools/trunk/pom.xml
   projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractToolsMojo.java
   projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractWsConsumeMojo.java
   projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractConsumerParams.java
   projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractDelegate.java
Log:
[JBWS-3130] Adding initial testcase (wsconsume only) for jaxws 2.2 / endorsing. Implemented fork mode for wsconsume maven plugin


Modified: projects/plugins/maven/jaxws-tools/trunk/pom.xml
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/pom.xml	2010-09-20 17:00:04 UTC (rev 12998)
+++ projects/plugins/maven/jaxws-tools/trunk/pom.xml	2010-09-21 17:43:13 UTC (rev 12999)
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.jboss.ws</groupId>
     <artifactId>jbossws-parent</artifactId>
-    <version>1.0.6.GA</version>
+    <version>1.0.8.GA</version>
   </parent>
 
   <!-- Source Control Management -->
@@ -26,7 +26,7 @@
   <!-- Properties -->
   <properties>
     <jbossws.spi.version>1.3.0.GA</jbossws.spi.version>
-    <maven.project.version>2.0.4</maven.project.version>
+    <maven.project.version>2.0.11</maven.project.version>
     <maven.plugin.api.version>2.0.4</maven.plugin.api.version>
     <maven.invoker.plugin.version>1.5</maven.invoker.plugin.version>
     <!-- For test -->

Modified: projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractToolsMojo.java
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractToolsMojo.java	2010-09-20 17:00:04 UTC (rev 12998)
+++ projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractToolsMojo.java	2010-09-21 17:43:13 UTC (rev 12999)
@@ -61,6 +61,17 @@
    protected Boolean verbose;
    
    /**
+    * An optional additional argLine to be used when running in fork mode; can be used to set endorse dir, enable debugging, etc. 
+    * @parameter
+    */
+   protected String argLine;
+   
+   /**
+    * @parameter default-value="false"
+    */
+   protected Boolean fork;
+   
+   /**
     * Either ${build.outputDirectory} or ${build.testOutputDirectory}.
     */
    public abstract File getOutputDirectory();
@@ -104,4 +115,14 @@
       return verbose;
    }
    
+   public String getArgLine()
+   {
+      return argLine;
+   }
+   
+   public Boolean isFork()
+   {
+      return fork;
+   }
+   
 }

Modified: projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractWsConsumeMojo.java
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractWsConsumeMojo.java	2010-09-20 17:00:04 UTC (rev 12998)
+++ projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/AbstractWsConsumeMojo.java	2010-09-21 17:43:13 UTC (rev 12999)
@@ -128,6 +128,8 @@
          params.setTarget(target);
          params.setTargetPackage(targetPackage);
          params.setWsdlLocation(wsdlLocation);
+         params.setArgLine(argLine);
+         params.setFork(fork);
          WSContractDelegate delegate = new WSContractDelegate();
          
          for (String wsdl : wsdls)

Modified: projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractConsumerParams.java
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractConsumerParams.java	2010-09-20 17:00:04 UTC (rev 12998)
+++ projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractConsumerParams.java	2010-09-21 17:43:13 UTC (rev 12999)
@@ -1,8 +1,3 @@
-package org.jboss.ws.plugins.tools;
-
-import java.io.File;
-import java.util.List;
-
 /*
  * JBoss, Home of Professional Open Source.
  * Copyright 2010, Red Hat Middleware LLC, and individual contributors
@@ -24,8 +19,14 @@
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
+package org.jboss.ws.plugins.tools;
+
+import java.io.File;
+import java.util.List;
+
 public class WSContractConsumerParams
 {
+   private boolean fork;
    private ClassLoader loader;
    private List<String> additionalCompilerClassPath;
    private List<String> bindingFiles;
@@ -38,7 +39,24 @@
    private String target;
    private String targetPackage;
    private String wsdlLocation;
+   private String argLine;
 
+   public String getArgLine()
+   {
+      return argLine;
+   }
+   public void setArgLine(String argLine)
+   {
+      this.argLine = argLine;
+   }
+   public void setFork(boolean fork)
+   {
+      this.fork = fork;
+   }
+   public boolean isFork()
+   {
+      return fork;
+   }
    public void setLoader(ClassLoader loader)
    {
       this.loader = loader;

Modified: projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractDelegate.java
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractDelegate.java	2010-09-20 17:00:04 UTC (rev 12998)
+++ projects/plugins/maven/jaxws-tools/trunk/src/main/java/org/jboss/ws/plugins/tools/WSContractDelegate.java	2010-09-21 17:43:13 UTC (rev 12999)
@@ -24,11 +24,16 @@
 import java.io.File;
 import java.io.PrintStream;
 import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.codehaus.plexus.util.Os;
+
 public class WSContractDelegate
 {
+   private static final PrintStream PS = System.out;
+   
    public void runProvider(WSContractProviderParams params) throws Exception
    {
       ClassLoader loader = params.getLoader();
@@ -41,6 +46,18 @@
    
    public void runConsumer(WSContractConsumerParams params, String wsdl) throws Exception
    {
+      if (params.isFork())
+      {
+         runConsumerOutOfProcess(params, wsdl);
+      }
+      else
+      {
+         runConsumerInProcess(params, wsdl);
+      }
+   }
+   
+   private void runConsumerInProcess(WSContractConsumerParams params, String wsdl) throws Exception
+   {
       ClassLoader loader = params.getLoader();
       Class<?> consumerClass = loader.loadClass("org.jboss.wsf.spi.tools.WSContractConsumer");
       Object consumer = consumerClass.getMethod("newInstance").invoke(null);
@@ -49,11 +66,108 @@
       m.invoke(consumer, new Object[]{wsdl});
    }
    
+   private void runConsumerOutOfProcess(WSContractConsumerParams params, String wsdl) throws Exception
+   {
+      List<String> commandList = new ArrayList<String>();
+      if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
+      {
+          if ( Os.isFamily( Os.FAMILY_WIN9X ) )
+          {
+             commandList.add("command.com /c");
+          }
+          else
+          {
+             commandList.add("cmd.exe /c");
+          }
+      }
+      commandList.add("java");
+      if (params.getArgLine() != null)
+      {
+         commandList.add(params.getArgLine());
+      }
+      List<String> cp = params.getAdditionalCompilerClassPath();
+      if (cp != null && !cp.isEmpty())
+      {
+         commandList.add("-classpath ");
+         StringBuilder additionalClasspath = new StringBuilder();
+         for (String c : cp)
+         {
+            additionalClasspath.append(c);
+            additionalClasspath.append(File.pathSeparator);
+         }
+         additionalClasspath.deleteCharAt(additionalClasspath.length() - 1);
+         commandList.add(additionalClasspath.toString());
+      }
+      commandList.add("org.jboss.wsf.spi.tools.cmd.WSConsume");
+      List<String> bindingFiles = params.getBindingFiles();
+      if (bindingFiles != null && !bindingFiles.isEmpty())
+      {
+         commandList.add("-b");
+         commandList.addAll(bindingFiles);
+      }
+      if (params.isGenerateSource())
+      {
+         commandList.add("-k");
+      }
+      if (params.getCatalog() != null)
+      {
+         commandList.add("-c");
+         commandList.add(params.getCatalog().getAbsolutePath());
+      }
+      if (params.getTargetPackage() != null)
+      {
+         commandList.add("-p");
+         commandList.add(params.getTargetPackage());
+      }
+      if (params.getWsdlLocation() != null)
+      {
+         commandList.add("-w");
+         commandList.add(params.getWsdlLocation());
+      }
+      if (params.getOutputDirectory() != null)
+      {
+         commandList.add("-o");
+         commandList.add(params.getOutputDirectory().getAbsolutePath());
+      }
+      if (params.getSourceDirectory() != null)
+      {
+         commandList.add("-s");
+         commandList.add(params.getSourceDirectory().getAbsolutePath());
+      }
+      if (params.getTarget() != null)
+      {
+         commandList.add("-t");
+         commandList.add(params.getTarget());
+      }
+      if (params.isExtension())
+      {
+         commandList.add("-e");
+      }
+      if (params.isNoCompile())
+      {
+         commandList.add("-n");
+      }
+      commandList.add(wsdl);
+      StringBuilder command = new StringBuilder();
+      for (String s : commandList)
+      {
+         command.append(s);
+         command.append(" ");
+      }
+      System.out.println("************** commandline: ***" + command.toString()+"***");
+      Process p = Runtime.getRuntime().exec(command.toString());
+      int result = p.waitFor();
+      if (result != 0)
+      {
+         throw new Exception("Process terminated with code " + result);
+      }
+   }
+   
    private static void setupConsumer(Class<?> consumerClass, Object consumer, WSContractConsumerParams params) throws Exception
    {
       callMethod(consumerClass, consumer, "setAdditionalCompilerClassPath", params.getAdditionalCompilerClassPath());
       Method m = consumerClass.getMethod("setMessageStream", new Class<?>[]{PrintStream.class});
-      m.invoke(consumer, new Object[]{System.out});
+      m.invoke(consumer, new Object[]{PS});
       List<String> bindingFiles = params.getBindingFiles();
       if (bindingFiles != null && !bindingFiles.isEmpty())
       {
@@ -120,7 +234,7 @@
       callMethod(providerClass, provider, "setGenerateSource", params.isGenerateSource());
       callMethod(providerClass, provider, "setGenerateWsdl", params.isGenerateWsdl());
       Method m2 = providerClass.getMethod("setMessageStream", new Class<?>[]{PrintStream.class});
-      m2.invoke(provider, new Object[]{System.out});
+      m2.invoke(provider, new Object[]{PS});
       if (params.getOutputDirectory() != null)
       {
          callMethod(providerClass, provider, "setOutputDirectory", params.getOutputDirectory());

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/java/org/jboss/test/ws/plugins/tools/helpers/TestEndorseHelper.java
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/java/org/jboss/test/ws/plugins/tools/helpers/TestEndorseHelper.java	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/java/org/jboss/test/ws/plugins/tools/helpers/TestEndorseHelper.java	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.plugins.tools.helpers;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.Map;
+
+/**
+ * A helper class for testing the plugin through bsh scripts
+ * 
+ * @author alessio.soldano at jboss.com
+ * @since 21-Sep-2010
+ *
+ */
+public class TestEndorseHelper implements VerifyScriptHelper, SetupScriptHelper
+{
+   private Long lastModificationTime = null;
+   private static final String JAXWS_22_ENDPOINT_SERVICE_CONSTRUCTOR = "public EndpointService(URL wsdlLocation, WebServiceFeature... features)";
+   private static final String JAXWS_22_ENDPOINT_SERVICE_CONSTRUCTOR_CONTENTS = "super(wsdlLocation, serviceName, features);";
+
+   @Override
+   public boolean verify(File basedir, File localRepositoryPath, Map<?, ?> context) throws Exception
+   {
+      //fist execution checks
+      File endpointServiceFile = new File(basedir.getAbsolutePath() + File.separator + "target" + File.separator + "wsconsume" + File.separator + "java" +
+            File.separator + "foo" + File.separator + "bar" + File.separator + "EndpointService.java");
+      if (!endpointServiceFile.exists())
+      {
+         System.out.println(endpointServiceFile + " not found!");
+         return false;
+      }
+      if (lastModificationTime != null && endpointServiceFile.lastModified() == lastModificationTime)
+      {
+         System.out.println(endpointServiceFile + " was not modified by the plugin!");
+         return false;
+      }
+      if (!readContents(endpointServiceFile).contains(JAXWS_22_ENDPOINT_SERVICE_CONSTRUCTOR_CONTENTS))
+      {
+         System.out.println("Could not find JAXWS 2.2 constructor '" + JAXWS_22_ENDPOINT_SERVICE_CONSTRUCTOR + "' in " + endpointServiceFile);
+         return false;
+      }
+      
+      //classes checks
+      File classesFoo = new File(basedir.getAbsolutePath() + File.separator + "target" + File.separator + "classes" + File.separator + "foo");
+      if (!classesFoo.exists())
+      {
+         System.out.println(classesFoo + " dir not found!");
+         return false;
+      }
+      
+      return true;
+   }
+
+   @Override
+   public void setup(File basedir, File localRepositoryPath, Map<?, ?> context) throws Exception
+   {
+      File endpointServiceFile = new File(basedir.getAbsolutePath() + File.separator + "target" + File.separator + "wsconsume" + File.separator + "java" +
+            File.separator + "foo" + File.separator + "bar" + File.separator + "EndpointService.java");
+      if (endpointServiceFile.exists())
+      {
+         this.lastModificationTime = endpointServiceFile.lastModified();
+      }
+   }
+   
+   private String readContents(File file) throws Exception
+   {
+      BufferedReader in = new BufferedReader(new FileReader(file));
+      StringBuffer buffer = new StringBuffer();
+      String line;
+      while ((line = in.readLine()) != null)
+      {
+         buffer.append(line);
+      }
+      in.close();
+      return buffer.toString();
+   }
+
+}

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/invoker.properties
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/invoker.properties	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/invoker.properties	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1 @@
+invoker.goals = -e clean package

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom-cxf.xml
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom-cxf.xml	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom-cxf.xml	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+    <name>testWsConsume</name>
+	<groupId>org.jboss.ws.plugins.maven.tests</groupId>
+	<artifactId>testEndorse</artifactId>
+	<packaging>jar</packaging>
+	<version>@pom.version@</version>
+
+	<build>
+	  <pluginManagement>
+		<plugins>
+		  <plugin>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-compiler-plugin</artifactId>
+			<version>2.0.2</version>
+			<configuration>
+				<source>1.5</source>
+				<target>1.5</target>
+				<maxmem>256M</maxmem>
+				<fork>${compiler.fork}</fork>
+				<compilerArguments>
+					<endorseddirs>${basedir}/target/endorsed</endorseddirs>
+				</compilerArguments>
+			</configuration>
+		  </plugin>
+		</plugins>
+	  </pluginManagement>
+	  <plugins>
+		<plugin>
+          <groupId>org.jboss.ws.plugins</groupId>
+          <artifactId>maven-jaxws-tools-plugin</artifactId>
+          <version>@pom.version@</version>
+          <configuration>
+            <target>2.2</target>
+            <verbose>true</verbose>
+            <fork>true</fork>
+            <argLine>-Djava.endorsed.dirs=${basedir}/target/endorsed</argLine>
+          </configuration>
+          <executions>
+            <execution>
+              <id>First execution</id>
+              <goals>
+                <goal>wsconsume</goal>
+              </goals>
+              <configuration>
+                <wsdls>
+                  <wsdl>${basedir}/test.wsdl</wsdl>
+                </wsdls>
+                <targetPackage>foo.bar</targetPackage>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-dependency-plugin</artifactId>
+			<executions>
+				<execution>
+					<id>create-endorsed-dir</id>
+					<phase>validate</phase>
+					<goals>
+						<goal>copy</goal>
+					</goals>
+					<configuration>
+						<artifactItems>
+							<artifactItem>
+								<groupId>org.jboss.spec.javax.xml.ws</groupId>
+								<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+								<outputDirectory>${basedir}/target/endorsed</outputDirectory>
+							</artifactItem>
+							<artifactItem>
+								<groupId>org.jboss.ws.cxf</groupId>
+								<artifactId>jbossws-cxf-factories</artifactId>
+								<outputDirectory>${basedir}/target/endorsed</outputDirectory>
+							</artifactItem>
+						</artifactItems>
+					</configuration>
+				</execution>
+			</executions>
+		</plugin>
+	  </plugins>
+	</build>
+
+	<dependencies>
+	  <dependency>
+		<groupId>org.jboss.ws.cxf</groupId>
+		<artifactId>jbossws-cxf-client</artifactId>
+		<version>3.4.0-SNAPSHOT</version>
+	  </dependency>
+	  <dependency>
+		<groupId>org.jboss.ws.cxf</groupId>
+		<artifactId>jbossws-cxf-factories</artifactId>
+		<version>3.4.0-SNAPSHOT</version>
+	  </dependency>
+	  <dependency>
+		<groupId>org.jboss.spec.javax.xml.ws</groupId>
+		<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+		<version>1.0.0.Beta1</version>
+	  </dependency>
+	</dependencies>
+</project>

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom.xml
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom.xml	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/pom.xml	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+    <name>testWsConsume</name>
+	<groupId>org.jboss.ws.plugins.maven.tests</groupId>
+	<artifactId>testEndorse</artifactId>
+	<packaging>jar</packaging>
+	<version>@pom.version@</version>
+
+	<build>
+	  <pluginManagement>
+		<plugins>
+		  <plugin>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-compiler-plugin</artifactId>
+			<version>2.0.2</version>
+			<configuration>
+				<source>1.5</source>
+				<target>1.5</target>
+				<maxmem>256M</maxmem>
+				<fork>${compiler.fork}</fork>
+				<compilerArguments>
+					<endorseddirs>${basedir}/target/endorsed</endorseddirs>
+				</compilerArguments>
+			</configuration>
+		  </plugin>
+		</plugins>
+	  </pluginManagement>
+	  <plugins>
+		<plugin>
+          <groupId>org.jboss.ws.plugins</groupId>
+          <artifactId>maven-jaxws-tools-plugin</artifactId>
+          <version>@pom.version@</version>
+          <configuration>
+            <target>2.2</target>
+            <verbose>true</verbose>
+            <fork>true</fork>
+            <argLine>-Djava.endorsed.dirs=${basedir}/target/endorsed</argLine>
+          </configuration>
+          <executions>
+            <execution>
+              <id>First execution</id>
+              <goals>
+                <goal>wsconsume</goal>
+              </goals>
+              <configuration>
+                <wsdls>
+                  <wsdl>${basedir}/test.wsdl</wsdl>
+                </wsdls>
+                <targetPackage>foo.bar</targetPackage>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
+			<groupId>org.apache.maven.plugins</groupId>
+			<artifactId>maven-dependency-plugin</artifactId>
+			<executions>
+				<execution>
+					<id>create-endorsed-dir</id>
+					<phase>validate</phase>
+					<goals>
+						<goal>copy</goal>
+					</goals>
+					<configuration>
+						<artifactItems>
+							<artifactItem>
+								<groupId>org.jboss.spec.javax.xml.ws</groupId>
+								<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+								<outputDirectory>${basedir}/target/endorsed</outputDirectory>
+							</artifactItem>
+						</artifactItems>
+					</configuration>
+				</execution>
+			</executions>
+		</plugin>
+	  </plugins>
+	</build>
+
+	<dependencies>
+	  <dependency>
+		<groupId>org.jboss.ws.native</groupId>
+		<artifactId>jbossws-native-client</artifactId>
+		<version>3.3.1.GA</version>
+	  </dependency>
+	  <dependency>
+		<groupId>org.jboss.spec.javax.xml.ws</groupId>
+		<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
+		<version>1.0.0.Beta1</version>
+	  </dependency>
+	  <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jbossxb</artifactId>
+        <version>2.0.1.GA</version>
+      </dependency>
+	</dependencies>
+</project>

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/setup.bsh
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/setup.bsh	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/setup.bsh	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,7 @@
+import java.io.*;
+import org.jboss.test.ws.plugins.tools.helpers.*;
+import java.util.*;
+import java.util.regex.*;
+
+TestEndorseHelper helper = new TestEndorseHelper();
+helper.setup(basedir, localRepositoryPath, context);
\ No newline at end of file

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/test.wsdl
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/test.wsdl	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/test.wsdl	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://testendorse.samples.jaxws.ws.test.jboss.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://testendorse.samples.jaxws.ws.test.jboss.org/" name="EndpointService">
+<types/>
+<message name="echoString">
+<part name="arg0" type="xsd:string"/>
+</message>
+<message name="echoStringResponse">
+<part name="return" type="xsd:string"/>
+</message>
+<portType name="Endpoint">
+<operation name="echoString">
+<input message="tns:echoString"/>
+<output message="tns:echoStringResponse"/>
+</operation>
+</portType>
+<binding name="EndpointPortBinding" type="tns:Endpoint">
+<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
+<operation name="echoString">
+<soap:operation soapAction="urn:EchoString"/>
+<input>
+<soap:body use="literal" namespace="http://testendorse.samples.jaxws.ws.test.jboss.org/"/>
+</input>
+<output>
+<soap:body use="literal" namespace="http://testendorse.samples.jaxws.ws.test.jboss.org/"/>
+</output>
+</operation>
+</binding>
+<service name="EndpointService">
+<port name="EndpointPort" binding="tns:EndpointPortBinding">
+<soap:address location="http://127.0.0.1:8080/jaxws-samples-testendorse"/>
+</port>
+</service>
+</definitions>
\ No newline at end of file

Added: projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/verify.bsh
===================================================================
--- projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/verify.bsh	                        (rev 0)
+++ projects/plugins/maven/jaxws-tools/trunk/src/test/resources/test-embedded/testEndorse/verify.bsh	2010-09-21 17:43:13 UTC (rev 12999)
@@ -0,0 +1,16 @@
+import java.io.*;
+import org.jboss.test.ws.plugins.tools.helpers.*;
+import java.util.*;
+import java.util.regex.*;
+
+try
+{
+    TestEndorseHelper helper = new TestEndorseHelper();
+    return helper.verify(basedir, localRepositoryPath, context);
+    
+}
+catch( Throwable t )
+{
+    t.printStackTrace();
+    return false;
+}



More information about the jbossws-commits mailing list