You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by jl...@apache.org on 2006/08/31 12:08:42 UTC

svn commit: r438854 - in /incubator/cxf/trunk/tools: common/src/main/java/org/apache/cxf/tools/common/ common/src/test/java/org/apache/cxf/tools/common/ wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ wsdl2java/src/main/java/org/apach...

Author: jliu
Date: Thu Aug 31 03:08:32 2006
New Revision: 438854

URL: http://svn.apache.org/viewvc?rev=438854&view=rev
Log:
Refactor wsdltojava to support a pluggable code gen mechanism, which allows the generation of client, server and service stub codes for different profiles, such as JAXWS and SCA

Added:
    incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/GeneratorPlugin.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/Generator.java
    incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java   (with props)
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AbstractGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AbstractGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AntGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AntGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ClientGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ClientGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/FaultGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/FaultGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/HandlerConfigGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/HandlerConfigGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ImplGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ImplGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java   (with props)
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/Messages.properties
      - copied unchanged from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/Messages.properties
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/SEIGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/SEIGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServerGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServerGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServiceGenerator.java
      - copied, changed from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServiceGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/xmlbeans/
Removed:
    incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/Generator.java
    incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ToolWrapperGenerator.java
    incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/ToolWrapperGeneratorTest.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AbstractGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AntGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ClientGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/FaultGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/HandlerConfigGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ImplGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/Messages.properties
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/SEIGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServerGenerator.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServiceGenerator.java
Modified:
    incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorEnvironment.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/Messages.properties
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java
    incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java

Copied: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/GeneratorPlugin.java (from r438801, incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/Generator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/GeneratorPlugin.java?p2=incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/GeneratorPlugin.java&p1=incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/Generator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/Generator.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/GeneratorPlugin.java Thu Aug 31 03:08:32 2006
@@ -19,16 +19,13 @@
 
 package org.apache.cxf.tools.common;
 
-import org.apache.cxf.configuration.CommandlineConfiguration;
-
 /**
  * Interface for code generators used by the tools
- * 
+ *
  * @author codea
  */
-public interface Generator {
+public interface GeneratorPlugin {
 
-    void setConfiguration(CommandlineConfiguration config);
-    void generate();
+    void generate(ProcessorEnvironment penv);
 }
 

Added: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java?rev=438854&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java (added)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java Thu Aug 31 03:08:32 2006
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.tools.common;
+
+import java.util.List;
+
+public interface PluginProfile {
+    List<GeneratorPlugin> getPlugins();
+}

Propchange: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/PluginProfile.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorEnvironment.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorEnvironment.java?rev=438854&r1=438853&r2=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorEnvironment.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorEnvironment.java Thu Aug 31 03:08:32 2006
@@ -23,19 +23,22 @@
 import java.util.*;
 import org.xml.sax.InputSource;
 
+import org.apache.cxf.tools.common.model.JavaModel;
 import org.apache.cxf.tools.util.PropertyUtil;
 import org.apache.cxf.tools.util.URIParserUtil;
 
 public class ProcessorEnvironment {
 
+    protected JavaModel javaModel;
     private Map<String, Object> paramMap;
     private String packageName;
     private Map<String, String> namespacePackageMap = new HashMap<String, String>();
     private Map<String, String> excludeNamespacePackageMap = new HashMap<String, String>();
     private final Map<String, InputSource> jaxbBindingFiles = new HashMap<String, InputSource>();
+
     public ProcessorEnvironment() {
     }
-   
+
 
     public void loadDefaultNS2Pck(InputStream ins) {
         try {
@@ -57,6 +60,13 @@
         }
     }
 
+    public JavaModel getJavaModel() {
+        return javaModel;
+    }
+
+    public void setJavaModel(JavaModel jModel) {
+        this.javaModel = jModel;
+    }
 
     public void setParameters(Map<String, Object> map) {
         this.paramMap = map;

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AbstractGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AbstractGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AbstractGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AbstractGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AbstractGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AbstractGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AbstractGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.io.IOException;
 import java.io.Writer;
@@ -29,39 +29,35 @@
 
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.tools.common.GeneratorPlugin;
 import org.apache.cxf.tools.common.ProcessorEnvironment;
 import org.apache.cxf.tools.common.ToolConstants;
 import org.apache.cxf.tools.common.ToolException;
-import org.apache.cxf.tools.common.model.JavaModel;
 import org.apache.cxf.tools.util.ClassCollector;
 import org.apache.cxf.tools.util.FileWriterUtil;
+import org.apache.cxf.tools.wsdl2java.generator.VelocityWriter;
 import org.apache.cxf.version.Version;
 
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.Velocity;
 
-public abstract class AbstractGenerator {
-   
+public abstract class AbstractGenerator implements GeneratorPlugin {
+
     public static final String TEMPLATE_BASE = "org/apache/cxf/tools/wsdl2java/generator/template";
     private static final Logger LOG = LogUtils.getL7dLogger(AbstractGenerator.class);
     protected ProcessorEnvironment env;
-    protected JavaModel javaModel;
+    //protected JavaModel javaModel;
     protected Map<String, Object> attributes = new HashMap<String, Object>();
     protected String name;
-    protected ClassCollector collector;
-    public  AbstractGenerator() {
-        
-    }
-    public AbstractGenerator(JavaModel jmodel, ProcessorEnvironment penv) {
-        javaModel = jmodel;
-        this.env = penv;
-        collector = (ClassCollector)env.get(ToolConstants.GENERATED_CLASS_COLLECTOR);
+    //protected ClassCollector collector;
+
+    public AbstractGenerator() {
     }
 
     public abstract boolean passthrough();
 
-    public abstract void generate() throws ToolException;
+    public abstract void generate(ProcessorEnvironment penv) throws ToolException;
 
     protected void doWrite(String templateName, Writer outputs) throws ToolException {
         Template tmpl = null;
@@ -114,11 +110,11 @@
     }
 
     protected Writer parseOutputName(String packageName, String filename) throws ToolException {
-        // collector.
+        ClassCollector collector = (ClassCollector)env.get(ToolConstants.GENERATED_CLASS_COLLECTOR);
         if (ToolConstants.CLT_GENERATOR.equals(name)) {
             collector.addClientClassName(packageName , filename , packageName + "." + filename);
         }
-        
+
         if (ToolConstants.FAULT_GENERATOR.equals(name)) {
             collector.addExceptionClassName(packageName , filename , packageName + "." + filename);
         }
@@ -127,10 +123,10 @@
         }
         if (ToolConstants.SVR_GENERATOR.equals(name)) {
             collector.addServiceClassName(packageName , filename , packageName + "." + filename);
-            
+
         }
-        
-        
+
+
         return parseOutputName(packageName, filename, ".java");
     }
 

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AntGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AntGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AntGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AntGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AntGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/AntGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/AntGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import org.apache.cxf.tools.common.ProcessorEnvironment;
 import org.apache.cxf.tools.common.ToolConstants;
@@ -28,8 +28,7 @@
 
     private static final String ANT_TEMPLATE = TEMPLATE_BASE + "/build.vm";
 
-    public AntGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+    public AntGenerator() {
         this.name = ToolConstants.ANT_GENERATOR;
     }
 
@@ -41,7 +40,10 @@
         return true;
     }
 
-    public void generate() throws ToolException {
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ClientGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ClientGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ClientGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ClientGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ClientGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ClientGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ClientGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -33,23 +33,23 @@
 public class ClientGenerator extends AbstractGenerator {
 
     private static final String CLT_TEMPLATE = TEMPLATE_BASE + "/client.vm";
-    
-    public ClientGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+
+    public ClientGenerator() {
         this.name = ToolConstants.CLT_GENERATOR;
     }
 
-
     public boolean passthrough() {
-        if (env.optionSet(ToolConstants.CFG_CLIENT) 
+        if (env.optionSet(ToolConstants.CFG_CLIENT)
             || env.optionSet(ToolConstants.CFG_GEN_CLIENT) || env.optionSet(ToolConstants.CFG_ALL)) {
             return false;
         }
         return true;
     }
 
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
 
-    public void generate() throws ToolException {
         if (passthrough()) {
             return;
         }
@@ -71,7 +71,7 @@
                     jp = (JavaPort)i.next();
                     if (jp.getPortType().equals(interfaceName)) {
                         serviceName = js.getName();
-                        
+
                         break;
                     }
                 }
@@ -80,20 +80,20 @@
                 }
             }
 
-           
+
             String clientClassName = interfaceName + "Client";
             while (isCollision(intf.getPackageName(), clientClassName)) {
                 clientClassName = clientClassName + "_Client";
             }
-            
+
             clearAttributes();
             setAttributes("clientClassName", clientClassName);
             setAttributes("intf", intf);
             setAttributes("service", js);
             setAttributes("port", jp);
-            
+
             setCommonAttributes();
-           
+
             doWrite(CLT_TEMPLATE, parseOutputName(intf.getPackageName(),
                     clientClassName));
         }

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/FaultGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/FaultGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/FaultGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/FaultGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/FaultGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/FaultGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/FaultGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -34,21 +34,23 @@
 
     private static final String FAULT_TEMPLATE = TEMPLATE_BASE + "/fault.vm";
 
-    public FaultGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+    public FaultGenerator() {
         this.name = ToolConstants.FAULT_GENERATOR;
     }
 
 
     public boolean passthrough() {
-        if (env.optionSet(ToolConstants.CFG_GEN_CLIENT) 
+        if (env.optionSet(ToolConstants.CFG_GEN_CLIENT)
             || env.optionSet(ToolConstants.CFG_GEN_SERVER)) {
             return true;
         }
         return false;
     }
 
-    public void generate() throws ToolException {
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }
@@ -58,7 +60,7 @@
         for (Iterator iter = exceptionClasses.keySet().iterator(); iter
                 .hasNext();) {
             String expClassName = (String)iter.next();
-            JavaExceptionClass expClz = 
+            JavaExceptionClass expClz =
                 exceptionClasses.get(expClassName);
 
             clearAttributes();

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/HandlerConfigGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/HandlerConfigGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/HandlerConfigGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/HandlerConfigGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/HandlerConfigGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/HandlerConfigGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/HandlerConfigGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.io.Writer;
 
@@ -36,13 +36,10 @@
 
     private static final String HANDLER_CHAIN_NAME = "";
     private JavaInterface intf;
-    private JavaAnnotation handlerChainAnnotation; 
-  
-    public HandlerConfigGenerator(JavaInterface i, ProcessorEnvironment env) {
-        
+    private JavaAnnotation handlerChainAnnotation;
+
+    public HandlerConfigGenerator() {
         this.name = ToolConstants.HANDLER_GENERATOR;
-        this.intf = i;
-        super.setEnvironment(env);
     }
 
     public JavaAnnotation getHandlerAnnotation() {
@@ -55,8 +52,14 @@
         }
         return false;
     }
-    
-    public void generate() throws ToolException {
+
+    public void setJavaInterface(JavaInterface javaInterface) {
+        this.intf = javaInterface;
+    }
+
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+
         if (passthrough()) {
             return;
         }
@@ -76,7 +79,6 @@
     }
 
     private void generateHandlerChainFile(Element hChains, Writer writer) throws ToolException {
-        XMLUtils xmlUtils = new XMLUtils();
-        xmlUtils.generateXMLFile(hChains, writer);
+        XMLUtils.generateXMLFile(hChains, writer);
     }
 }

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ImplGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ImplGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ImplGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ImplGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ImplGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ImplGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ImplGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -34,9 +34,8 @@
 
     private static final String IMPL_TEMPLATE = TEMPLATE_BASE + "/impl.vm";
 
-   
-    public ImplGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+
+    public ImplGenerator() {
         this.name = ToolConstants.IMPL_GENERATOR;
     }
 
@@ -48,7 +47,10 @@
         return true;
     }
 
-    public void generate() throws ToolException {
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }
@@ -71,14 +73,14 @@
 
             clearAttributes();
             setAttributes("intf", intf);
-           
+
             setAttributes("service", service);
             setAttributes("port", port);
-           
+
             setCommonAttributes();
 
             doWrite(IMPL_TEMPLATE, parseOutputName(intf.getPackageName(), intf.getName() + "Impl"));
-        }        
+        }
     }
 
 }

Added: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java?rev=438854&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java (added)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java Thu Aug 31 03:08:32 2006
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cxf.tools.common.GeneratorPlugin;
+import org.apache.cxf.tools.common.PluginProfile;
+
+/**
+ * Generates a service interface, service stub, and port accessor.
+ *
+ */
+public class JAXWSProfile implements PluginProfile {
+    public List<GeneratorPlugin> getPlugins() {
+        List<GeneratorPlugin> plugins = new ArrayList<GeneratorPlugin>();
+
+        plugins.add(new SEIGenerator());
+        plugins.add(new FaultGenerator());
+        plugins.add(new ServerGenerator());
+        plugins.add(new ImplGenerator());
+        plugins.add(new ClientGenerator());
+        plugins.add(new ServiceGenerator());
+        plugins.add(new AntGenerator());
+
+        return plugins;
+    }
+}

Propchange: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/JAXWSProfile.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/SEIGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/SEIGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/SEIGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/SEIGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/SEIGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/SEIGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/SEIGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -31,9 +31,8 @@
 public class SEIGenerator extends AbstractGenerator {
 
     private static final String SEI_TEMPLATE = TEMPLATE_BASE + "/sei.vm";
-   
-    public SEIGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+
+    public SEIGenerator() {
         this.name = ToolConstants.SEI_GENERATOR;
     }
 
@@ -48,7 +47,10 @@
         return intf.getHandlerChains() != null;
     }
 
-    public void generate() throws ToolException {
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }
@@ -59,8 +61,10 @@
             JavaInterface intf = interfaces.get(interfaceName);
 
             if (hasHandlerConfig(intf)) {
-                HandlerConfigGenerator handlerGen = new HandlerConfigGenerator(intf, getEnvironment());
-                handlerGen.generate();
+                HandlerConfigGenerator handlerGen = new HandlerConfigGenerator();
+                //REVISIT: find a better way to handle Handler gen, should not pass JavaInterface around.
+                handlerGen.setJavaInterface(intf);
+                handlerGen.generate(getEnvironment());
 
                 if (handlerGen.getHandlerAnnotation() != null) {
                     intf.addAnnotation(handlerGen.getHandlerAnnotation().toString());
@@ -74,4 +78,4 @@
             doWrite(SEI_TEMPLATE, parseOutputName(intf.getPackageName(), intf.getName()));
         }
     }
-}
+}
\ No newline at end of file

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServerGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServerGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServerGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServerGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServerGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServerGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServerGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.util.Iterator;
 import java.util.Map;
@@ -33,9 +33,8 @@
 public class ServerGenerator extends AbstractGenerator {
 
     private static final String SRV_TEMPLATE = TEMPLATE_BASE + "/server.vm";
-    
-    public ServerGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+
+    public ServerGenerator() {
         this.name = ToolConstants.SVR_GENERATOR;
     }
 
@@ -48,7 +47,10 @@
         return true;
     }
 
-    public void generate() throws ToolException {
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }
@@ -74,20 +76,20 @@
                     break;
                 }
             }
-            
+
 
             String serverClassName = interfaceName + "Server";
-            
+
             while (isCollision(intf.getPackageName(), serverClassName)) {
                 serverClassName = serverClassName + "_Server";
             }
-           
+
             clearAttributes();
             setAttributes("serverClassName", serverClassName);
             setAttributes("intf", intf);
             setAttributes("address", address);
             setCommonAttributes();
-                       
+
             doWrite(SRV_TEMPLATE, parseOutputName(intf.getPackageName(), serverClassName));
         }
     }

Copied: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServiceGenerator.java (from r438801, incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServiceGenerator.java)
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServiceGenerator.java?p2=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServiceGenerator.java&p1=incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServiceGenerator.java&r1=438801&r2=438854&rev=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/ServiceGenerator.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/generator/jaxws/ServiceGenerator.java Thu Aug 31 03:08:32 2006
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.tools.wsdl2java.generator;
+package org.apache.cxf.tools.wsdl2java.generator.jaxws;
 
 import java.net.URL;
 import java.util.Iterator;
@@ -37,31 +37,33 @@
     private static final Logger LOG = LogUtils.getL7dLogger(AbstractGenerator.class);
     private static final String SERVICE_TEMPLATE = TEMPLATE_BASE + "/service.vm";
 
-    public ServiceGenerator(JavaModel jmodel, ProcessorEnvironment env) {
-        super(jmodel, env);
+    public ServiceGenerator() {
         this.name = ToolConstants.SERVICE_GENERATOR;
     }
 
-    public boolean passthrough() {  
+    public boolean passthrough() {
         if (env.optionSet(ToolConstants.CFG_GEN_SERVER)) {
             return true;
         }
         return false;
     }
-    
-    public void generate() throws ToolException {
+
+    public void generate(ProcessorEnvironment penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.getJavaModel();
+
         if (passthrough()) {
             return;
         }
-        
+
         Map<String, JavaServiceClass> serviceClasses = javaModel.getServiceClasses();
-        
+
         Iterator ite = serviceClasses.values().iterator();
-        
+
         while (ite.hasNext()) {
-            
+
             JavaServiceClass js = (JavaServiceClass)ite.next();
-            
+
             String location = (String)env.get(ToolConstants.CFG_WSDLURL);
             URL url = null;
             try {
@@ -72,7 +74,7 @@
             }
 
             clearAttributes();
-            
+
             setAttributes("service", js);
             setAttributes("wsdlLocation", url.toString());
             setCommonAttributes();

Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/Messages.properties?rev=438854&r1=438853&r2=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/Messages.properties (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/Messages.properties Thu Aug 31 03:08:32 2006
@@ -24,6 +24,7 @@
 FAIL_TO_CREATE_SOAPBINDING = Fail to create soapbinding
 FAIL_TO_CREATE_XMLBINDING = Fail to create xml binding
 FAIl_TO_CREATE_SOAPADDRESS = Fail to create soap address
+FAIl_TO_CREATE_PLUGINPROFILE = Fail to create PluginProfile
 
 SKIP_OVERLOADED_OPERATION=Skipping overloaded operation: {0}
 NO_INPUT_MESSAGE=Problem outputting method for {0} as no input message was found for input named {1}

Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java?rev=438854&r1=438853&r2=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToJavaProcessor.java Thu Aug 31 03:08:32 2006
@@ -38,19 +38,14 @@
 import com.sun.tools.xjc.api.S2JJAXBModel;
 
 import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.tools.common.PluginProfile;
 import org.apache.cxf.tools.common.ToolConstants;
 import org.apache.cxf.tools.common.ToolException;
 import org.apache.cxf.tools.common.extensions.jaxws.CustomizationParser;
 import org.apache.cxf.tools.common.extensions.jaxws.JAXWSBinding;
 import org.apache.cxf.tools.common.model.JavaModel;
 import org.apache.cxf.tools.util.ClassCollector;
-import org.apache.cxf.tools.wsdl2java.generator.AntGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.ClientGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.FaultGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.ImplGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.SEIGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.ServerGenerator;
-import org.apache.cxf.tools.wsdl2java.generator.ServiceGenerator;
+import org.apache.cxf.tools.wsdl2java.generator.jaxws.JAXWSProfile;
 import org.apache.cxf.tools.wsdl2java.processor.compiler.Compiler;
 import org.apache.cxf.tools.wsdl2java.processor.internal.PortTypeProcessor;
 import org.apache.cxf.tools.wsdl2java.processor.internal.SEIAnnotationProcessor;
@@ -59,31 +54,20 @@
 
 public class WSDLToJavaProcessor extends WSDLToProcessor {
 
-    protected void registerGenerators(JavaModel jmodel) {
-        addGenerator(ToolConstants.SEI_GENERATOR, new SEIGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.FAULT_GENERATOR, new FaultGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.SVR_GENERATOR, new ServerGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.IMPL_GENERATOR, new ImplGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.CLT_GENERATOR, new ClientGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.SERVICE_GENERATOR, new ServiceGenerator(jmodel, getEnvironment()));
-        addGenerator(ToolConstants.ANT_GENERATOR, new AntGenerator(jmodel, getEnvironment()));
-    }
-
     public void process() throws ToolException {
         init();
+
+        //Generate type classes for specified databinding
         if (isSOAP12Binding(wsdlDefinition)) {
             Message msg = new Message("SOAP12_UNSUPPORTED", LOG);
             throw new ToolException(msg);
         }
         generateTypes();
 
-        JavaModel jmodel = wsdlDefinitionToJavaModel(getWSDLDefinition());
-        if (jmodel == null) {
-            Message msg = new Message("FAIL_TO_CREATE_JAVA_MODEL", LOG);
-            throw new ToolException(msg);
-        }
-        registerGenerators(jmodel);
+        //Generate client, server and service stub codeS for specified profile
+        registerGenerators();
         doGeneration();
+
         if (env.get(ToolConstants.CFG_COMPILE) != null) {
             compile();
         }
@@ -106,13 +90,10 @@
             throw new ToolException(msg);
         }
 
-        JavaModel jmodel = wsdlDefinitionToJavaModel(def);
-        if (jmodel == null) {
-            Message msg = new Message("FAIL_TO_CREATE_JAVA_MODEL", LOG);
-            throw new ToolException(msg);
-        }
-        registerGenerators(jmodel);
+        //Generate client, server and service stub code for specified profile
+        registerGenerators();
         doGeneration();
+
         try {
             if (env.isExcludeNamespaceEnabled()) {
                 removeExcludeFiles();
@@ -157,6 +138,32 @@
         }
     }
 
+    private void registerGenerators() {
+        //FIXME: Get profile name from input parameters
+        String profile = null;
+        if (profile == null) {
+            profile = JAXWSProfile.class.getName();
+        }
+
+        PluginProfile profileObj = null;
+        try {
+            profileObj = (PluginProfile) Class.forName(profile).newInstance();
+        } catch (Exception e) {
+            Message msg = new Message("FAIl_TO_CREATE_PLUGINPROFILE", LOG);
+            throw new ToolException(msg);
+        }
+
+        //Setup JavaModel for generators.
+        JavaModel jmodel = wsdlDefinitionToJavaModel(getWSDLDefinition());
+        if (jmodel == null) {
+            Message msg = new Message("FAIL_TO_CREATE_JAVA_MODEL", LOG);
+            throw new ToolException(msg);
+        }
+        getEnvironment().setJavaModel(jmodel);
+
+        generators =  profileObj.getPlugins();
+    }
+
     private void generateTypes() throws ToolException {
         if (env.optionSet(ToolConstants.CFG_GEN_CLIENT) || env.optionSet(ToolConstants.CFG_GEN_SERVER)) {
             return;
@@ -168,20 +175,20 @@
             String dir = (String)env.get(ToolConstants.CFG_OUTPUTDIR);
 
             TypesCodeWriter fileCodeWriter = new TypesCodeWriter(new File(dir), excludePkgList);
-             
+
             if (rawJaxbModelGenCode instanceof S2JJAXBModel  && !nestedJaxbBinding) {
                 S2JJAXBModel schem2JavaJaxbModel = (S2JJAXBModel)rawJaxbModelGenCode;
-            
+
                 JCodeModel jcodeModel = schem2JavaJaxbModel.generateCode(null, null);
                 jcodeModel.build(fileCodeWriter);
                 excludeGenFiles = fileCodeWriter.getExcludeFileList();
             }
-            
+
             if (rawJaxbModelGenCode instanceof S2JJAXBModel  && nestedJaxbBinding) {
                 model.codeModel.build(fileCodeWriter);
                 excludeGenFiles = fileCodeWriter.getExcludeFileList();
             }
-            
+
             return;
         } catch (IOException e) {
             Message msg = new Message("FAIL_TO_GENERATE_TYPES", LOG);
@@ -198,7 +205,7 @@
         javaModel.setJAXWSBinding(customizing(definition));
 
         Map<QName, PortType> portTypes = getPortTypes(definition);
- 
+
         for (Iterator iter = portTypes.keySet().iterator(); iter.hasNext();) {
             PortType portType = (PortType)portTypes.get(iter.next());
             PortTypeProcessor portTypeProcessor = new PortTypeProcessor(getEnvironment());

Modified: incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java?rev=438854&r1=438853&r2=438854&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java (original)
+++ incubator/cxf/trunk/tools/wsdl2java/src/main/java/org/apache/cxf/tools/wsdl2java/processor/WSDLToProcessor.java Thu Aug 31 03:08:32 2006
@@ -74,6 +74,7 @@
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.helpers.WSDLHelper;
+import org.apache.cxf.tools.common.GeneratorPlugin;
 import org.apache.cxf.tools.common.Processor;
 import org.apache.cxf.tools.common.ProcessorEnvironment;
 import org.apache.cxf.tools.common.ToolConstants;
@@ -85,7 +86,6 @@
 import org.apache.cxf.tools.util.URIParserUtil;
 import org.apache.cxf.tools.util.WSDLExtensionRegister;
 import org.apache.cxf.tools.validator.internal.WSDL11Validator;
-import org.apache.cxf.tools.wsdl2java.generator.AbstractGenerator;
 import org.apache.cxf.tools.wsdl2java.processor.internal.ClassNameAllocatorImpl;
 import org.apache.cxf.tools.wsdl2java.processor.internal.JAXBBindingMerger;
 
@@ -107,17 +107,16 @@
     protected List<String> excludeGenFiles;
     protected Map<QName, Service> importedServices = new java.util.HashMap<QName, Service>();
     protected Map<QName, PortType> importedPortTypes = new java.util.HashMap<QName, PortType>();
+    protected List<GeneratorPlugin> generators;
 
     //  For process nestedJaxbBinding
     protected boolean nestedJaxbBinding;
     protected Model model;
 
-    
     protected List<Schema> schemaList = new ArrayList<Schema>();
-    private final Map<String, AbstractGenerator> generators = new HashMap<String, AbstractGenerator>();
     private List<Definition> importedDefinitions = new ArrayList<Definition>();
     private List<String> schemaTargetNamespaces = new ArrayList<String>();
-    
+
     protected Writer getOutputWriter(String newNameExt) throws ToolException {
         Writer writer = null;
         String newName = null;
@@ -153,7 +152,7 @@
         try {
             writer = fw.getWriter("", newName);
         } catch (IOException ioe) {
-            org.apache.cxf.common.i18n.Message msg = 
+            org.apache.cxf.common.i18n.Message msg =
                 new org.apache.cxf.common.i18n.Message("FAIL_TO_WRITE_FILE",
                                                               LOG,
                                                               env.get(ToolConstants.CFG_OUTPUTDIR)
@@ -175,8 +174,8 @@
             parseImports(wsdlDefinition);
             buildImportedMaps();
         } catch (WSDLException we) {
-            org.apache.cxf.common.i18n.Message msg = 
-                new org.apache.cxf.common.i18n.Message("FAIL_TO_CREATE_WSDL_DEFINITION", 
+            org.apache.cxf.common.i18n.Message msg =
+                new org.apache.cxf.common.i18n.Message("FAIL_TO_CREATE_WSDL_DEFINITION",
                                                              LOG);
             throw new ToolException(msg, we);
         }
@@ -237,7 +236,7 @@
 
             Velocity.init(props);
         } catch (Exception e) {
-            org.apache.cxf.common.i18n.Message msg = 
+            org.apache.cxf.common.i18n.Message msg =
                 new org.apache.cxf.common.i18n.Message("FAIL_TO_INITIALIZE_VELOCITY_ENGINE",
                                                              LOG);
             LOG.log(Level.SEVERE, msg.toString());
@@ -277,7 +276,7 @@
         try {
             buildJaxbModel();
         } catch (Exception e) {
-            org.apache.cxf.common.i18n.Message msg = 
+            org.apache.cxf.common.i18n.Message msg =
                 new org.apache.cxf.common.i18n.Message("FAIL_TO_CREATE_JAXB_MODEL",
                                                              LOG);
             LOG.log(Level.SEVERE, msg.toString());
@@ -341,8 +340,8 @@
                 insource.setSystemId(systemid);
                 opt.setSchemaLanguage(Language.XMLSCHEMA);
                 opt.addGrammar(file);
-               
-            } 
+
+            }
 
         }
 
@@ -364,7 +363,7 @@
             model = ModelLoader.load(opt, new JCodeModel(), new JAXBErrorReceiver());
             model.generateCode(opt, new JAXBErrorReceiver());
         }
-       
+
     }
 
     @SuppressWarnings("unchecked")
@@ -496,10 +495,6 @@
         return this.wsdlDefinition;
     }
 
-    public void addGenerator(String name, AbstractGenerator gen) {
-        generators.put(name, gen);
-    }
-
     public void process() throws ToolException {
     }
 
@@ -511,9 +506,8 @@
     }
 
     protected void doGeneration() throws ToolException {
-        for (String genName : generators.keySet()) {
-            AbstractGenerator gen = generators.get(genName);
-            gen.generate();
+        for (GeneratorPlugin plugin : generators) {
+            plugin.generate(env);
         }
     }
 
@@ -555,14 +549,14 @@
 
     public void checkSupported(Definition def) throws ToolException {
         if (isSOAP12Binding(wsdlDefinition)) {
-            org.apache.cxf.common.i18n.Message msg = 
+            org.apache.cxf.common.i18n.Message msg =
                 new org.apache.cxf.common.i18n.Message("SOAP12_UNSUPPORTED",
                                                              LOG);
             throw new ToolException(msg);
         }
 
         if (isRPCEncoded(wsdlDefinition)) {
-            org.apache.cxf.common.i18n.Message msg = 
+            org.apache.cxf.common.i18n.Message msg =
                 new org.apache.cxf.common.i18n.Message("UNSUPPORTED_RPC_ENCODED",
                                                              LOG);
             throw new ToolException(msg);
@@ -623,7 +617,7 @@
         }
     }
 
-    private static enum Mode {       
+    private static enum Mode {
         CODE,
         BGM,
         SIGNATURE,
@@ -637,17 +631,17 @@
             if (env.isVerbose()) {
                 saxEx.printStackTrace();
             } else {
-                System.err.println("Use jaxb customization binding file to generate types warring " 
+                System.err.println("Use jaxb customization binding file to generate types warring "
                                    + saxEx.getMessage());
             }
-            
+
         }
 
         public void error(org.xml.sax.SAXParseException saxEx) throws com.sun.tools.xjc.AbortException {
             if (env.isVerbose()) {
                 saxEx.printStackTrace();
             } else {
-                System.err.println("Use jaxb customization binding file to generate types error " 
+                System.err.println("Use jaxb customization binding file to generate types error "
                                    + saxEx.getMessage());
             }
         }
@@ -655,14 +649,14 @@
         public void info(org.xml.sax.SAXParseException saxEx) {
             if (env.isVerbose()) {
                 saxEx.printStackTrace();
-            } 
+            }
         }
 
         public void fatalError(org.xml.sax.SAXParseException saxEx) throws com.sun.tools.xjc.AbortException {
             if (env.isVerbose()) {
                 saxEx.printStackTrace();
             } else {
-                System.err.println("Use jaxb customization binding file to generate types fatal error " 
+                System.err.println("Use jaxb customization binding file to generate types fatal error "
                                    + saxEx.getMessage());
             }
         }