You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by mm...@apache.org on 2006/12/29 11:05:43 UTC

svn commit: r490973 [3/3] - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/service/model/ rt/core/src/main/java/org/apache/cxf/interceptor/ rt/core/src/main/java/org/apache/cxf/wsdl11/ rt/core/src/test/java/org/apache/cxf/wsdl11/ rt/frontend...

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,111 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import java.util.*;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.cxf.tools.common.model.Annotator;
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaInterface;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.util.SOAPBindingUtil;
+
+public final class BindingAnnotator implements Annotator {
+    
+    public void annotate(JavaInterface intf) {
+        if (processBinding(intf)) {
+            JavaAnnotation bindingAnnotation = new JavaAnnotation("SOAPBinding");
+            String style = SOAPBindingUtil.getBindingAnnotation(intf.getSOAPStyle().toString());
+            bindingAnnotation.addArgument("style", style, "");
+            String use = SOAPBindingUtil.getBindingAnnotation(intf.getSOAPUse().toString());
+            bindingAnnotation.addArgument("use", use, "");
+            if (intf.getSOAPStyle() == SOAPBinding.Style.DOCUMENT) {
+                String parameterStyle = SOAPBindingUtil.getBindingAnnotation(intf.
+                                                                             getSOAPParameterStyle().
+                                                                             toString());
+                bindingAnnotation.addArgument("parameterStyle", parameterStyle, "");
+            }
+            intf.addAnnotation(bindingAnnotation.toString());
+        }
+    }
+    
+    private boolean processBinding(JavaInterface intf) {
+        SOAPBinding.Style soapStyle = intf.getSOAPStyle();
+        SOAPBinding.Use soapUse = intf.getSOAPUse();
+        boolean isWrapped = true;
+        int count = 0;
+        for (JavaMethod method : intf.getMethods()) {
+            if (!method.isWrapperStyle()) {
+                isWrapped = false;
+                count++;
+            }
+            if (soapStyle == null
+                && method.getSoapStyle() != null) {
+                soapStyle = method.getSoapStyle();
+            }
+            if (soapUse == null
+                && method.getSoapUse() != null) {
+                soapUse = method.getSoapUse();
+            }
+        }
+
+        if (soapStyle == SOAPBinding.Style.DOCUMENT) {
+            intf.setSOAPStyle(SOAPBinding.Style.DOCUMENT);
+            if (isWrapped) {
+                intf.setSOAPParameterStyle(SOAPBinding.ParameterStyle.WRAPPED);
+            } else {
+                intf.setSOAPParameterStyle(SOAPBinding.ParameterStyle.BARE);
+            }
+        } else if (soapStyle == null) {
+            intf.setSOAPStyle(SOAPBinding.Style.DOCUMENT);
+            if (isWrapped) {
+                intf.setSOAPParameterStyle(SOAPBinding.ParameterStyle.WRAPPED);
+            } else {
+                intf.setSOAPParameterStyle(SOAPBinding.ParameterStyle.BARE);
+            }
+            
+        } else {
+            intf.setSOAPStyle(SOAPBinding.Style.RPC);
+        }
+        
+        if (soapUse == SOAPBinding.Use.LITERAL) {
+            intf.setSOAPUse(SOAPBinding.Use.LITERAL);
+        } else if (soapUse == null) {
+            intf.setSOAPUse(SOAPBinding.Use.LITERAL);
+        } else {
+            intf.setSOAPUse(SOAPBinding.Use.ENCODED);
+        }
+
+        if (intf.getSOAPStyle() == SOAPBinding.Style.DOCUMENT
+            && count != 0
+            && count != intf.getMethods().size()) {
+            return false;
+        }
+
+        if (intf.getSOAPStyle() == SOAPBinding.Style.DOCUMENT
+            && intf.getSOAPUse() == SOAPBinding.Use.LITERAL
+            && intf.getSOAPParameterStyle() == SOAPBinding.ParameterStyle.WRAPPED) {
+            return false;
+        }
+        return true;
+    }
+}
+

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/BindingAnnotator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,119 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.tools.common.model.Annotator;
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.common.model.JavaParameter;
+import org.apache.cxf.tools.util.SOAPBindingUtil;
+
+public class WebMethodAnnotator implements Annotator {
+   
+    public void addSOAPBindingAnnotation(JavaMethod method) {
+        if (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT && !method.isWrapperStyle()) {
+            JavaAnnotation bindingAnnotation = new JavaAnnotation("SOAPBinding");
+            bindingAnnotation.addArgument("parameterStyle", SOAPBindingUtil.getBindingAnnotation("BARE"), "");
+            method.addAnnotation("SOAPBinding", bindingAnnotation);
+        }
+    }
+
+    public void addWebMethodAnnotation(JavaMethod method) {
+        addWebMethodAnnotation(method, method.getOperationName());
+    }
+
+    public void addWebMethodAnnotation(JavaMethod method, String operationName) {
+        JavaAnnotation methodAnnotation = new JavaAnnotation("WebMethod");
+        methodAnnotation.addArgument("operationName", operationName);
+        if (!StringUtils.isEmpty(method.getSoapAction())) {
+            methodAnnotation.addArgument("action", method.getSoapAction());
+        }
+        method.addAnnotation("WebMethod", methodAnnotation);
+        method.getInterface().addImport("javax.jws.WebMethod");
+    }
+
+    public void addWebResultAnnotation(JavaMethod method) {
+        if (method.isOneWay()) {
+            JavaAnnotation oneWayAnnotation = new JavaAnnotation("Oneway");
+            method.addAnnotation("Oneway", oneWayAnnotation);
+            method.getInterface().addImport("javax.jws.Oneway");
+            return;
+        }
+
+        if ("void".equals(method.getReturn().getType())) {
+            return;
+        }
+        JavaAnnotation resultAnnotation = new JavaAnnotation("WebResult");
+        String targetNamespace = method.getReturn().getTargetNamespace();
+        String name = "return";
+
+        if (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT && !method.isWrapperStyle()) {
+            name = method.getName() + "Response";
+        }
+
+        if (method.getSoapStyle() == SOAPBinding.Style.RPC) {
+            name = method.getReturn().getName();
+            targetNamespace = method.getInterface().getNamespace();
+           
+        }
+        if (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT) {
+            if (method.getReturn().getQName() != null) {
+                name = method.getReturn().getQName().getLocalPart();
+            }
+            targetNamespace = method.getReturn().getTargetNamespace();
+        }
+
+        resultAnnotation.addArgument("name", name);
+        resultAnnotation.addArgument("targetNamespace", targetNamespace);
+
+        if (method.getSoapStyle() == SOAPBinding.Style.RPC
+            || (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT && !method.isWrapperStyle())) {
+            resultAnnotation.addArgument("partName", method.getReturn().getName());
+        }
+
+        method.addAnnotation("WebResult", resultAnnotation);
+        method.getInterface().addImport("javax.jws.WebResult");
+    }
+
+    public void addWrapperAnnotation(JavaMethod method,
+                                     JavaParameter wrapperRequest,
+                                     JavaParameter wrapperResponse) {
+        if (wrapperRequest != null) {
+            JavaAnnotation wrapperRequestAnnotation = new JavaAnnotation("RequestWrapper");
+            wrapperRequestAnnotation.addArgument("localName", wrapperRequest.getType());
+            wrapperRequestAnnotation.addArgument("targetNamespace", wrapperRequest.getTargetNamespace());
+            wrapperRequestAnnotation.addArgument("className", wrapperRequest.getClassName());
+            method.addAnnotation("RequestWrapper", wrapperRequestAnnotation);
+            method.getInterface().addImport("javax.xml.ws.RequestWrapper");
+        }
+        if (wrapperResponse != null) {
+            JavaAnnotation wrapperResponseAnnotation = new JavaAnnotation("ResponseWrapper");
+            wrapperResponseAnnotation.addArgument("localName", wrapperResponse.getType());
+            wrapperResponseAnnotation.addArgument("targetNamespace", wrapperResponse.getTargetNamespace());
+            wrapperResponseAnnotation.addArgument("className", wrapperResponse.getClassName());
+            method.addAnnotation("ResponseWrapper", wrapperResponseAnnotation);
+            method.getInterface().addImport("javax.xml.ws.ResponseWrapper");
+        }
+
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,67 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.cxf.tools.common.model.Annotator;
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.common.model.JavaParameter;
+import org.apache.cxf.tools.common.model.JavaType;
+
+public final class WebParamAnnotator implements Annotator {
+    
+    public void annotate(final JavaMethod method, JavaParameter parameter) {
+        JavaAnnotation webParamAnnotation = new JavaAnnotation("WebParam");
+        String name = parameter.getName();
+        String targetNamespace = method.getInterface().getNamespace();
+        String partName = null;
+
+        if (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT) {
+            targetNamespace = parameter.getTargetNamespace();
+            if (parameter.getQName() != null) {
+                name = parameter.getQName().getLocalPart();
+            }
+            if (!method.isWrapperStyle()) {
+                partName = parameter.getPartName();
+            }
+        }
+
+        if (method.getSoapStyle() == SOAPBinding.Style.RPC) {
+            name = parameter.getPartName();
+            partName = parameter.getPartName();
+        }
+
+        if (partName != null) {
+            webParamAnnotation.addArgument("partName", partName);
+        }
+        if (parameter.getStyle() == JavaType.Style.OUT || parameter.getStyle() == JavaType.Style.INOUT) {
+            webParamAnnotation.addArgument("mode", "Mode." + parameter.getStyle().toString(), "");
+        }
+        webParamAnnotation.addArgument("name", name);
+        if (method.getSoapStyle() == SOAPBinding.Style.DOCUMENT) {
+            webParamAnnotation.addArgument("targetNamespace", targetNamespace);
+        }
+
+        parameter.setAnnotation(webParamAnnotation);
+    }
+}
+

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,37 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import org.apache.cxf.tools.common.model.Annotator;
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaInterface;
+
+public final class WebServiceAnnotator implements Annotator {
+    
+    public void annotate(JavaInterface intf) {
+        JavaAnnotation serviceAnnotation = new JavaAnnotation("WebService");
+        serviceAnnotation.addArgument("targetNamespace", intf.getNamespace());
+        serviceAnnotation.addArgument("wsdlLocation", intf.getLocation());
+        serviceAnnotation.addArgument("name", intf.getWebServiceName());
+        
+        intf.addAnnotation(serviceAnnotation.toString());
+    }
+}
+

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebServiceAnnotator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,65 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.mapper;
+
+import java.util.logging.Logger;
+
+import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.service.model.InterfaceInfo;
+import org.apache.cxf.tools.common.ToolConstants;
+import org.apache.cxf.tools.common.ToolContext;
+import org.apache.cxf.tools.common.ToolException;
+import org.apache.cxf.tools.common.model.JavaInterface;
+import org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ProcessorUtil;
+
+public final class InterfaceMapper {
+    private static final Logger LOG = LogUtils.getL7dLogger(InterfaceMapper.class);
+    private ToolContext context;
+
+    public InterfaceMapper(ToolContext c) {
+        this.context = c;
+    }
+    
+    public JavaInterface map(InterfaceInfo interfaceInfo) {
+        JavaInterface intf = new JavaInterface();
+        String namespace = interfaceInfo.getName().getNamespaceURI();
+        String packageName = ProcessorUtil.parsePackageName(namespace, context.mapPackageName(namespace));
+        
+        String location = (String)context.get(ToolConstants.CFG_WSDLURL);
+        String urlLocation;
+        try {
+            location = ProcessorUtil.getAbsolutePath(location);
+            urlLocation = ProcessorUtil.getWSDLURL(location).toString();
+        } catch (Exception ioe) {
+            Message msg = new Message("CANNOT_FIND_WSDL", LOG, context.get(ToolConstants.CFG_WSDLURL));
+            throw new ToolException(msg, ioe);
+        }
+        String webServiceName = interfaceInfo.getName().getLocalPart();
+
+        intf.setWebServiceName(webServiceName);
+        intf.setName(ProcessorUtil.mangleNameToClassName(webServiceName));
+        intf.setNamespace(namespace);
+        intf.setPackageName(packageName);
+        intf.setLocation(urlLocation);
+
+        return intf;
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/Messages.properties?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/Messages.properties (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/Messages.properties Fri Dec 29 02:05:41 2006
@@ -0,0 +1 @@
+CANNOT_FIND_WSDL = Can not find the wsdl from : {0}
\ No newline at end of file

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,50 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.mapper;
+
+import javax.wsdl.OperationType;
+
+import org.apache.cxf.service.model.OperationInfo;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.util.ProcessorUtil;
+
+public final class MethodMapper {
+    
+    public JavaMethod map(OperationInfo operation) {
+        JavaMethod method = new JavaMethod();
+        // set default Document Bare style
+        method.setSoapStyle(javax.jws.soap.SOAPBinding.Style.DOCUMENT);
+
+        String operationName = operation.getName().getLocalPart();
+
+        method.setName(ProcessorUtil.mangleNameToVariableName(operationName));
+        method.setOperationName(operationName);
+
+        if (operation.isOneWay()) {
+            method.setStyle(OperationType.ONE_WAY);
+        } else {
+            method.setStyle(OperationType.REQUEST_RESPONSE);
+        }
+        
+        method.setWrapperStyle(operation.isUnwrappedCapable());
+
+        return method;
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,75 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.mapper;
+
+import com.sun.codemodel.JType;
+import com.sun.tools.xjc.api.Property;
+
+import org.apache.cxf.service.model.MessagePartInfo;
+import org.apache.cxf.tools.common.ToolContext;
+import org.apache.cxf.tools.common.model.JavaParameter;
+import org.apache.cxf.tools.common.model.JavaType;
+import org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.ProcessorUtil;
+
+public final class ParameterMapper {
+
+    private ParameterMapper() {
+    }
+    
+    public static JavaParameter map(MessagePartInfo part, JavaType.Style style, ToolContext context) {
+        String name = ProcessorUtil.resolvePartName(part);
+        String namespace = ProcessorUtil.resolvePartNamespace(part);
+        String type = ProcessorUtil.resolvePartType(part, context);
+        
+        JavaParameter parameter = new JavaParameter(name, type, namespace);
+        parameter.setPartName(part.getName().getLocalPart());
+        parameter.setQName(ProcessorUtil.getElementName(part));
+        
+        parameter.setClassName(ProcessorUtil.getFullClzName(part, context, false));
+
+        if (style == JavaType.Style.INOUT || style == JavaType.Style.OUT) {
+            parameter.setHolder(true);
+            parameter.setHolderName(javax.xml.ws.Holder.class.getName());
+            
+            parameter.setHolderClass(ProcessorUtil.getFullClzName(part, context, true));
+        }
+        parameter.setStyle(style);
+        return parameter;
+    }
+
+    public static JavaParameter map(Property property,
+                                    JavaType.Style style,
+                                    MessagePartInfo part) {
+        JType t = property.type();
+        String targetNamespace = ProcessorUtil.resolvePartNamespace(part);
+        if (targetNamespace == null) {
+            targetNamespace = property.elementName().getNamespaceURI();
+        }
+        JavaParameter parameter = new JavaParameter(property.name(), t.fullName(), targetNamespace);
+        parameter.setStyle(style);
+        parameter.setQName(property.elementName());
+        if (style == JavaType.Style.OUT || style == JavaType.Style.INOUT) {
+            parameter.setHolder(true);
+            parameter.setHolderName(javax.xml.ws.Holder.class.getName());
+            parameter.setHolderClass(t.boxify().fullName());
+        }
+        return parameter;
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/ParameterMapper.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/wsdl11/JAXWSDefinitionBuilder.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/wsdl11/JAXWSDefinitionBuilder.java?view=diff&rev=490973&r1=490972&r2=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/wsdl11/JAXWSDefinitionBuilder.java (original)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/wsdl11/JAXWSDefinitionBuilder.java Fri Dec 29 02:05:41 2006
@@ -159,10 +159,6 @@
     
 
     public boolean validate(Definition def) throws ToolException {
-        if (context.optionSet(ToolConstants.CFG_VALIDATE_WSDL)) {
-            WSDL11Validator validator = new WSDL11Validator(def, context);
-            validator.isValid();
-        }
-        return true;
+        return new WSDL11Validator(def, context).isValid();
     }
 }

Modified: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java?view=diff&rev=490973&r1=490972&r2=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java (original)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/DummyDataBinding.java Fri Dec 29 02:05:41 2006
@@ -21,18 +21,16 @@
 
 import java.util.List;
 
-import javax.wsdl.Part;
 import javax.xml.namespace.QName;
 
 import com.sun.tools.xjc.api.Property;
+import org.apache.cxf.service.model.MessagePartInfo;
 import org.apache.cxf.tools.common.ToolContext;
 import org.apache.cxf.tools.common.ToolException;
 
 public class DummyDataBinding implements org.apache.cxf.tools.wsdlto.core.DataBindingProfile {
-    public void initialize(ToolContext context) throws ToolException {
-    }
 
-    public void generate() throws ToolException {
+    public void generate(ToolContext context) throws ToolException {
     }
 
     
@@ -44,7 +42,7 @@
         return null;
     }
     
-    public List<? extends Property> getBlock(Part part) {
+    public List<? extends Property> getBlock(MessagePartInfo part) {
         return null;
     }
 }

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,28 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal;
+
+import junit.framework.TestCase;
+
+public class PortTypeProcessorTest extends TestCase {
+    
+    public void testProcess() throws Exception {
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/PortTypeProcessorTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,43 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal;
+
+import junit.framework.TestCase;
+
+public class ProcessorUtilTest extends TestCase {
+
+    private boolean isWindows() {
+        return System.getProperty("os.name").contains("Windows");
+    }
+    
+    public void testGetAbsolutePath() throws Exception {
+        assertEquals("http://cxf.org",
+                     ProcessorUtil.getAbsolutePath("http://cxf.org"));
+
+        if (isWindows()) {
+            assertEquals("C:/org/cxf",
+                         ProcessorUtil.getAbsolutePath("c:\\org\\cxf"));
+            assertEquals("C:/org/cxf",
+                         ProcessorUtil.getAbsolutePath("c:/org/cxf"));
+            assertEquals("C:/org/cxf",
+                         ProcessorUtil.getAbsolutePath("/org/cxf"));
+        }
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtilTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,56 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaMethod;
+
+public class WebMethodAnnotatorTest extends TestCase {
+
+    WebMethodAnnotator annotator = new WebMethodAnnotator();
+    
+    public void testAddWebMethodAnnotation() throws Exception {
+        JavaMethod method = new JavaMethod();
+        annotator.addWebMethodAnnotation(method);
+        Map<String, JavaAnnotation> annotations = method.getAnnotationMap();
+        assertNotNull(annotations);
+        assertEquals(1, annotations.size());
+        assertEquals("WebMethod", annotations.keySet().iterator().next());
+    }
+
+    public void testAddWebResultAnnotation() throws Exception {
+        JavaMethod method = new JavaMethod();
+        annotator.addWebResultAnnotation(method);
+        Map<String, JavaAnnotation> annotations = method.getAnnotationMap();
+        assertNotNull(annotations);
+        assertEquals(1, annotations.size());
+        assertEquals("WebResult", annotations.keySet().iterator().next());
+        JavaAnnotation resultAnnotation = annotations.values().iterator().next();
+        Map<String, String> arguments = resultAnnotation.getArguments();
+        assertNotNull(arguments);
+        assertEquals(1, arguments.size());
+        assertEquals("name", arguments.keySet().iterator().next());
+        assertEquals("\"return\"", arguments.values().iterator().next());
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,82 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.annotator;
+
+import javax.jws.soap.SOAPBinding;
+import javax.xml.namespace.QName;
+import junit.framework.TestCase;
+
+import org.apache.cxf.tools.common.model.JavaAnnotation;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.common.model.JavaParameter;
+
+public class WebParamAnnotatorTest extends TestCase {
+
+    WebParamAnnotator annotator;
+    JavaMethod method;
+    JavaParameter parameter;
+
+    public void setUp() {
+        annotator = new WebParamAnnotator();
+        method = new JavaMethod();
+        parameter = new JavaParameter();
+    }
+
+    private void init(JavaMethod m, JavaParameter param, SOAPBinding.Style style, boolean wrapper) {
+        m.setSoapStyle(style);
+        m.setWrapperStyle(wrapper);
+
+        param.setName("x");
+        param.setTargetNamespace("http://apache.org/cxf");
+        param.setQName(new QName("http://apache.org/cxf", "x"));
+        param.setPartName("y");
+    }
+    
+    public void testAnnotateDOCWrapped() throws Exception {
+        init(method, parameter, SOAPBinding.Style.DOCUMENT, true);
+        
+        annotator.annotate(method, parameter);
+
+        JavaAnnotation annotation = parameter.getAnnotation();
+        assertEquals(2, annotation.getArguments().size());
+        assertEquals("@WebParam(targetNamespace = \"http://apache.org/cxf\", name = \"x\")",
+                     annotation.toString());
+    }
+
+    public void testAnnotateDOCBare() throws Exception {
+        init(method, parameter, SOAPBinding.Style.DOCUMENT, false);
+        
+        annotator.annotate(method, parameter);
+
+        JavaAnnotation annotation = parameter.getAnnotation();
+        assertEquals(3, annotation.getArguments().size());
+        assertEquals("@WebParam(targetNamespace = \"http://apache.org/cxf\", partName = \"y\", name = \"x\")",
+                     annotation.toString());
+    }
+
+    public void testAnnotateRPC() throws Exception {
+        init(method, parameter, SOAPBinding.Style.RPC, true);
+        annotator.annotate(method, parameter);
+        JavaAnnotation annotation = parameter.getAnnotation();
+        assertEquals(2, annotation.getArguments().size());
+        assertEquals("@WebParam(partName = \"y\", name = \"y\")",
+                     annotation.toString());
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,49 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.mapper;
+
+import javax.xml.namespace.QName;
+import junit.framework.TestCase;
+
+import org.apache.cxf.service.model.InterfaceInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.tools.common.ToolConstants;
+import org.apache.cxf.tools.common.ToolContext;
+import org.apache.cxf.tools.common.model.JavaInterface;
+
+public class InterfaceMapperTest extends TestCase {
+    public void testMap() throws Exception {
+        InterfaceInfo interfaceInfo = new InterfaceInfo(new ServiceInfo(),
+                                                        new QName("http://apache.org/hello_world_soap_http",
+                                                                  "interfaceTest"));
+
+        ToolContext context = new ToolContext();
+        context.put(ToolConstants.CFG_WSDLURL, "http://localhost/?wsdl");
+        
+        JavaInterface intf = new InterfaceMapper(context).map(interfaceInfo);
+        assertNotNull(intf);
+
+        assertEquals("interfaceTest", intf.getWebServiceName());
+        assertEquals("InterfaceTest", intf.getName());
+        assertEquals("http://apache.org/hello_world_soap_http", intf.getNamespace());
+        assertEquals("org.apache.hello_world_soap_http", intf.getPackageName());
+        assertEquals("http://localhost/?wsdl", intf.getLocation());
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/InterfaceMapperTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java?view=auto&rev=490973
==============================================================================
--- incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java (added)
+++ incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java Fri Dec 29 02:05:41 2006
@@ -0,0 +1,70 @@
+/**
+ * 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.wsdlto.frontend.jaxws.processor.internal.mapper;
+
+import javax.wsdl.OperationType;
+import javax.xml.namespace.QName;
+import junit.framework.TestCase;
+
+import org.apache.cxf.service.model.MessageInfo;
+import org.apache.cxf.service.model.OperationInfo;
+import org.apache.cxf.tools.common.model.JavaMethod;
+
+public class MethodMapperTest extends TestCase {
+
+    private OperationInfo getOperation() {
+        OperationInfo operation = new OperationInfo();
+        operation.setName(new QName("urn:test:ns", "OperationTest"));
+        return operation;
+    }
+    
+    public void testMap() throws Exception {
+        JavaMethod method = new MethodMapper().map(getOperation());
+        assertNotNull(method);
+
+        assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, method.getSoapStyle());
+        assertEquals("operationTest", method.getName());
+        assertEquals("OperationTest", method.getOperationName());
+        assertEquals(OperationType.REQUEST_RESPONSE, method.getStyle());
+        assertFalse(method.isWrapperStyle());
+        assertFalse(method.isOneWay());
+    }
+
+    public void testMapOneWayOperation() throws Exception {
+        OperationInfo operation = getOperation();
+
+        MessageInfo inputMessage = operation.createMessage(new QName("urn:test:ns", "testInputMessage"));
+        operation.setInput("input", inputMessage);
+
+        JavaMethod method = new MethodMapper().map(operation);
+        assertNotNull(method);
+        assertTrue(method.isOneWay());
+    }
+
+    public void testMapWrappedOperation() throws Exception {
+        OperationInfo operation = getOperation();
+        operation.setUnwrappedOperation(operation);
+
+        JavaMethod method = new MethodMapper().map(operation);
+        assertNotNull(method);
+        
+        assertTrue(method.isWrapperStyle());
+    }
+}

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools2/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/mapper/MethodMapperTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date