cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r630382 [3/11] - in /incubator/cxf/trunk/tools: anttask/src/main/java/org/apache/cxf/ant/extensions/ common/src/main/java/org/apache/cxf/tools/common/ common/src/main/java/org/apache/cxf/tools/common/model/ common/src/test/java/org/apache/c...
Date Sat, 23 Feb 2008 03:12:56 GMT
Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties Fri Feb 22 19:12:48 2008
@@ -1,30 +1,30 @@
-#
-#
-#    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.
-#
-#
-DIRECTORY_NOT_EXIST = Directory : {0} does not exist
-NOT_A_DIRECTORY = {0} is not a directory
-FILE_NOT_EXIST = File does not exist
-NOT_A_FILE = {0} is not a file
-PARAMETER_MISSING = Parameter is not valid or required parameter is missing
-INVALID_FRONTEND = "{0}" is not a valid frontend, java2ws only supports jaxws and the simple frontend.
-WRAPPERBEAN_WITHOUT_JAXWS = -wrapperbean is only valid for the jaxws front end.
-INVALID_DATABINDING = Invalid value {0} for data binding type.
-INVALID_DATABINDING_FOR_SIMPLE = Simple front end only supports aegis databinding.
-
+#
+#
+#    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.
+#
+#
+DIRECTORY_NOT_EXIST = Directory : {0} does not exist
+NOT_A_DIRECTORY = {0} is not a directory
+FILE_NOT_EXIST = File does not exist
+NOT_A_FILE = {0} is not a file
+PARAMETER_MISSING = Parameter is not valid or required parameter is missing
+INVALID_FRONTEND = "{0}" is not a valid frontend, java2ws only supports jaxws and the simple frontend.
+WRAPPERBEAN_WITHOUT_JAXWS = -wrapperbean is only valid for the jaxws front end.
+INVALID_DATABINDING = Invalid value {0} for data binding type.
+INVALID_DATABINDING_FOR_SIMPLE = Simple front end only supports aegis databinding.
+

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/Messages.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml Fri Feb 22 19:12:48 2008
@@ -1,249 +1,249 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	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.
--->
-
-<!-- The xhtml namespace is for usage documentation -->
-<toolspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict"
-	xsi:schemaLocation="http://cxf.apache.org/Xutil/ToolSpecification http://cxf.apache.org/schema/xutil/tool-specification.xsd"
-	xmlns="http://cxf.apache.org/Xutil/ToolSpecification"
-	xmlns:ts="http://cxf.apache.org/Xutil/ToolSpecification">
-
-	<annotation>
- Examples :
-   java2ws -wsdl org.apache.hello_world_soap_http.Greeter 
-   java2ws -cp ./tmp org.apache.hello_world_soap_http.Greeter -wsdl 
-   java2ws -o hello.wsdl -wsdl org.apache.hello_world_soap_http.Greeter 
-   java2ws -client -server org.apache.hello_world_soap_http.Greeter
-   java2ws -wrapperbean org.apache.hello_world_soap_http.Greeter
-	</annotation>
-	<usage>
-		<optionGroup id="options">
-		
-			<option id="databinding" maxOccurs="1">
-				<annotation>
-				    Specify the data binding (aegis or jaxb). Default is jaxb for jaxws 
-				    frontend, and aegis for simple frontend.
-				</annotation>
-				<switch>databinding</switch>
-				<associatedArgument placement="afterSpace">
-				  <annotation>jaxb or aegis</annotation>
-				</associatedArgument>
-			</option>
-			<option id="frontend" maxOccurs="1">
-				<annotation>
-					Specify the frontend to use.  jaxws and the simple frontend are supported.
-				</annotation>
-				<switch>frontend</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>jaxws or simple</annotation>
-				</associatedArgument>
-			</option>
-			
-			<option id="wsdl" maxOccurs="1">
-				<annotation>
-					Specify to generate the WSDL file
-				</annotation>
-				<switch>wsdl</switch>
-			</option>
-			
-			<option id="wrapperbean" maxOccurs="1">
-				<annotation>
-					Specify to generate the wrapper and fault bean
-				</annotation>
-				<switch>wrapperbean</switch>
-			</option>
-			
-			<option id="client" maxOccurs="1">
-				<annotation>
-					Specify to genearte client side code
-				</annotation>
-				<switch>client</switch>
-			</option>
-				
-			<option id="server" maxOccurs="1">
-				<annotation>
-					Specify to genearte server side code
-				</annotation>
-				<switch>server</switch>
-			</option>
-								
-			<option id="outputfile" maxOccurs="1">
-				<annotation>
-					Specify the output wsdl file name
-				</annotation>
-				<switch>o</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>output-file</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="outputdir" maxOccurs="1">
-				<annotation>
-					The directory in which the output wsdl and other 
-					resource files are placed
-				</annotation>
-				<switch>d</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>resource-directory</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="sourcedir" maxOccurs="1">
-				<annotation>
-					The directory in which the generated java source files
-					are placed
-				</annotation>
-				<switch>s</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>source-directory</annotation>
-				</associatedArgument>
-			</option>
-			<option id="classdir" maxOccurs="1">
-				<annotation>
-					The directory in which the generated wrapper sources are
-					compiled into. If not specified, the files are not
-					compiled.
-				</annotation>
-				<switch>classdir</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>compile-classes-directory</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="classpath" maxOccurs="1">
-				<annotation>
-					Specify the SEI and types class search path of
-					directories and zip/jar files
-				</annotation>
-				<switch>cp</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>class-path</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="soap12" maxOccurs="1">
-				<annotation>
-					Specify to generate SOAP 1.2 binding
-				</annotation>
-				<switch>soap12</switch>
-			</option>
-
-			<option id="tns" maxOccurs="1">
-				<annotation>
-					Specify the target namespace to use in the wsdl
-				</annotation>
-				<switch>t</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>target-namespace</annotation>
-				</associatedArgument>
-			</option>
-			
-			<option id="beans" maxOccurs="unbounded">
-				<annotation>Specify the pathname of a file defining additional Spring beans to customize databinding
-				configuration.</annotation>
-				<switch>beans</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>pathname of the bean definition file.</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="servicename" maxOccurs="1">
-				<annotation>
-					Specify the service name to use in the generated
-					wsdl
-				</annotation>
-				<switch>servicename</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>service-name</annotation>
-				</associatedArgument>
-			</option>
-
-			<option id="port" maxOccurs="1">
-				<annotation>
-					Specify the port name to use in the generated wsdl
-				</annotation>
-				<switch>portname</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>port-name</annotation>
-				</associatedArgument>
-			</option>
-			
-			<option id="address" maxOccurs="1">
-				<annotation>
-					Specify the port address 
-				</annotation>
-				<switch>address</switch>
-				<associatedArgument placement="afterSpace">
-					<annotation>address</annotation>
-				</associatedArgument>
-			</option>			
-			
-
-			<option id="createxsdimports" maxOccurs="1">
-				<annotation>
-					Output schemas to separate files and use imports to
-					load them instead of inlining them into the wsdl.
-				</annotation>
-				<switch>createxsdimports</switch>
-			</option>
-
-		</optionGroup>
-
-		<optionGroup id="common_options">
-			<option id="help" maxOccurs="1">
-				<annotation>
-					Display detailed information for options.
-				</annotation>
-				<switch>h</switch>
-				<switch>?</switch>
-				<switch>help</switch>
-			</option>
-
-			<option id="version">
-				<annotation>
-					Display the version of the tool.
-				</annotation>
-				<switch>v</switch>
-			</option>
-
-			<option id="verbose">
-				<annotation>
-					Verbose mode
-				</annotation>
-				<switch>verbose</switch>
-				<switch>V</switch>
-			</option>
-
-			<option id="quiet">
-				<annotation>
-					Quiet mode
-				</annotation>
-				<switch>quiet</switch>
-				<switch>q</switch>
-			</option>
-		</optionGroup>
-
-		   <argument id="classname" minOccurs="1" maxOccurs="1">
-			   <annotation>
-			        SEI class name
-			   </annotation>
-		   </argument>
-	</usage>
-</toolspec>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	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.
+-->
+
+<!-- The xhtml namespace is for usage documentation -->
+<toolspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict"
+	xsi:schemaLocation="http://cxf.apache.org/Xutil/ToolSpecification http://cxf.apache.org/schema/xutil/tool-specification.xsd"
+	xmlns="http://cxf.apache.org/Xutil/ToolSpecification"
+	xmlns:ts="http://cxf.apache.org/Xutil/ToolSpecification">
+
+	<annotation>
+ Examples :
+   java2ws -wsdl org.apache.hello_world_soap_http.Greeter 
+   java2ws -cp ./tmp org.apache.hello_world_soap_http.Greeter -wsdl 
+   java2ws -o hello.wsdl -wsdl org.apache.hello_world_soap_http.Greeter 
+   java2ws -client -server org.apache.hello_world_soap_http.Greeter
+   java2ws -wrapperbean org.apache.hello_world_soap_http.Greeter
+	</annotation>
+	<usage>
+		<optionGroup id="options">
+		
+			<option id="databinding" maxOccurs="1">
+				<annotation>
+				    Specify the data binding (aegis or jaxb). Default is jaxb for jaxws 
+				    frontend, and aegis for simple frontend.
+				</annotation>
+				<switch>databinding</switch>
+				<associatedArgument placement="afterSpace">
+				  <annotation>jaxb or aegis</annotation>
+				</associatedArgument>
+			</option>
+			<option id="frontend" maxOccurs="1">
+				<annotation>
+					Specify the frontend to use.  jaxws and the simple frontend are supported.
+				</annotation>
+				<switch>frontend</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>jaxws or simple</annotation>
+				</associatedArgument>
+			</option>
+			
+			<option id="wsdl" maxOccurs="1">
+				<annotation>
+					Specify to generate the WSDL file
+				</annotation>
+				<switch>wsdl</switch>
+			</option>
+			
+			<option id="wrapperbean" maxOccurs="1">
+				<annotation>
+					Specify to generate the wrapper and fault bean
+				</annotation>
+				<switch>wrapperbean</switch>
+			</option>
+			
+			<option id="client" maxOccurs="1">
+				<annotation>
+					Specify to genearte client side code
+				</annotation>
+				<switch>client</switch>
+			</option>
+				
+			<option id="server" maxOccurs="1">
+				<annotation>
+					Specify to genearte server side code
+				</annotation>
+				<switch>server</switch>
+			</option>
+								
+			<option id="outputfile" maxOccurs="1">
+				<annotation>
+					Specify the output wsdl file name
+				</annotation>
+				<switch>o</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>output-file</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="outputdir" maxOccurs="1">
+				<annotation>
+					The directory in which the output wsdl and other 
+					resource files are placed
+				</annotation>
+				<switch>d</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>resource-directory</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="sourcedir" maxOccurs="1">
+				<annotation>
+					The directory in which the generated java source files
+					are placed
+				</annotation>
+				<switch>s</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>source-directory</annotation>
+				</associatedArgument>
+			</option>
+			<option id="classdir" maxOccurs="1">
+				<annotation>
+					The directory in which the generated wrapper sources are
+					compiled into. If not specified, the files are not
+					compiled.
+				</annotation>
+				<switch>classdir</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>compile-classes-directory</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="classpath" maxOccurs="1">
+				<annotation>
+					Specify the SEI and types class search path of
+					directories and zip/jar files
+				</annotation>
+				<switch>cp</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>class-path</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="soap12" maxOccurs="1">
+				<annotation>
+					Specify to generate SOAP 1.2 binding
+				</annotation>
+				<switch>soap12</switch>
+			</option>
+
+			<option id="tns" maxOccurs="1">
+				<annotation>
+					Specify the target namespace to use in the wsdl
+				</annotation>
+				<switch>t</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>target-namespace</annotation>
+				</associatedArgument>
+			</option>
+			
+			<option id="beans" maxOccurs="unbounded">
+				<annotation>Specify the pathname of a file defining additional Spring beans to customize databinding
+				configuration.</annotation>
+				<switch>beans</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>pathname of the bean definition file.</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="servicename" maxOccurs="1">
+				<annotation>
+					Specify the service name to use in the generated
+					wsdl
+				</annotation>
+				<switch>servicename</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>service-name</annotation>
+				</associatedArgument>
+			</option>
+
+			<option id="port" maxOccurs="1">
+				<annotation>
+					Specify the port name to use in the generated wsdl
+				</annotation>
+				<switch>portname</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>port-name</annotation>
+				</associatedArgument>
+			</option>
+			
+			<option id="address" maxOccurs="1">
+				<annotation>
+					Specify the port address 
+				</annotation>
+				<switch>address</switch>
+				<associatedArgument placement="afterSpace">
+					<annotation>address</annotation>
+				</associatedArgument>
+			</option>			
+			
+
+			<option id="createxsdimports" maxOccurs="1">
+				<annotation>
+					Output schemas to separate files and use imports to
+					load them instead of inlining them into the wsdl.
+				</annotation>
+				<switch>createxsdimports</switch>
+			</option>
+
+		</optionGroup>
+
+		<optionGroup id="common_options">
+			<option id="help" maxOccurs="1">
+				<annotation>
+					Display detailed information for options.
+				</annotation>
+				<switch>h</switch>
+				<switch>?</switch>
+				<switch>help</switch>
+			</option>
+
+			<option id="version">
+				<annotation>
+					Display the version of the tool.
+				</annotation>
+				<switch>v</switch>
+			</option>
+
+			<option id="verbose">
+				<annotation>
+					Verbose mode
+				</annotation>
+				<switch>verbose</switch>
+				<switch>V</switch>
+			</option>
+
+			<option id="quiet">
+				<annotation>
+					Quiet mode
+				</annotation>
+				<switch>quiet</switch>
+				<switch>q</switch>
+			</option>
+		</optionGroup>
+
+		   <argument id="classname" minOccurs="1" maxOccurs="1">
+			   <annotation>
+			        SEI class name
+			   </annotation>
+		   </argument>
+	</usage>
+</toolspec>

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/java2ws.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java Fri Feb 22 19:12:48 2008
@@ -1,97 +1,97 @@
-/**
- * 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.java2ws.util;
-
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
-import org.apache.cxf.service.model.InterfaceInfo;
-import org.apache.cxf.service.model.OperationInfo;
-import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.tools.common.model.JavaException;
-import org.apache.cxf.tools.common.model.JavaInterface;
-import org.apache.cxf.tools.common.model.JavaMethod;
-import org.apache.cxf.tools.common.model.JavaParameter;
-import org.apache.cxf.tools.common.model.JavaReturn;
-import org.apache.cxf.tools.common.model.JavaType.Style;
-
-public final class JavaFirstUtil {
-    private JavaFirstUtil() {
-        
-    }
-    public static JavaInterface serviceInfo2JavaInf(ServiceInfo service) {
-        JavaInterface javaInf = new JavaInterface();
-        InterfaceInfo inf = service.getInterface();
-        for (OperationInfo op : inf.getOperations()) {
-            JavaMethod jm = new JavaMethod();
-            Method m = (Method)op.getProperty(ReflectionServiceFactoryBean.METHOD);
-            jm.setName(m.getName());
-            int i = 0;
-            for (Type type : m.getGenericParameterTypes()) {
-                JavaParameter jp = new JavaParameter();
-                jp.setClassName(getClassName(type));
-                jp.setStyle(Style.IN);
-                jp.setName("arg" + i++);
-                jm.addParameter(jp);
-            }
-
-            for (Type type : m.getGenericExceptionTypes()) {
-                JavaException jex = new JavaException();
-                String className = getClassName(type);
-                jex.setClassName(className);
-                jex.setName(className);
-                jm.addException(jex);
-            }
-
-            JavaReturn jreturn = new JavaReturn();
-            jreturn.setClassName(getClassName(m.getGenericReturnType()));
-            jreturn.setStyle(Style.OUT);
-            jm.setReturn(jreturn);
-
-            javaInf.setPackageName(m.getDeclaringClass().getPackage().getName());
-            javaInf.addMethod(jm);
-            javaInf.setName(inf.getName().getLocalPart());
-
-            jm.getParameterList();
-
-        }
-        return javaInf;
-    }
-
-    public static String getClassName(Type type) {
-        if (type instanceof Class) {
-            Class clz = (Class)type;
-            if (clz.isArray()) {
-                return clz.getComponentType().getName() + "[]";
-            } else {
-                return clz.getName();
-            }
-        } else if (type instanceof ParameterizedType) {
-            return type.toString();
-        } else if (type instanceof GenericArrayType) {
-            return type.toString();
-        }
-
-        return "";
-    }
-
-}
+/**
+ * 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.java2ws.util;
+
+import java.lang.reflect.GenericArrayType;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
+import org.apache.cxf.service.model.InterfaceInfo;
+import org.apache.cxf.service.model.OperationInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.tools.common.model.JavaException;
+import org.apache.cxf.tools.common.model.JavaInterface;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.common.model.JavaParameter;
+import org.apache.cxf.tools.common.model.JavaReturn;
+import org.apache.cxf.tools.common.model.JavaType.Style;
+
+public final class JavaFirstUtil {
+    private JavaFirstUtil() {
+        
+    }
+    public static JavaInterface serviceInfo2JavaInf(ServiceInfo service) {
+        JavaInterface javaInf = new JavaInterface();
+        InterfaceInfo inf = service.getInterface();
+        for (OperationInfo op : inf.getOperations()) {
+            JavaMethod jm = new JavaMethod();
+            Method m = (Method)op.getProperty(ReflectionServiceFactoryBean.METHOD);
+            jm.setName(m.getName());
+            int i = 0;
+            for (Type type : m.getGenericParameterTypes()) {
+                JavaParameter jp = new JavaParameter();
+                jp.setClassName(getClassName(type));
+                jp.setStyle(Style.IN);
+                jp.setName("arg" + i++);
+                jm.addParameter(jp);
+            }
+
+            for (Type type : m.getGenericExceptionTypes()) {
+                JavaException jex = new JavaException();
+                String className = getClassName(type);
+                jex.setClassName(className);
+                jex.setName(className);
+                jm.addException(jex);
+            }
+
+            JavaReturn jreturn = new JavaReturn();
+            jreturn.setClassName(getClassName(m.getGenericReturnType()));
+            jreturn.setStyle(Style.OUT);
+            jm.setReturn(jreturn);
+
+            javaInf.setPackageName(m.getDeclaringClass().getPackage().getName());
+            javaInf.addMethod(jm);
+            javaInf.setName(inf.getName().getLocalPart());
+
+            jm.getParameterList();
+
+        }
+        return javaInf;
+    }
+
+    public static String getClassName(Type type) {
+        if (type instanceof Class) {
+            Class clz = (Class)type;
+            if (clz.isArray()) {
+                return clz.getComponentType().getName() + "[]";
+            } else {
+                return clz.getName();
+            }
+        } else if (type instanceof ParameterizedType) {
+            return type.toString();
+        } else if (type instanceof GenericArrayType) {
+            return type.toString();
+        }
+
+        return "";
+    }
+
+}

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2ws/util/JavaFirstUtil.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java Fri Feb 22 19:12:48 2008
@@ -1,353 +1,353 @@
-/**
- * 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.java2wsdl.processor;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.BindingType;
-import javax.xml.ws.soap.SOAPBinding;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.BusFactory;
-import org.apache.cxf.bus.spring.BusApplicationContext;
-import org.apache.cxf.common.i18n.Message;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.service.ServiceBuilder;
-import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.tools.common.Processor;
-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.java2wsdl.generator.AbstractGenerator;
-import org.apache.cxf.tools.java2wsdl.generator.WSDLGeneratorFactory;
-import org.apache.cxf.tools.java2wsdl.generator.wsdl11.FaultBeanGenerator;
-import org.apache.cxf.tools.java2wsdl.generator.wsdl11.WrapperBeanGenerator;
-import org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory;
-import org.apache.cxf.tools.util.AnnotationUtil;
-import org.apache.cxf.wsdl.WSDLConstants;
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.FileSystemResource;
-
-public class JavaToWSDLProcessor implements Processor {
-    private static final Logger LOG = LogUtils.getL7dLogger(JavaToWSDLProcessor.class);
-    private static final String DEFAULT_ADDRESS = "http://localhost:9090/hello";
-    private static final String JAVA_CLASS_PATH = "java.class.path";
-    private ToolContext context;
-    private final List<AbstractGenerator> generators = new ArrayList<AbstractGenerator>();
-    private ApplicationContext applicationContext;
-    
-    private void customize(ServiceInfo service) {
-        if (context.containsKey(ToolConstants.CFG_TNS)) {
-            String ns = (String)context.get(ToolConstants.CFG_TNS);
-            service.setTargetNamespace(ns);
-        }
-
-        if (context.containsKey(ToolConstants.CFG_PORT)) {
-            String portName = (String)context.get(ToolConstants.CFG_PORT);
-            EndpointInfo einfo = service.getEndpoints().iterator().next();
-            QName qn = new QName(einfo.getName().getNamespaceURI(), portName);
-            einfo.setName(qn);
-        }
-
-        if (context.containsKey(ToolConstants.CFG_SERVICENAME)) {
-            String svName = getServiceName();
-            service.setName(new QName(service.getName().getNamespaceURI(), svName));
-        }
-        EndpointInfo endpointInfo = service.getEndpoints().iterator().next();
-        String address = ToolConstants.DEFAULT_ADDRESS + "/" + endpointInfo.getName().getLocalPart();
-        if (context.get(ToolConstants.CFG_ADDRESS) != null) {
-            address = (String)context.get(ToolConstants.CFG_ADDRESS);          
-        }
-        endpointInfo.setAddress(address);
-        context.put(ToolConstants.CFG_ADDRESS, address);
-        
-    }
-    
-    /**
-     * This is factored out to permit use in a unit test.
-     * @param bus
-     * @return
-     */
-    public static ApplicationContext getApplicationContext(Bus bus, List<String> additionalFilePathnames) {
-        BusApplicationContext busApplicationContext = bus.getExtension(BusApplicationContext.class);
-        GenericApplicationContext appContext = new GenericApplicationContext(busApplicationContext);
-        XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(appContext);
-        reader.loadBeanDefinitions(new ClassPathResource("META-INF/cxf/java2wsbeans.xml"));
-        for (String pathname : additionalFilePathnames) {
-            try {
-                reader.loadBeanDefinitions(new FileSystemResource(pathname));
-            } catch (BeanDefinitionStoreException bdse) {
-                throw new ToolException("Unable to open bean definition file " + pathname, bdse.getCause());
-            }
-        }
-            
-        return appContext;
-    }
-    
-    public void process() throws ToolException {
-        String oldClassPath = System.getProperty(JAVA_CLASS_PATH);
-        LOG.log(Level.FINE, "OLD_CP", oldClassPath);
-        if (context.get(ToolConstants.CFG_CLASSPATH) != null) {
-            String newCp = (String)context.get(ToolConstants.CFG_CLASSPATH);
-            System.setProperty(JAVA_CLASS_PATH, newCp + File.pathSeparator + oldClassPath);
-            LOG.log(Level.FINE, "NEW_CP", newCp);
-        }
-
-        // check for command line specification of data binding.
-       
-
-        ServiceBuilder builder = getServiceBuilder();
-        ServiceInfo service = builder.createService();
-
-        customize(service);
-        
-
-        File wsdlFile = getOutputFile(builder.getOutputFile(),
-                                      service.getName().getLocalPart() + ".wsdl");
-
-        File outputDir = getOutputDir(wsdlFile);
-        if (context.containsKey(ToolConstants.CFG_WSDL)) {
-            generators.add(getWSDLGenerator(wsdlFile));
-        }
-        if (context.containsKey(ToolConstants.CFG_WRAPPERBEAN)) {
-            generators.add(getWrapperBeanGenerator());
-            generators.add(getFaultBeanGenerator());
-            
-        }
-        generate(service, outputDir);
-        List<ServiceInfo> serviceList = new ArrayList<ServiceInfo>();
-        serviceList.add(service);
-        context.put(ToolConstants.SERVICE_LIST, serviceList);
-        System.setProperty(JAVA_CLASS_PATH, oldClassPath);
-        LOG.log(Level.FINE, "RESUME_CP", oldClassPath);
-    }
-
-    private AbstractGenerator getWrapperBeanGenerator() {
-        WrapperBeanGenerator generator = new WrapperBeanGenerator();
-        generator.setOutputBase(getSourceDir());
-        generator.setCompileToDir(getClassesDir());
-        return generator;
-    }
-
-    private AbstractGenerator getFaultBeanGenerator() {
-        FaultBeanGenerator generator = new FaultBeanGenerator();
-        generator.setOutputBase(getSourceDir());
-        generator.setCompileToDir(getClassesDir());
-        return generator;
-    }
-
-    private AbstractGenerator getWSDLGenerator(final File wsdlFile) {
-        WSDLGeneratorFactory factory = new WSDLGeneratorFactory();
-        factory.setWSDLVersion(getWSDLVersion());
-
-        AbstractGenerator generator = factory.newGenerator();
-        generator.setAllowImports(context.containsKey(ToolConstants.CFG_CREATE_XSD_IMPORTS));
-        generator.setOutputBase(wsdlFile);
-        return generator;
-    }
-
-    public void generate(ServiceInfo service, File output) throws ToolException {
-        for (AbstractGenerator generator : generators) {
-            generator.setServiceModel(service);
-            generator.setBus(getBus());
-            generator.generate(output);
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    public ServiceBuilder getServiceBuilder() throws ToolException {
-        Object beanFilesParameter = context.get(ToolConstants.CFG_BEAN_CONFIG);
-        List<String> beanDefinitions = new ArrayList<String>();
-        if (beanFilesParameter != null) {
-            if (beanFilesParameter instanceof String) {
-                beanDefinitions.add((String)beanFilesParameter);
-            } else if (beanFilesParameter instanceof List) {
-                // is there a better way to avoid the warning?
-                beanDefinitions.addAll((List<String>)beanFilesParameter);
-            }
-        }
-        applicationContext = getApplicationContext(getBus(), beanDefinitions);
-        ServiceBuilderFactory builderFactory = ServiceBuilderFactory.getInstance();
-        Class<?> clz = getServiceClass();
-        context.put(Class.class, clz);
-        if (clz.isInterface()) {
-            context.put(ToolConstants.GEN_FROM_SEI, Boolean.TRUE);
-            context.put(ToolConstants.SEI_CLASS, clz.getName());
-        } else {
-            context.put(ToolConstants.IMPL_CLASS, clz.getName());
-            if (clz.getInterfaces().length == 1) {
-                context.put(ToolConstants.SEI_CLASS, clz.getInterfaces()[0].getName());
-            }
-            //TODO: if it is simple frontend, and the impl class implments 
-            //multiple interfaces
-            context.put(ToolConstants.GEN_FROM_SEI, Boolean.FALSE); 
-        }
-        builderFactory.setServiceClass(clz);
-        builderFactory.setDatabindingName(getDataBindingName());
-        // The service class determines the frontend, so no need to pass it in twice.
-        ServiceBuilder builder = builderFactory.newBuilder(applicationContext);
-
-        builder.validate();
-
-        if (context.get(ToolConstants.CFG_ADDRESS) != null) {
-            String address = (String)context.get(ToolConstants.CFG_ADDRESS);
-            builder.setAddress(address);
-        } else {
-            builder.setAddress(DEFAULT_ADDRESS);
-        }
-        builder.setTransportId(getTransportId());
-        builder.setBus(getBus());
-        builder.setBindingId(getBindingId());
-
-        return builder;
-    }
-
-    protected String getTransportId() {
-        if (isSOAP12()) {
-            return WSDLConstants.NS_SOAP12;
-        }
-        return WSDLConstants.NS_SOAP11;
-    }
-
-    protected String getBindingId() {
-        if (isSOAP12()) {
-            return WSDLConstants.NS_SOAP12;
-        } else {
-            return WSDLConstants.NS_SOAP11;
-        }
-    }
-
-    protected boolean isSOAP12() {
-        if (!this.context.optionSet(ToolConstants.CFG_SOAP12)) {
-            BindingType bType = getServiceClass().getAnnotation(BindingType.class);
-            if (bType != null) {
-                return SOAPBinding.SOAP12HTTP_BINDING.equals(bType.value());
-            }
-            return false;
-        }
-        return true;
-    }
-
-    protected File getOutputDir(File wsdlLocation) {
-        String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
-        if (dir == null) {
-            if (wsdlLocation == null 
-                || wsdlLocation.getParentFile() == null
-                || !wsdlLocation.getParentFile().exists()) {
-                dir = "./";
-            } else {
-                dir = wsdlLocation.getParent();
-            } 
-        }
-        return new File(dir);
-    }
-
-    protected File getOutputFile(File nameFromClz, String defaultOutputFile) {
-        String output = (String) context.get(ToolConstants.CFG_OUTPUTFILE);
-        String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
-        if (dir == null) {
-            dir = "./";
-        }
-
-        File result;
-        if (output != null) {
-            result = new File(output);
-            if (!result.isAbsolute()) {
-                result = new File(new File(dir), output);
-            }
-        } else {
-            result = new File(new File(dir), defaultOutputFile);
-        }
-        if (nameFromClz != null) {
-            result = nameFromClz;
-        }
-
-        // rename the exising wsdl file
-        if (result.exists()
-            && !result.renameTo(new File(result.getParent(), result.getName()))) {
-            throw new ToolException(new Message("OUTFILE_EXISTS", LOG));
-        }
-        return result;
-    }
-
-    public Class<?> getServiceClass() {
-        return AnnotationUtil.loadClass((String)context.get(ToolConstants.CFG_CLASSNAME),
-                                        Thread.currentThread().getContextClassLoader());
-    }
-
-    public WSDLConstants.WSDLVersion getWSDLVersion() {
-        String version = (String) context.get(ToolConstants.CFG_WSDL_VERSION);
-        WSDLConstants.WSDLVersion wsVersion = WSDLConstants.getVersion(version);
-        if (wsVersion == WSDLConstants.WSDLVersion.UNKNOWN) {
-            wsVersion = WSDLConstants.WSDLVersion.WSDL11;
-        }
-        return wsVersion;
-    }
-
-    public String getServiceName() {
-        return (String) this.context.get(ToolConstants.CFG_SERVICENAME);
-    }
-
-    File getSourceDir() {
-        String dir = (String) this.context.get(ToolConstants.CFG_SOURCEDIR);
-        if (StringUtils.isEmpty(dir)) {
-            return null;
-        }
-        return new File(dir);
-    }
-    File getClassesDir() {
-        String dir = (String) this.context.get(ToolConstants.CFG_CLASSDIR);
-        if (StringUtils.isEmpty(dir)) {
-            return null;
-        }
-        return new File(dir);
-    }
-
-    public Bus getBus() {
-        return BusFactory.getDefaultBus();
-    }
-
-    public void setEnvironment(ToolContext env) {
-        this.context = env;
-    }
-
-    public ToolContext getEnvironment() {
-        return this.context;
-    }
-    
-    public String getDataBindingName() {
-        String databindingName = (String)context.get(ToolConstants.CFG_DATABINDING);
-        if (databindingName == null) {
-            databindingName = ToolConstants.DEFAULT_DATA_BINDING_NAME;
-        }
-        return databindingName;
-    }
-}
+/**
+ * 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.java2wsdl.processor;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingType;
+import javax.xml.ws.soap.SOAPBinding;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.BusApplicationContext;
+import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.service.ServiceBuilder;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.tools.common.Processor;
+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.java2wsdl.generator.AbstractGenerator;
+import org.apache.cxf.tools.java2wsdl.generator.WSDLGeneratorFactory;
+import org.apache.cxf.tools.java2wsdl.generator.wsdl11.FaultBeanGenerator;
+import org.apache.cxf.tools.java2wsdl.generator.wsdl11.WrapperBeanGenerator;
+import org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory;
+import org.apache.cxf.tools.util.AnnotationUtil;
+import org.apache.cxf.wsdl.WSDLConstants;
+import org.springframework.beans.factory.BeanDefinitionStoreException;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.FileSystemResource;
+
+public class JavaToWSDLProcessor implements Processor {
+    private static final Logger LOG = LogUtils.getL7dLogger(JavaToWSDLProcessor.class);
+    private static final String DEFAULT_ADDRESS = "http://localhost:9090/hello";
+    private static final String JAVA_CLASS_PATH = "java.class.path";
+    private ToolContext context;
+    private final List<AbstractGenerator> generators = new ArrayList<AbstractGenerator>();
+    private ApplicationContext applicationContext;
+    
+    private void customize(ServiceInfo service) {
+        if (context.containsKey(ToolConstants.CFG_TNS)) {
+            String ns = (String)context.get(ToolConstants.CFG_TNS);
+            service.setTargetNamespace(ns);
+        }
+
+        if (context.containsKey(ToolConstants.CFG_PORT)) {
+            String portName = (String)context.get(ToolConstants.CFG_PORT);
+            EndpointInfo einfo = service.getEndpoints().iterator().next();
+            QName qn = new QName(einfo.getName().getNamespaceURI(), portName);
+            einfo.setName(qn);
+        }
+
+        if (context.containsKey(ToolConstants.CFG_SERVICENAME)) {
+            String svName = getServiceName();
+            service.setName(new QName(service.getName().getNamespaceURI(), svName));
+        }
+        EndpointInfo endpointInfo = service.getEndpoints().iterator().next();
+        String address = ToolConstants.DEFAULT_ADDRESS + "/" + endpointInfo.getName().getLocalPart();
+        if (context.get(ToolConstants.CFG_ADDRESS) != null) {
+            address = (String)context.get(ToolConstants.CFG_ADDRESS);          
+        }
+        endpointInfo.setAddress(address);
+        context.put(ToolConstants.CFG_ADDRESS, address);
+        
+    }
+    
+    /**
+     * This is factored out to permit use in a unit test.
+     * @param bus
+     * @return
+     */
+    public static ApplicationContext getApplicationContext(Bus bus, List<String> additionalFilePathnames) {
+        BusApplicationContext busApplicationContext = bus.getExtension(BusApplicationContext.class);
+        GenericApplicationContext appContext = new GenericApplicationContext(busApplicationContext);
+        XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(appContext);
+        reader.loadBeanDefinitions(new ClassPathResource("META-INF/cxf/java2wsbeans.xml"));
+        for (String pathname : additionalFilePathnames) {
+            try {
+                reader.loadBeanDefinitions(new FileSystemResource(pathname));
+            } catch (BeanDefinitionStoreException bdse) {
+                throw new ToolException("Unable to open bean definition file " + pathname, bdse.getCause());
+            }
+        }
+            
+        return appContext;
+    }
+    
+    public void process() throws ToolException {
+        String oldClassPath = System.getProperty(JAVA_CLASS_PATH);
+        LOG.log(Level.FINE, "OLD_CP", oldClassPath);
+        if (context.get(ToolConstants.CFG_CLASSPATH) != null) {
+            String newCp = (String)context.get(ToolConstants.CFG_CLASSPATH);
+            System.setProperty(JAVA_CLASS_PATH, newCp + File.pathSeparator + oldClassPath);
+            LOG.log(Level.FINE, "NEW_CP", newCp);
+        }
+
+        // check for command line specification of data binding.
+       
+
+        ServiceBuilder builder = getServiceBuilder();
+        ServiceInfo service = builder.createService();
+
+        customize(service);
+        
+
+        File wsdlFile = getOutputFile(builder.getOutputFile(),
+                                      service.getName().getLocalPart() + ".wsdl");
+
+        File outputDir = getOutputDir(wsdlFile);
+        if (context.containsKey(ToolConstants.CFG_WSDL)) {
+            generators.add(getWSDLGenerator(wsdlFile));
+        }
+        if (context.containsKey(ToolConstants.CFG_WRAPPERBEAN)) {
+            generators.add(getWrapperBeanGenerator());
+            generators.add(getFaultBeanGenerator());
+            
+        }
+        generate(service, outputDir);
+        List<ServiceInfo> serviceList = new ArrayList<ServiceInfo>();
+        serviceList.add(service);
+        context.put(ToolConstants.SERVICE_LIST, serviceList);
+        System.setProperty(JAVA_CLASS_PATH, oldClassPath);
+        LOG.log(Level.FINE, "RESUME_CP", oldClassPath);
+    }
+
+    private AbstractGenerator getWrapperBeanGenerator() {
+        WrapperBeanGenerator generator = new WrapperBeanGenerator();
+        generator.setOutputBase(getSourceDir());
+        generator.setCompileToDir(getClassesDir());
+        return generator;
+    }
+
+    private AbstractGenerator getFaultBeanGenerator() {
+        FaultBeanGenerator generator = new FaultBeanGenerator();
+        generator.setOutputBase(getSourceDir());
+        generator.setCompileToDir(getClassesDir());
+        return generator;
+    }
+
+    private AbstractGenerator getWSDLGenerator(final File wsdlFile) {
+        WSDLGeneratorFactory factory = new WSDLGeneratorFactory();
+        factory.setWSDLVersion(getWSDLVersion());
+
+        AbstractGenerator generator = factory.newGenerator();
+        generator.setAllowImports(context.containsKey(ToolConstants.CFG_CREATE_XSD_IMPORTS));
+        generator.setOutputBase(wsdlFile);
+        return generator;
+    }
+
+    public void generate(ServiceInfo service, File output) throws ToolException {
+        for (AbstractGenerator generator : generators) {
+            generator.setServiceModel(service);
+            generator.setBus(getBus());
+            generator.generate(output);
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    public ServiceBuilder getServiceBuilder() throws ToolException {
+        Object beanFilesParameter = context.get(ToolConstants.CFG_BEAN_CONFIG);
+        List<String> beanDefinitions = new ArrayList<String>();
+        if (beanFilesParameter != null) {
+            if (beanFilesParameter instanceof String) {
+                beanDefinitions.add((String)beanFilesParameter);
+            } else if (beanFilesParameter instanceof List) {
+                // is there a better way to avoid the warning?
+                beanDefinitions.addAll((List<String>)beanFilesParameter);
+            }
+        }
+        applicationContext = getApplicationContext(getBus(), beanDefinitions);
+        ServiceBuilderFactory builderFactory = ServiceBuilderFactory.getInstance();
+        Class<?> clz = getServiceClass();
+        context.put(Class.class, clz);
+        if (clz.isInterface()) {
+            context.put(ToolConstants.GEN_FROM_SEI, Boolean.TRUE);
+            context.put(ToolConstants.SEI_CLASS, clz.getName());
+        } else {
+            context.put(ToolConstants.IMPL_CLASS, clz.getName());
+            if (clz.getInterfaces().length == 1) {
+                context.put(ToolConstants.SEI_CLASS, clz.getInterfaces()[0].getName());
+            }
+            //TODO: if it is simple frontend, and the impl class implments 
+            //multiple interfaces
+            context.put(ToolConstants.GEN_FROM_SEI, Boolean.FALSE); 
+        }
+        builderFactory.setServiceClass(clz);
+        builderFactory.setDatabindingName(getDataBindingName());
+        // The service class determines the frontend, so no need to pass it in twice.
+        ServiceBuilder builder = builderFactory.newBuilder(applicationContext);
+
+        builder.validate();
+
+        if (context.get(ToolConstants.CFG_ADDRESS) != null) {
+            String address = (String)context.get(ToolConstants.CFG_ADDRESS);
+            builder.setAddress(address);
+        } else {
+            builder.setAddress(DEFAULT_ADDRESS);
+        }
+        builder.setTransportId(getTransportId());
+        builder.setBus(getBus());
+        builder.setBindingId(getBindingId());
+
+        return builder;
+    }
+
+    protected String getTransportId() {
+        if (isSOAP12()) {
+            return WSDLConstants.NS_SOAP12;
+        }
+        return WSDLConstants.NS_SOAP11;
+    }
+
+    protected String getBindingId() {
+        if (isSOAP12()) {
+            return WSDLConstants.NS_SOAP12;
+        } else {
+            return WSDLConstants.NS_SOAP11;
+        }
+    }
+
+    protected boolean isSOAP12() {
+        if (!this.context.optionSet(ToolConstants.CFG_SOAP12)) {
+            BindingType bType = getServiceClass().getAnnotation(BindingType.class);
+            if (bType != null) {
+                return SOAPBinding.SOAP12HTTP_BINDING.equals(bType.value());
+            }
+            return false;
+        }
+        return true;
+    }
+
+    protected File getOutputDir(File wsdlLocation) {
+        String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
+        if (dir == null) {
+            if (wsdlLocation == null 
+                || wsdlLocation.getParentFile() == null
+                || !wsdlLocation.getParentFile().exists()) {
+                dir = "./";
+            } else {
+                dir = wsdlLocation.getParent();
+            } 
+        }
+        return new File(dir);
+    }
+
+    protected File getOutputFile(File nameFromClz, String defaultOutputFile) {
+        String output = (String) context.get(ToolConstants.CFG_OUTPUTFILE);
+        String dir = (String)context.get(ToolConstants.CFG_OUTPUTDIR);
+        if (dir == null) {
+            dir = "./";
+        }
+
+        File result;
+        if (output != null) {
+            result = new File(output);
+            if (!result.isAbsolute()) {
+                result = new File(new File(dir), output);
+            }
+        } else {
+            result = new File(new File(dir), defaultOutputFile);
+        }
+        if (nameFromClz != null) {
+            result = nameFromClz;
+        }
+
+        // rename the exising wsdl file
+        if (result.exists()
+            && !result.renameTo(new File(result.getParent(), result.getName()))) {
+            throw new ToolException(new Message("OUTFILE_EXISTS", LOG));
+        }
+        return result;
+    }
+
+    public Class<?> getServiceClass() {
+        return AnnotationUtil.loadClass((String)context.get(ToolConstants.CFG_CLASSNAME),
+                                        Thread.currentThread().getContextClassLoader());
+    }
+
+    public WSDLConstants.WSDLVersion getWSDLVersion() {
+        String version = (String) context.get(ToolConstants.CFG_WSDL_VERSION);
+        WSDLConstants.WSDLVersion wsVersion = WSDLConstants.getVersion(version);
+        if (wsVersion == WSDLConstants.WSDLVersion.UNKNOWN) {
+            wsVersion = WSDLConstants.WSDLVersion.WSDL11;
+        }
+        return wsVersion;
+    }
+
+    public String getServiceName() {
+        return (String) this.context.get(ToolConstants.CFG_SERVICENAME);
+    }
+
+    File getSourceDir() {
+        String dir = (String) this.context.get(ToolConstants.CFG_SOURCEDIR);
+        if (StringUtils.isEmpty(dir)) {
+            return null;
+        }
+        return new File(dir);
+    }
+    File getClassesDir() {
+        String dir = (String) this.context.get(ToolConstants.CFG_CLASSDIR);
+        if (StringUtils.isEmpty(dir)) {
+            return null;
+        }
+        return new File(dir);
+    }
+
+    public Bus getBus() {
+        return BusFactory.getDefaultBus();
+    }
+
+    public void setEnvironment(ToolContext env) {
+        this.context = env;
+    }
+
+    public ToolContext getEnvironment() {
+        return this.context;
+    }
+    
+    public String getDataBindingName() {
+        String databindingName = (String)context.get(ToolConstants.CFG_DATABINDING);
+        if (databindingName == null) {
+            databindingName = ToolConstants.DEFAULT_DATA_BINDING_NAME;
+        }
+        return databindingName;
+    }
+}

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/JavaToWSDLProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java Fri Feb 22 19:12:48 2008
@@ -1,200 +1,200 @@
-/**
- * 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.java2wsdl.processor.internal.jaxws;
-
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.jws.WebService;
-
-import org.apache.cxf.common.i18n.Message;
-import org.apache.cxf.common.logging.LogUtils;
-import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
-import org.apache.cxf.service.model.EndpointInfo;
-import org.apache.cxf.service.model.InterfaceInfo;
-import org.apache.cxf.service.model.OperationInfo;
-import org.apache.cxf.service.model.ServiceInfo;
-import org.apache.cxf.tools.common.Processor;
-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.JavaException;
-import org.apache.cxf.tools.common.model.JavaInterface;
-import org.apache.cxf.tools.common.model.JavaMethod;
-import org.apache.cxf.tools.common.model.JavaModel;
-import org.apache.cxf.tools.common.model.JavaParameter;
-import org.apache.cxf.tools.common.model.JavaReturn;
-import org.apache.cxf.tools.common.model.JavaType.Style;
-import org.apache.cxf.tools.java2ws.util.JavaFirstUtil;
-import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.AbstractJaxwsGenerator;
-import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsClientGenerator;
-import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsImplGenerator;
-import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsSEIGenerator;
-import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsServerGenerator;
-
-public class JAXWSFrontEndProcessor implements Processor {
-    private static final String SEI_SUFFIX = "_PortType";
-    private static final Logger LOG = LogUtils.getL7dLogger(JAXWSFrontEndProcessor.class);
-    private ToolContext context;
-    private List<AbstractJaxwsGenerator> generators = new ArrayList<AbstractJaxwsGenerator>();
-    private List<String> infList = new ArrayList<String>();
-    
-    @SuppressWarnings("unchecked")
-    public void process() throws ToolException {
-        checkJaxwsClass();
-        List<ServiceInfo> services = (List<ServiceInfo>)context.get(ToolConstants.SERVICE_LIST);
-        ServiceInfo serviceInfo = services.get(0);
-        JavaInterface jinf = JavaFirstUtil.serviceInfo2JavaInf(serviceInfo);
-        String className = (String)context.get(ToolConstants.IMPL_CLASS);
-        if (className != null && className.equals(jinf.getFullClassName())) {
-            jinf.setName(jinf.getName() + SEI_SUFFIX);
-        }
-        JavaModel jm = new JavaModel();
-        jm.addInterface("inf", jinf);
-        jinf.setJavaModel(jm);
-        context.put(JavaModel.class, jm);
-        context.put(ToolConstants.SERVICE_NAME, serviceInfo.getName());
-        EndpointInfo endpointInfo = serviceInfo.getEndpoints().iterator().next();        
-        context.put(ToolConstants.PORT_NAME, endpointInfo.getName());
-        generators.add(new JaxwsSEIGenerator());
-        generators.add(new JaxwsImplGenerator());
-        generators.add(new JaxwsServerGenerator());
-        generators.add(new JaxwsClientGenerator());
-
-        for (AbstractJaxwsGenerator generator : generators) {
-            generator.generate(context);
-        }
-
-    }
-
-    public void setEnvironment(ToolContext env) {
-        this.context = env;
-    }
-
-    public JavaInterface serviceInfo2JavaInf(ServiceInfo service) {
-        JavaInterface javaInf = new JavaInterface();
-        InterfaceInfo inf = service.getInterface();
-        for (OperationInfo op : inf.getOperations()) {
-            JavaMethod jm = new JavaMethod();
-            Method m = (Method)op.getProperty(ReflectionServiceFactoryBean.METHOD);
-            jm.setName(m.getName());
-            int i = 0;
-            for (Type type : m.getGenericParameterTypes()) {
-                JavaParameter jp = new JavaParameter();
-                jp.setClassName(getClassName(type));
-                jp.setStyle(Style.IN);
-                jp.setName("arg" + i++);
-                jm.addParameter(jp);
-            }
-
-            for (Type type : m.getGenericExceptionTypes()) {
-                JavaException jex = new JavaException();
-                String className = getClassName(type);
-                jex.setClassName(className);
-                jex.setName(className);
-                jm.addException(jex);
-            }
-
-            JavaReturn jreturn = new JavaReturn();
-            jreturn.setClassName(getClassName(m.getGenericReturnType()));
-            jreturn.setStyle(Style.OUT);
-            jm.setReturn(jreturn);
-
-            javaInf.setPackageName(m.getDeclaringClass().getPackage().getName());
-            javaInf.addMethod(jm);
-            javaInf.setName(inf.getName().getLocalPart());
-
-            jm.getParameterList();
-
-        }
-        return javaInf;
-    }
-
-    public String getClassName(Type type) {
-        if (type instanceof Class) {
-            Class clz = (Class)type;
-            if (clz.isArray()) {
-                return clz.getComponentType().getName() + "[]";
-            } else {
-                return clz.getName();
-            }
-        } else if (type instanceof ParameterizedType) {
-            return type.toString();
-        } else if (type instanceof GenericArrayType) {
-            return type.toString();
-        }
-
-        return "";
-    }
-
-    public void checkJaxwsClass() {
-        Class<?> clz = context.get(Class.class);
-        WebService webServiceAnno = (WebService)clz.getAnnotation(WebService.class);
-        if (webServiceAnno == null) {
-            Message msg = new Message("CLASS_DOESNOT_CARRY_WEBSERVICE_ANNO", LOG, clz.getName());
-            LOG.log(Level.WARNING, msg.toString());
-            throw new ToolException(msg);
-        }
-        if (isImplRmiRemote(clz)) {
-            Message msg = new Message("PARA_OR_RETURN_IMPL_REMOTE", LOG, clz.getName());
-            LOG.log(Level.WARNING, msg.toString());
-            throw new ToolException(msg);
-        }
-    }
-    
-    
-    private boolean isImplRmiRemote(Class claz) {
-        for (Method method : claz.getMethods()) {
-            if (Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers())
-                && !method.getDeclaringClass().getName().equals("java.lang.Object")) {
-                Class[] paraClasses = method.getParameterTypes();
-                for (Class clz : paraClasses) {
-                    getInfClass(clz);
-                }
-                Class returnClass = method.getReturnType();
-                getInfClass(returnClass);
-            }
-        }
-        if (infList.contains("java.rmi.Remote")) {
-            return true;
-        }
-        return false;
-    }
-    
-    
-    private void getInfClass(Class claz) {
-        for (Class inf : claz.getInterfaces()) {
-            getInfClass(inf);
-        }
-        if (claz.getSuperclass() != null) {
-            getInfClass(claz.getSuperclass());
-        }
-        if (claz.isInterface()) {
-            infList.add(claz.getName());
-        }
-    }
-    
-}
+/**
+ * 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.java2wsdl.processor.internal.jaxws;
+
+import java.lang.reflect.GenericArrayType;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jws.WebService;
+
+import org.apache.cxf.common.i18n.Message;
+import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
+import org.apache.cxf.service.model.EndpointInfo;
+import org.apache.cxf.service.model.InterfaceInfo;
+import org.apache.cxf.service.model.OperationInfo;
+import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.tools.common.Processor;
+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.JavaException;
+import org.apache.cxf.tools.common.model.JavaInterface;
+import org.apache.cxf.tools.common.model.JavaMethod;
+import org.apache.cxf.tools.common.model.JavaModel;
+import org.apache.cxf.tools.common.model.JavaParameter;
+import org.apache.cxf.tools.common.model.JavaReturn;
+import org.apache.cxf.tools.common.model.JavaType.Style;
+import org.apache.cxf.tools.java2ws.util.JavaFirstUtil;
+import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.AbstractJaxwsGenerator;
+import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsClientGenerator;
+import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsImplGenerator;
+import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsSEIGenerator;
+import org.apache.cxf.tools.java2wsdl.processor.internal.jaxws.generator.JaxwsServerGenerator;
+
+public class JAXWSFrontEndProcessor implements Processor {
+    private static final String SEI_SUFFIX = "_PortType";
+    private static final Logger LOG = LogUtils.getL7dLogger(JAXWSFrontEndProcessor.class);
+    private ToolContext context;
+    private List<AbstractJaxwsGenerator> generators = new ArrayList<AbstractJaxwsGenerator>();
+    private List<String> infList = new ArrayList<String>();
+    
+    @SuppressWarnings("unchecked")
+    public void process() throws ToolException {
+        checkJaxwsClass();
+        List<ServiceInfo> services = (List<ServiceInfo>)context.get(ToolConstants.SERVICE_LIST);
+        ServiceInfo serviceInfo = services.get(0);
+        JavaInterface jinf = JavaFirstUtil.serviceInfo2JavaInf(serviceInfo);
+        String className = (String)context.get(ToolConstants.IMPL_CLASS);
+        if (className != null && className.equals(jinf.getFullClassName())) {
+            jinf.setName(jinf.getName() + SEI_SUFFIX);
+        }
+        JavaModel jm = new JavaModel();
+        jm.addInterface("inf", jinf);
+        jinf.setJavaModel(jm);
+        context.put(JavaModel.class, jm);
+        context.put(ToolConstants.SERVICE_NAME, serviceInfo.getName());
+        EndpointInfo endpointInfo = serviceInfo.getEndpoints().iterator().next();        
+        context.put(ToolConstants.PORT_NAME, endpointInfo.getName());
+        generators.add(new JaxwsSEIGenerator());
+        generators.add(new JaxwsImplGenerator());
+        generators.add(new JaxwsServerGenerator());
+        generators.add(new JaxwsClientGenerator());
+
+        for (AbstractJaxwsGenerator generator : generators) {
+            generator.generate(context);
+        }
+
+    }
+
+    public void setEnvironment(ToolContext env) {
+        this.context = env;
+    }
+
+    public JavaInterface serviceInfo2JavaInf(ServiceInfo service) {
+        JavaInterface javaInf = new JavaInterface();
+        InterfaceInfo inf = service.getInterface();
+        for (OperationInfo op : inf.getOperations()) {
+            JavaMethod jm = new JavaMethod();
+            Method m = (Method)op.getProperty(ReflectionServiceFactoryBean.METHOD);
+            jm.setName(m.getName());
+            int i = 0;
+            for (Type type : m.getGenericParameterTypes()) {
+                JavaParameter jp = new JavaParameter();
+                jp.setClassName(getClassName(type));
+                jp.setStyle(Style.IN);
+                jp.setName("arg" + i++);
+                jm.addParameter(jp);
+            }
+
+            for (Type type : m.getGenericExceptionTypes()) {
+                JavaException jex = new JavaException();
+                String className = getClassName(type);
+                jex.setClassName(className);
+                jex.setName(className);
+                jm.addException(jex);
+            }
+
+            JavaReturn jreturn = new JavaReturn();
+            jreturn.setClassName(getClassName(m.getGenericReturnType()));
+            jreturn.setStyle(Style.OUT);
+            jm.setReturn(jreturn);
+
+            javaInf.setPackageName(m.getDeclaringClass().getPackage().getName());
+            javaInf.addMethod(jm);
+            javaInf.setName(inf.getName().getLocalPart());
+
+            jm.getParameterList();
+
+        }
+        return javaInf;
+    }
+
+    public String getClassName(Type type) {
+        if (type instanceof Class) {
+            Class clz = (Class)type;
+            if (clz.isArray()) {
+                return clz.getComponentType().getName() + "[]";
+            } else {
+                return clz.getName();
+            }
+        } else if (type instanceof ParameterizedType) {
+            return type.toString();
+        } else if (type instanceof GenericArrayType) {
+            return type.toString();
+        }
+
+        return "";
+    }
+
+    public void checkJaxwsClass() {
+        Class<?> clz = context.get(Class.class);
+        WebService webServiceAnno = (WebService)clz.getAnnotation(WebService.class);
+        if (webServiceAnno == null) {
+            Message msg = new Message("CLASS_DOESNOT_CARRY_WEBSERVICE_ANNO", LOG, clz.getName());
+            LOG.log(Level.WARNING, msg.toString());
+            throw new ToolException(msg);
+        }
+        if (isImplRmiRemote(clz)) {
+            Message msg = new Message("PARA_OR_RETURN_IMPL_REMOTE", LOG, clz.getName());
+            LOG.log(Level.WARNING, msg.toString());
+            throw new ToolException(msg);
+        }
+    }
+    
+    
+    private boolean isImplRmiRemote(Class claz) {
+        for (Method method : claz.getMethods()) {
+            if (Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers())
+                && !method.getDeclaringClass().getName().equals("java.lang.Object")) {
+                Class[] paraClasses = method.getParameterTypes();
+                for (Class clz : paraClasses) {
+                    getInfClass(clz);
+                }
+                Class returnClass = method.getReturnType();
+                getInfClass(returnClass);
+            }
+        }
+        if (infList.contains("java.rmi.Remote")) {
+            return true;
+        }
+        return false;
+    }
+    
+    
+    private void getInfClass(Class claz) {
+        for (Class inf : claz.getInterfaces()) {
+            getInfClass(inf);
+        }
+        if (claz.getSuperclass() != null) {
+            getInfClass(claz.getSuperclass());
+        }
+        if (claz.isInterface()) {
+            infList.add(claz.getName());
+        }
+    }
+    
+}

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/JAXWSFrontEndProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java Fri Feb 22 19:12:48 2008
@@ -1,47 +1,47 @@
-/**
- * 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.java2wsdl.processor.internal.jaxws.generator;
-
-import java.util.logging.Logger;
-
-import org.apache.cxf.common.logging.LogUtils;
-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.util.ClassCollector;
-import org.apache.cxf.tools.wsdlto.core.AbstractGenerator;
-
-public abstract class AbstractJaxwsGenerator extends AbstractGenerator {
-    protected static final Logger LOG = LogUtils.getL7dLogger(AbstractJaxwsGenerator.class);
-    protected static final String TEMPLATE_BASE = "org/apache/cxf/tools"
-                                                  + "/java2wsdl/processor/internal/jaxws/generator/template";
-
-    public abstract boolean passthrough();
-
-    public abstract void generate(ToolContext penv) throws ToolException;
-
-    public void register(final ClassCollector collector, String packageName, String fileName) {
-
-    }
-
-    public String getOutputDir() {
-        return (String)env.get(ToolConstants.CFG_SOURCEDIR);
-    }
-
-}
+/**
+ * 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.java2wsdl.processor.internal.jaxws.generator;
+
+import java.util.logging.Logger;
+
+import org.apache.cxf.common.logging.LogUtils;
+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.util.ClassCollector;
+import org.apache.cxf.tools.wsdlto.core.AbstractGenerator;
+
+public abstract class AbstractJaxwsGenerator extends AbstractGenerator {
+    protected static final Logger LOG = LogUtils.getL7dLogger(AbstractJaxwsGenerator.class);
+    protected static final String TEMPLATE_BASE = "org/apache/cxf/tools"
+                                                  + "/java2wsdl/processor/internal/jaxws/generator/template";
+
+    public abstract boolean passthrough();
+
+    public abstract void generate(ToolContext penv) throws ToolException;
+
+    public void register(final ClassCollector collector, String packageName, String fileName) {
+
+    }
+
+    public String getOutputDir() {
+        return (String)env.get(ToolConstants.CFG_SOURCEDIR);
+    }
+
+}

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/AbstractJaxwsGenerator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java?rev=630382&r1=630381&r2=630382&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java Fri Feb 22 19:12:48 2008
@@ -1,68 +1,68 @@
-/**
- * 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.java2wsdl.processor.internal.jaxws.generator;
-
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-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.common.model.JavaModel;
-
-public class JaxwsClientGenerator extends AbstractJaxwsGenerator {
-
-    private static final String CLIENT_TEMPLATE = TEMPLATE_BASE + "/javafirst-client.vm";
-
-
-
-    public boolean passthrough() {
-        if (env.optionSet(ToolConstants.CFG_CLIENT)) {
-            return false;
-        }
-        return true;
-    }
-
-    public void generate(ToolContext penv) throws ToolException {
-        this.env = penv;
-        JavaModel javaModel = env.get(JavaModel.class);
-
-        if (passthrough()) {
-            return;
-        }
-
-        Map<String, JavaInterface> interfaces = javaModel.getInterfaces();
-        QName service = (QName)env.get(ToolConstants.SERVICE_NAME);
-        QName port = (QName)env.get(ToolConstants.PORT_NAME);
-        for (JavaInterface intf : interfaces.values()) {
-            clearAttributes();
-            setAttributes("intf", intf);
-            setAttributes("service", service);
-            setAttributes("port", port);
-            setAttributes("address", (String)penv.get(ToolConstants.CFG_ADDRESS));
-            setAttributes("seiClass", (String)env.get(ToolConstants.SEI_CLASS));
-            setCommonAttributes();
-            doWrite(CLIENT_TEMPLATE, parseOutputName(intf.getPackageName(), intf.getName() + "Client"));
-
-        }
-    }
-}
+/**
+ * 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.java2wsdl.processor.internal.jaxws.generator;
+
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+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.common.model.JavaModel;
+
+public class JaxwsClientGenerator extends AbstractJaxwsGenerator {
+
+    private static final String CLIENT_TEMPLATE = TEMPLATE_BASE + "/javafirst-client.vm";
+
+
+
+    public boolean passthrough() {
+        if (env.optionSet(ToolConstants.CFG_CLIENT)) {
+            return false;
+        }
+        return true;
+    }
+
+    public void generate(ToolContext penv) throws ToolException {
+        this.env = penv;
+        JavaModel javaModel = env.get(JavaModel.class);
+
+        if (passthrough()) {
+            return;
+        }
+
+        Map<String, JavaInterface> interfaces = javaModel.getInterfaces();
+        QName service = (QName)env.get(ToolConstants.SERVICE_NAME);
+        QName port = (QName)env.get(ToolConstants.PORT_NAME);
+        for (JavaInterface intf : interfaces.values()) {
+            clearAttributes();
+            setAttributes("intf", intf);
+            setAttributes("service", service);
+            setAttributes("port", port);
+            setAttributes("address", (String)penv.get(ToolConstants.CFG_ADDRESS));
+            setAttributes("seiClass", (String)env.get(ToolConstants.SEI_CLASS));
+            setCommonAttributes();
+            doWrite(CLIENT_TEMPLATE, parseOutputName(intf.getPackageName(), intf.getName() + "Client"));
+
+        }
+    }
+}

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/tools/javato/ws/src/main/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/generator/JaxwsClientGenerator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



Mime
View raw message