You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/02/23 04:12:56 UTC
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...
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