[jbossws-commits] JBossWS SVN: r3300 - in trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools: cmd and 1 other directory.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed May 30 04:42:44 EDT 2007


Author: heiko.braun at jboss.com
Date: 2007-05-30 04:42:44 -0400 (Wed, 30 May 2007)
New Revision: 3300

Added:
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSConsume.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSProvide.java
Removed:
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsconsume.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsprovide.java
Log:
Rename ANT tasks and command line wrapper

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd (from rev 3295, trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/command)

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSConsume.java (from rev 3296, trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/command/wsconsume.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSConsume.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSConsume.java	2007-05-30 08:42:44 UTC (rev 3300)
@@ -0,0 +1,249 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.wsf.spi.tools.cmd;
+
+import gnu.getopt.Getopt;
+import gnu.getopt.LongOpt;
+import org.jboss.wsf.spi.tools.WSContractConsumer;
+
+import java.io.File;
+import java.io.PrintStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * WSConsumeTask is a cmd line tool that generates portable JAX-WS artifacts
+ * from a WSDL file.
+ * 
+ * <pre>
+ *  usage: WSConsumeTask [options] &lt;wsdl-url&gt;
+ *  options: 
+ *  -h, --help                  Show this help message
+ *  -b, --binding=&lt;file&gt;        One or more JAX-WS or JAXB binding files 
+ *  -k, --keep                  Keep/Generate Java source
+ *  -c  --catalog=&lt;file&gt;        Oasis XML Catalog file for entity resolution
+ *  -p  --package=&lt;name&gt;        The target package for generated source
+ *  -w  --wsdlLocation=&lt;loc&gt;    Value to use for @@WebService.wsdlLocation
+ *  -o, --output=&lt;directory&gt;    The directory to put generated artifacts
+ *  -s, --source=&lt;directory&gt;    The directory to put Java source
+ *  -q, --quiet                 Be somewhat more quiet
+ *  -t, --show-traces           Show full exception stack traces
+ *  -l, --load-consumer           Load the consumer and exit (debug utility)
+ * </pre>
+ * 
+ * @author <a href="mailto:jason.greene at jboss.com">Jason T. Greene</a>
+ * @version $Revision$
+ */
+public class WSConsume
+{
+   private List<File> bindingFiles = new ArrayList<File>();
+   private boolean generateSource = false;
+   private File catalog = null;
+   private String targetPackage = null;
+   private String wsdlLocation = null;
+   private boolean quiet = false;
+   private boolean showTraces = false;
+   private boolean loadConsumer = false;
+   private File outputDir = new File("output");
+   private File sourceDir = null;
+   
+   public static String PROGRAM_NAME = System.getProperty("program.name", WSConsume.class.getName());
+
+   public static void main(String[] args)
+   {
+      WSConsume importer = new WSConsume();
+      URL wsdl = importer.parseArguments(args);
+      System.exit(importer.importServices(wsdl));
+   }
+   
+   private URL parseArguments(String[] args)
+   {
+      String shortOpts = "hb:kc:p:w:o:s:qtl";
+      LongOpt[] longOpts = 
+      {
+         new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
+         new LongOpt("binding", LongOpt.REQUIRED_ARGUMENT, null, 'b'),
+         new LongOpt("keep", LongOpt.NO_ARGUMENT, null, 'k'),
+         new LongOpt("catalog", LongOpt.REQUIRED_ARGUMENT, null, 'c'),
+         new LongOpt("package", LongOpt.REQUIRED_ARGUMENT, null, 'p'),
+         new LongOpt("wsdlLocation", LongOpt.REQUIRED_ARGUMENT, null, 'w'),
+         new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'),
+         new LongOpt("source", LongOpt.REQUIRED_ARGUMENT, null, 's'),
+         new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q'),
+         new LongOpt("show-traces", LongOpt.NO_ARGUMENT, null, 't'),
+         new LongOpt("load-consumer", LongOpt.NO_ARGUMENT, null, 'l'),
+      };
+      
+      Getopt getopt = new Getopt(PROGRAM_NAME, args, shortOpts, longOpts);
+      int c;
+      while ((c = getopt.getopt()) != -1)
+      {
+         switch (c)
+         {
+            case 'b':
+               bindingFiles.add(new File(getopt.getOptarg()));
+               break;
+            case 'k':
+               generateSource = true;
+               break;
+            case 'c':
+               catalog = new File(getopt.getOptarg());
+               break;
+            case 'p':
+               targetPackage = getopt.getOptarg();
+               break;
+            case 'w':
+               wsdlLocation = getopt.getOptarg();
+               break;
+            case 'o':
+               outputDir = new File(getopt.getOptarg());
+               break;
+            case 's':
+               sourceDir = new File(getopt.getOptarg());
+               break;
+            case 'q':
+               quiet = true;
+               break;
+            case 't':
+               showTraces = true;
+               break;
+            case 'l':
+               loadConsumer = true;
+               break;
+            case 'h':
+               printHelp();
+               System.exit(0);
+            case '?':
+               System.exit(1);
+         }
+      }
+
+      // debug output
+      if(loadConsumer)
+      {
+         WSContractConsumer importer = WSContractConsumer.newInstance();
+         System.out.println("WSContractConsumer instance: " + importer.getClass().getCanonicalName());
+         System.exit(0);
+      }
+
+      int wsdlPos = getopt.getOptind();
+      if (wsdlPos >= args.length)
+      {
+         System.err.println("Error: WSDL URL was not specified!");
+         printHelp();
+         System.exit(1);
+      }
+      
+      URL url = null;
+      try
+      {
+         try
+         {
+            url = new URL(args[wsdlPos]);
+         }
+         catch (MalformedURLException e)
+         {
+            File file = new File(args[wsdlPos]);
+            url = file.toURL();
+         }
+      }
+      catch (MalformedURLException e)
+      {
+         System.err.println("Error: Invalid URI: " + args[wsdlPos]);
+         System.exit(1);
+      }
+      
+      return url;
+   }
+   
+   
+   private int importServices(URL wsdl)
+   {
+      WSContractConsumer importer = WSContractConsumer.newInstance();
+
+      importer.setGenerateSource(generateSource);
+      importer.setOutputDirectory(outputDir);
+      if (sourceDir != null)
+         importer.setSourceDirectory(sourceDir);
+
+      if (! quiet)
+         importer.setMessageStream(System.out);
+      
+      if (catalog != null)
+         importer.setCatalog(catalog);
+      
+      if (targetPackage != null)
+         importer.setTargetPackage(targetPackage);
+      
+      if (wsdlLocation != null)
+         importer.setWsdlLocation(wsdlLocation);
+      
+      if (bindingFiles != null && bindingFiles.size() > 0)
+         importer.setBindingFiles(bindingFiles);
+      
+      try
+      {
+         importer.consume(wsdl);
+         return 0;
+      }
+      catch (Throwable t)
+      {
+         System.err.println("Error: Could not import. (use --show-traces to see full traces)");
+         if (!showTraces)
+         {
+            String message = t.getMessage();
+            if (message == null)
+               message = t.getClass().getSimpleName();
+            System.err.println("Error: " + message);
+         }
+         else
+         {
+            t.printStackTrace(System.err);
+         }
+         
+      }
+      
+      return 1;
+   }
+
+   private static void printHelp()
+   {
+      PrintStream out = System.out;
+      out.println("WSConsumeTask is a cmd line tool that generates portable JAX-WS artifacts from a WSDL file.\n");
+      out.println("usage: " + PROGRAM_NAME + " [options] <wsdl-url>\n");
+      out.println("options: ");
+      out.println("    -h, --help                  Show this help message");
+      out.println("    -b, --binding=<file>        One or more JAX-WS or JAXB binding files ");
+      out.println("    -k, --keep                  Keep/Generate Java source");
+      out.println("    -c  --catalog=<file>        Oasis XML Catalog file for entity resolution");
+      out.println("    -p  --package=<name>        The target package for generated source");
+      out.println("    -w  --wsdlLocation=<loc>    Value to use for @WebService.wsdlLocation");
+      out.println("    -o, --output=<directory>    The directory to put generated artifacts");
+      out.println("    -s, --source=<directory>    The directory to put Java source");
+      out.println("    -q, --quiet                 Be somewhat more quiet");
+      out.println("    -t, --show-traces           Show full exception stack traces");
+      out.println("    -l, --load-consumer         Load the consumer and exit (debug utility)");
+      out.flush();
+   }
+}


Property changes on: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSConsume.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSProvide.java (from rev 3296, trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/command/wsprovide.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSProvide.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSProvide.java	2007-05-30 08:42:44 UTC (rev 3300)
@@ -0,0 +1,238 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.wsf.spi.tools.cmd;
+
+import gnu.getopt.Getopt;
+import gnu.getopt.LongOpt;
+import org.jboss.wsf.spi.tools.WSContractProvider;
+import org.jboss.wsf.spi.utils.JavaUtils;
+
+import java.io.File;
+import java.io.PrintStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * WSProvideTask is a cmd line tool that generates portable JAX-WS artifacts
+ * for a service endpoint implementation.
+ * 
+ * <pre>
+ *  usage: WSProvideTask [options] &lt;endpoint class name&gt;
+ *  options: 
+ *  -h, --help                  Show this help message
+ *  -k, --keep                  Keep/Generate Java source
+ *  -w, --wsdl                  Enable WSDL file generation
+ *  -c. --classpath=&lt;path&lt;      The classpath that contains the endpoint
+ *  -o, --output=&lt;directory&gt;    The directory to put generated artifacts
+ *  -r, --resource=&lt;directory&gt;  The directory to put resource artifacts
+ *  -s, --source=&lt;directory&gt;    The directory to put Java source
+ *  -q, --quiet                 Be somewhat more quiet
+ *  -t, --show-traces           Show full exception stack traces
+ *  -l, --load-provider           Load the provider and exit (debug utility)
+ * </pre>
+ * 
+ * @author <a href="mailto:jason.greene at jboss.com">Jason T. Greene</a>
+ * @version $Revision$
+ */
+public class WSProvide
+{
+   private boolean generateSource = false;
+   private boolean generateWsdl = false;
+   private boolean quiet = false;
+   private boolean showTraces = false;
+   private boolean loadProvider = false;
+   private ClassLoader loader = Thread.currentThread().getContextClassLoader();
+   private File outputDir = new File("output");
+   private File resourceDir = null;
+   private File sourceDir = null;
+   
+   public static String PROGRAM_NAME = System.getProperty("program.name", WSProvide.class.getSimpleName());
+
+   public static void main(String[] args)
+   {
+      WSProvide generate = new WSProvide();
+      String endpoint = generate.parseArguments(args);
+      System.exit(generate.generate(endpoint));
+   }
+   
+   private String parseArguments(String[] args)
+   {
+      String shortOpts = "hwko:r:s:c:qtl";
+      LongOpt[] longOpts = 
+      {
+         new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
+         new LongOpt("wsdl", LongOpt.NO_ARGUMENT, null, 'w'),
+         new LongOpt("keep", LongOpt.NO_ARGUMENT, null, 'k'),
+         new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'),
+         new LongOpt("resource", LongOpt.REQUIRED_ARGUMENT, null, 'r'),
+         new LongOpt("source", LongOpt.REQUIRED_ARGUMENT, null, 's'),
+         new LongOpt("classpath", LongOpt.REQUIRED_ARGUMENT, null, 'c'),
+         new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q'),
+         new LongOpt("show-traces", LongOpt.NO_ARGUMENT, null, 't'),
+         new LongOpt("load-provider", LongOpt.NO_ARGUMENT, null, 'l'),
+      };
+      
+      Getopt getopt = new Getopt(PROGRAM_NAME, args, shortOpts, longOpts);
+      int c;
+      while ((c = getopt.getopt()) != -1)
+      {
+         switch (c)
+         {
+            case 'k':
+               generateSource = true;
+               break;
+            case 's':
+               sourceDir = new File(getopt.getOptarg());
+               break;
+            case 'r':
+               resourceDir = new File(getopt.getOptarg());
+               break;
+            case 'w':
+               generateWsdl = true;
+               break;
+            case 't':
+               showTraces = true;
+               break;
+            case 'o':
+               outputDir = new File(getopt.getOptarg());
+               break;
+            case 'q':
+               quiet = true;
+               break;
+            case 'c':
+               processClassPath(getopt.getOptarg());
+               break;
+            case 'l':
+               loadProvider = true;
+               break;
+            case 'h':
+               printHelp();
+               System.exit(0);
+            case '?':
+               System.exit(1);
+         }
+      }
+
+      // debug output
+      if(loadProvider)
+      {
+         WSContractProvider gen = WSContractProvider.newInstance(loader);
+         System.out.println("WSContractProvider instance: " + gen.getClass().getCanonicalName());
+         System.exit(0);
+      }
+
+      int endpointPos = getopt.getOptind();
+      if (endpointPos >= args.length)
+      {
+         System.err.println("Error: endpoint implementation was not specified!");
+         printHelp();
+         System.exit(1);
+      }
+      
+      return args[endpointPos];
+   }
+   
+   
+   private int generate(String endpoint)
+   {
+      if (!JavaUtils.isLoaded(endpoint, loader))
+      {
+         System.err.println("Error: Could not load class [" + endpoint + "]. Did you specify a valid --classpath?");
+         return 1;
+      }
+      
+      WSContractProvider gen = WSContractProvider.newInstance(loader);
+      gen.setGenerateWsdl(generateWsdl);
+      gen.setGenerateSource(generateSource);
+      gen.setOutputDirectory(outputDir);
+      if (resourceDir != null)
+         gen.setResourceDirectory(resourceDir);
+      if (sourceDir != null)
+         gen.setSourceDirectory(sourceDir);
+
+      if (! quiet)
+         gen.setMessageStream(System.out);
+      
+      try
+      {
+         gen.provide(endpoint);
+         return 0;
+      }
+      catch (Throwable t)
+      {
+         System.err.println("Error: Could not generate. (use --show-traces to see full traces)");
+         if (!showTraces)
+         {
+            String message = t.getMessage();
+            if (message == null)
+               message = t.getClass().getSimpleName();
+            System.err.println("Error: " + message);
+         }
+         else
+         {
+            t.printStackTrace(System.err);
+         }
+         
+      }
+      
+      return 1;
+   }
+
+   private void processClassPath(String classPath)
+   {
+      String[] entries =  classPath.split(File.pathSeparator);
+      List<URL> urls= new ArrayList<URL>(entries.length);
+      for (String entry : entries)
+      {
+         try 
+         {
+            urls.add(new File(entry).toURL());
+         }
+         catch (MalformedURLException e)
+         {
+            System.err.println("Error: a classpath entry was malformed: " + entry);
+         }
+      }
+      loader = new URLClassLoader(urls.toArray(new URL[0]), loader);
+   }
+
+   private static void printHelp()
+   {
+      PrintStream out = System.out;
+      out.println("WSProvideTask generates portable JAX-WS artifacts for an endpoint implementation.\n");
+      out.println("usage: " + PROGRAM_NAME + " [options] <endpoint class name>\n");
+      out.println("options: ");
+      out.println("    -h, --help                  Show this help message");
+      out.println("    -k, --keep                  Keep/Generate Java source");
+      out.println("    -w, --wsdl                  Enable WSDL file generation");
+      out.println("    -c. --classpath=<path>      The classpath that contains the endpoint");
+      out.println("    -o, --output=<directory>    The directory to put generated artifacts");
+      out.println("    -r, --resource=<directory>  The directory to put resource artifacts");
+      out.println("    -s, --source=<directory>    The directory to put Java source");
+      out.println("    -q, --quiet                 Be somewhat more quiet");
+      out.println("    -t, --show-traces           Show full exception stack traces");
+      out.flush();
+   }
+}


Property changes on: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/WSProvide.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsconsume.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/command/wsconsume.java	2007-05-30 07:17:39 UTC (rev 3295)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsconsume.java	2007-05-30 08:42:44 UTC (rev 3300)
@@ -1,233 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.wsf.spi.tools.command;
-
-import gnu.getopt.Getopt;
-import gnu.getopt.LongOpt;
-import org.jboss.wsf.spi.tools.api.WSContractConsumer;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * wsconsume is a command line tool that generates portable JAX-WS artifacts
- * from a WSDL file.
- * 
- * <pre>
- *  usage: wsconsume [options] &lt;wsdl-url&gt;
- *  options: 
- *  -h, --help                  Show this help message
- *  -b, --binding=&lt;file&gt;        One or more JAX-WS or JAXB binding files 
- *  -k, --keep                  Keep/Generate Java source
- *  -c  --catalog=&lt;file&gt;        Oasis XML Catalog file for entity resolution
- *  -p  --package=&lt;name&gt;        The target package for generated source
- *  -w  --wsdlLocation=&lt;loc&gt;    Value to use for @@WebService.wsdlLocation
- *  -o, --output=&lt;directory&gt;    The directory to put generated artifacts
- *  -s, --source=&lt;directory&gt;    The directory to put Java source
- *  -q, --quiet                 Be somewhat more quiet
- *  -t, --show-traces           Show full exception stack traces
- * </pre>
- * 
- * @author <a href="mailto:jason.greene at jboss.com">Jason T. Greene</a>
- * @version $Revision$
- */
-public class wsconsume
-{
-   private List<File> bindingFiles = new ArrayList<File>();
-   private boolean generateSource = false;
-   private File catalog = null;
-   private String targetPackage = null;
-   private String wsdlLocation = null;
-   private boolean quiet = false;
-   private boolean showTraces = false;
-   private File outputDir = new File("output");
-   private File sourceDir = null;
-   
-   public static String PROGRAM_NAME = System.getProperty("program.name", wsconsume.class.getName());
-
-   public static void main(String[] args)
-   {
-      wsconsume importer = new wsconsume();
-      URL wsdl = importer.parseArguments(args);
-      System.exit(importer.importServices(wsdl));
-   }
-   
-   private URL parseArguments(String[] args)
-   {
-      String shortOpts = "hb:kc:p:w:o:s:qt";
-      LongOpt[] longOpts = 
-      {
-         new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
-         new LongOpt("binding", LongOpt.REQUIRED_ARGUMENT, null, 'b'),
-         new LongOpt("keep", LongOpt.NO_ARGUMENT, null, 'k'),
-         new LongOpt("catalog", LongOpt.REQUIRED_ARGUMENT, null, 'c'),
-         new LongOpt("package", LongOpt.REQUIRED_ARGUMENT, null, 'p'),
-         new LongOpt("wsdlLocation", LongOpt.REQUIRED_ARGUMENT, null, 'w'),
-         new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'),
-         new LongOpt("source", LongOpt.REQUIRED_ARGUMENT, null, 's'),
-         new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q'),
-         new LongOpt("show-traces", LongOpt.NO_ARGUMENT, null, 't'),
-      };
-      
-      Getopt getopt = new Getopt(PROGRAM_NAME, args, shortOpts, longOpts);
-      int c;
-      while ((c = getopt.getopt()) != -1)
-      {
-         switch (c)
-         {
-            case 'b':
-               bindingFiles.add(new File(getopt.getOptarg()));
-               break;
-            case 'k':
-               generateSource = true;
-               break;
-            case 'c':
-               catalog = new File(getopt.getOptarg());
-               break;
-            case 'p':
-               targetPackage = getopt.getOptarg();
-               break;
-            case 'w':
-               wsdlLocation = getopt.getOptarg();
-               break;
-            case 'o':
-               outputDir = new File(getopt.getOptarg());
-               break;
-            case 's':
-               sourceDir = new File(getopt.getOptarg());
-               break;
-            case 'q':
-               quiet = true;
-               break;
-            case 't':
-               showTraces = true;
-               break;
-            case 'h':
-               printHelp();
-               System.exit(0);
-            case '?':
-               System.exit(1);
-         }
-      }
-      
-      int wsdlPos = getopt.getOptind();
-      if (wsdlPos >= args.length)
-      {
-         System.err.println("Error: WSDL URL was not specified!");
-         printHelp();
-         System.exit(1);
-      }
-      
-      URL url = null;
-      try
-      {
-         try
-         {
-            url = new URL(args[wsdlPos]);
-         }
-         catch (MalformedURLException e)
-         {
-            File file = new File(args[wsdlPos]);
-            url = file.toURL();
-         }
-      }
-      catch (MalformedURLException e)
-      {
-         System.err.println("Error: Invalid URI: " + args[wsdlPos]);
-         System.exit(1);
-      }
-      
-      return url;
-   }
-   
-   
-   private int importServices(URL wsdl)
-   {
-      WSContractConsumer importer = WSContractConsumer.newInstance();
-      importer.setGenerateSource(generateSource);
-      importer.setOutputDirectory(outputDir);
-      if (sourceDir != null)
-         importer.setSourceDirectory(sourceDir);
-
-      if (! quiet)
-         importer.setMessageStream(System.out);
-      
-      if (catalog != null)
-         importer.setCatalog(catalog);
-      
-      if (targetPackage != null)
-         importer.setTargetPackage(targetPackage);
-      
-      if (wsdlLocation != null)
-         importer.setWsdlLocation(wsdlLocation);
-      
-      if (bindingFiles != null && bindingFiles.size() > 0)
-         importer.setBindingFiles(bindingFiles);
-      
-      try
-      {
-         importer.consume(wsdl);
-         return 0;
-      }
-      catch (Throwable t)
-      {
-         System.err.println("Error: Could not import. (use --show-traces to see full traces)");
-         if (!showTraces)
-         {
-            String message = t.getMessage();
-            if (message == null)
-               message = t.getClass().getSimpleName();
-            System.err.println("Error: " + message);
-         }
-         else
-         {
-            t.printStackTrace(System.err);
-         }
-         
-      }
-      
-      return 1;
-   }
-
-   private static void printHelp()
-   {
-      PrintStream out = System.out;
-      out.println("wsconsume is a command line tool that generates portable JAX-WS artifacts from a WSDL file.\n");
-      out.println("usage: " + PROGRAM_NAME + " [options] <wsdl-url>\n");
-      out.println("options: ");
-      out.println("    -h, --help                  Show this help message");
-      out.println("    -b, --binding=<file>        One or more JAX-WS or JAXB binding files ");
-      out.println("    -k, --keep                  Keep/Generate Java source");
-      out.println("    -c  --catalog=<file>        Oasis XML Catalog file for entity resolution");
-      out.println("    -p  --package=<name>        The target package for generated source");
-      out.println("    -w  --wsdlLocation=<loc>    Value to use for @WebService.wsdlLocation");
-      out.println("    -o, --output=<directory>    The directory to put generated artifacts");
-      out.println("    -s, --source=<directory>    The directory to put Java source");
-      out.println("    -q, --quiet                 Be somewhat more quiet");
-      out.println("    -t, --show-traces           Show full exception stack traces");
-      out.flush();
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsprovide.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/command/wsprovide.java	2007-05-30 07:17:39 UTC (rev 3295)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/tools/cmd/wsprovide.java	2007-05-30 08:42:44 UTC (rev 3300)
@@ -1,224 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.wsf.spi.tools.command;
-
-import gnu.getopt.Getopt;
-import gnu.getopt.LongOpt;
-import org.jboss.wsf.spi.utils.JavaUtils;
-import org.jboss.wsf.spi.tools.api.WSContractProvider;
-
-import java.io.File;
-import java.io.PrintStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * wsprovide is a command line tool that generates portable JAX-WS artifacts
- * for a service endpoint implementation.
- * 
- * <pre>
- *  usage: wsprovide [options] &lt;endpoint class name&gt;
- *  options: 
- *  -h, --help                  Show this help message
- *  -k, --keep                  Keep/Generate Java source
- *  -w, --wsdl                  Enable WSDL file generation
- *  -c. --classpath=&lt;path&lt;      The classpath that contains the endpoint
- *  -o, --output=&lt;directory&gt;    The directory to put generated artifacts
- *  -r, --resource=&lt;directory&gt;  The directory to put resource artifacts
- *  -s, --source=&lt;directory&gt;    The directory to put Java source
- *  -q, --quiet                 Be somewhat more quiet
- *  -t, --show-traces           Show full exception stack traces
- * </pre>
- * 
- * @author <a href="mailto:jason.greene at jboss.com">Jason T. Greene</a>
- * @version $Revision$
- */
-public class wsprovide
-{
-   private boolean generateSource = false;
-   private boolean generateWsdl = false;
-   private boolean quiet = false;
-   private boolean showTraces = false;
-   private ClassLoader loader = Thread.currentThread().getContextClassLoader();
-   private File outputDir = new File("output");
-   private File resourceDir = null;
-   private File sourceDir = null;
-   
-   public static String PROGRAM_NAME = System.getProperty("program.name", wsprovide.class.getSimpleName());
-
-   public static void main(String[] args)
-   {
-      wsprovide generate = new wsprovide();
-      String endpoint = generate.parseArguments(args);
-      System.exit(generate.generate(endpoint));
-   }
-   
-   private String parseArguments(String[] args)
-   {
-      String shortOpts = "hwko:r:s:c:qt";
-      LongOpt[] longOpts = 
-      {
-         new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'),
-         new LongOpt("wsdl", LongOpt.NO_ARGUMENT, null, 'w'),
-         new LongOpt("keep", LongOpt.NO_ARGUMENT, null, 'k'),
-         new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'),
-         new LongOpt("resource", LongOpt.REQUIRED_ARGUMENT, null, 'r'),
-         new LongOpt("source", LongOpt.REQUIRED_ARGUMENT, null, 's'),
-         new LongOpt("classpath", LongOpt.REQUIRED_ARGUMENT, null, 'c'),
-         new LongOpt("quiet", LongOpt.NO_ARGUMENT, null, 'q'),
-         new LongOpt("show-traces", LongOpt.NO_ARGUMENT, null, 't'),
-      };
-      
-      Getopt getopt = new Getopt(PROGRAM_NAME, args, shortOpts, longOpts);
-      int c;
-      while ((c = getopt.getopt()) != -1)
-      {
-         switch (c)
-         {
-            case 'k':
-               generateSource = true;
-               break;
-            case 's':
-               sourceDir = new File(getopt.getOptarg());
-               break;
-            case 'r':
-               resourceDir = new File(getopt.getOptarg());
-               break;
-            case 'w':
-               generateWsdl = true;
-               break;
-            case 't':
-               showTraces = true;
-               break;
-            case 'o':
-               outputDir = new File(getopt.getOptarg());
-               break;
-            case 'q':
-               quiet = true;
-               break;
-            case 'c':
-               processClassPath(getopt.getOptarg());
-               break;
-            case 'h':
-               printHelp();
-               System.exit(0);
-            case '?':
-               System.exit(1);
-         }
-      }
-      
-      int endpointPos = getopt.getOptind();
-      if (endpointPos >= args.length)
-      {
-         System.err.println("Error: endpoint implementation was not specified!");
-         printHelp();
-         System.exit(1);
-      }
-      
-      return args[endpointPos];
-   }
-   
-   
-   private int generate(String endpoint)
-   {
-      if (!JavaUtils.isLoaded(endpoint, loader))
-      {
-         System.err.println("Error: Could not load class [" + endpoint + "]. Did you specify a valid --classpath?");
-         return 1;
-      }
-      
-      WSContractProvider gen = WSContractProvider.newInstance(loader);
-      gen.setGenerateWsdl(generateWsdl);
-      gen.setGenerateSource(generateSource);
-      gen.setOutputDirectory(outputDir);
-      if (resourceDir != null)
-         gen.setResourceDirectory(resourceDir);
-      if (sourceDir != null)
-         gen.setSourceDirectory(sourceDir);
-
-      if (! quiet)
-         gen.setMessageStream(System.out);
-      
-      try
-      {
-         gen.provide(endpoint);
-         return 0;
-      }
-      catch (Throwable t)
-      {
-         System.err.println("Error: Could not generate. (use --show-traces to see full traces)");
-         if (!showTraces)
-         {
-            String message = t.getMessage();
-            if (message == null)
-               message = t.getClass().getSimpleName();
-            System.err.println("Error: " + message);
-         }
-         else
-         {
-            t.printStackTrace(System.err);
-         }
-         
-      }
-      
-      return 1;
-   }
-
-   private void processClassPath(String classPath)
-   {
-      String[] entries =  classPath.split(File.pathSeparator);
-      List<URL> urls= new ArrayList<URL>(entries.length);
-      for (String entry : entries)
-      {
-         try 
-         {
-            urls.add(new File(entry).toURL());
-         }
-         catch (MalformedURLException e)
-         {
-            System.err.println("Error: a classpath entry was malformed: " + entry);
-         }
-      }
-      loader = new URLClassLoader(urls.toArray(new URL[0]), loader);
-   }
-
-   private static void printHelp()
-   {
-      PrintStream out = System.out;
-      out.println("wsprovide generates portable JAX-WS artifacts for an endpoint implementation.\n");
-      out.println("usage: " + PROGRAM_NAME + " [options] <endpoint class name>\n");
-      out.println("options: ");
-      out.println("    -h, --help                  Show this help message");
-      out.println("    -k, --keep                  Keep/Generate Java source");
-      out.println("    -w, --wsdl                  Enable WSDL file generation");
-      out.println("    -c. --classpath=<path>      The classpath that contains the endpoint");
-      out.println("    -o, --output=<directory>    The directory to put generated artifacts");
-      out.println("    -r, --resource=<directory>  The directory to put resource artifacts");
-      out.println("    -s, --source=<directory>    The directory to put Java source");
-      out.println("    -q, --quiet                 Be somewhat more quiet");
-      out.println("    -t, --show-traces           Show full exception stack traces");
-      out.flush();
-   }
-}




More information about the jbossws-commits mailing list