Author: dkulp Date: Tue Aug 26 08:43:21 2008 New Revision: 689114 URL: http://svn.apache.org/viewvc?rev=689114&view=rev Log: Merged revisions 687465 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.1.x-fixes
................ r687465 | dkulp | 2008-08-20 17:05:21 -0400 (Wed, 20 Aug 2008) | 10 lines Merged revisions 687463 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r687463 | dkulp | 2008-08-20 17:00:53 -0400 (Wed, 20 Aug 2008) | 3 lines Update to try and eliminate a NPE with service creation [CXF-1756] Remove name attribute from generated impls ........ ................ Modified: cxf/branches/2.0.x-fixes/ (props changed) cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2ws/JavaToWSTest.java cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/template/impl.vm cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Aug 26 08:43:21 2008 @@ -1,3 +1,3 @@ -/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464 -/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387 +/cxf/branches/2.1.x-fixes:673548,674485,674547,674551,674562,674601,674649,674764,674887,675644,675653,677048,677385,678004,678009,678559,678629,678808,678852,678891,678893,679248,679597,680435,681060,681165,681813,681816,682902,682951,683089,683290,683318,684099,684790-684793,684842,684862,684895-684918,685205,685253,686237,686283,686299,686333-686364,686765,686827,687097,687464-687465 +/cxf/trunk:651669-686342,686344-686363,686764,686820,687096,687387,687463 /incubator/cxf/trunk:434594-651668 Propchange: cxf/branches/2.0.x-fixes/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Tue Aug 26 08:43:21 2008 @@ -1 +1 @@ -/cxf/branches/2.1.x-fixes:1-686313,686315-686332,686334-686346,686348-686828,687097,687464 +/cxf/branches/2.1.x-fixes:1-686313,686315-686332,686334-686346,686348-686828,687097,687464-687465 Modified: cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java?rev=689114&r1=689113&r2=689114&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java (original) +++ cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java Tue Aug 26 08:43:21 2008 @@ -53,7 +53,6 @@ import org.apache.cxf.service.model.InterfaceInfo; import org.apache.cxf.service.model.MessageInfo; import org.apache.cxf.service.model.OperationInfo; -import org.apache.cxf.tools.util.AnnotationUtil; public class JaxWsServiceConfiguration extends AbstractServiceConfiguration { @@ -142,33 +141,40 @@ } } - @Override - public Boolean isOperation(Method method) { - Method origMethod = method; - method = getDeclaredMethod(method); + public Boolean isWebMethod(final Method method) { if (method == null || method.getReturnType().equals(Future.class) || method.getReturnType().equals(Response.class)) { - return false; + return Boolean.FALSE; } - if (method != null) { - WebMethod wm = method.getAnnotation(WebMethod.class); - if (wm != null) { - if (wm.exclude()) { - return Boolean.FALSE; - } else { - return Boolean.TRUE; - } + WebMethod wm = method.getAnnotation(WebMethod.class); + if (wm != null) { + if (wm.exclude()) { + return Boolean.FALSE; } else { - if (method.getDeclaringClass().isInterface()) { - return hasWebServiceAnnotation(method) - || hasWebServiceAnnotation(origMethod); - } - return hasWebServiceAnnotation(method); + return Boolean.TRUE; } + } + if (method.getDeclaringClass().isInterface()) { + return hasWebServiceAnnotation(method); + } + if (implInfo.getSEIClass() == null) { + return hasWebServiceAnnotation(method); } - return Boolean.FALSE; + return implInfo.getSEIClass().isAssignableFrom(method.getDeclaringClass()); + } + + @Override + public Boolean isOperation(final Method method) { + if (Object.class.equals(method.getDeclaringClass())) { + return false; + } + Class implClz = implInfo.getImplementorClass(); + if (isWebMethod(getDeclaredMethod(implClz, method))) { + return true; + } + return isWebMethod(getDeclaredMethod(method)); } private boolean hasWebServiceAnnotation(Method method) { @@ -176,15 +182,17 @@ } Method getDeclaredMethod(Method method) { - Class<?> endpointClass = implInfo.getEndpointClass(); + return getDeclaredMethod(implInfo.getEndpointClass(), method); + } + private Method getDeclaredMethod(Class<?> endpointClass, Method method) { if (!method.getDeclaringClass().equals(endpointClass)) { try { method = endpointClass.getMethod(method.getName(), (Class[])method.getParameterTypes()); } catch (SecurityException e) { throw new ServiceConstructionException(e); } catch (NoSuchMethodException e) { - return null; + return isWebMethod(method) ? method : null; } } return method; @@ -528,7 +536,7 @@ ResponseWrapper rw = m.getAnnotation(ResponseWrapper.class); String clsName = ""; if (rw == null) { - clsName = getPackageName(selected) + ".jaxws." + AnnotationUtil.capitalize(selected.getName()) + clsName = getPackageName(selected) + ".jaxws." + StringUtils.capitalize(selected.getName()) + "Response"; } else { clsName = rw.className(); @@ -593,7 +601,7 @@ RequestWrapper rw = m.getAnnotation(RequestWrapper.class); String clsName = ""; if (rw == null) { - clsName = getPackageName(selected) + ".jaxws." + AnnotationUtil.capitalize(selected.getName()); + clsName = getPackageName(selected) + ".jaxws." + StringUtils.capitalize(selected.getName()); } else { clsName = rw.className(); } Modified: cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2ws/JavaToWSTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2ws/JavaToWSTest.java?rev=689114&r1=689113&r2=689114&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2ws/JavaToWSTest.java (original) +++ cxf/branches/2.0.x-fixes/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2ws/JavaToWSTest.java Tue Aug 26 08:43:21 2008 @@ -266,7 +266,7 @@ File wsdlFile = outputFile("tmp.wsdl"); String[] args = new String[] {"-wsdl", "-o", output.getPath() + "/tmp.wsdl", "-verbose", "-s", output.getPath(), "-frontend", "jaxws", "-client", "-server", - "org.apache.cxf.tools.fortest.GreeterImpl"}; + org.apache.cxf.tools.fortest.GreeterImpl.class.getName()}; JavaToWS.main(args); assertTrue("Failed to generate WSDL file", wsdlFile.exists()); Modified: cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/template/impl.vm URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/template/impl.vm?rev=689114&r1=689113&r2=689114&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/template/impl.vm (original) +++ cxf/branches/2.0.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/template/impl.vm Tue Aug 26 08:43:21 2008 @@ -34,7 +34,7 @@ * */ [EMAIL PROTECTED](name = "$intf.Name", [EMAIL PROTECTED]( #if ($service.ServiceName != "") serviceName = "$service.ServiceName", #end Modified: cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=689114&r1=689113&r2=689114&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original) +++ cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Tue Aug 26 08:43:21 2008 @@ -90,7 +90,8 @@ Class clz = classLoader.loadClass("org.apache.cxf.cxf1678.hello_world_soap_http.GreeterImpl"); WebService webServiceAnn = AnnotationUtil.getPrivClassAnnotation(clz, WebService.class); - assertEquals("Greeter", webServiceAnn.name()); + assertEquals("org.apache.cxf.cxf1678.hello_world_soap_http.Greeter", + webServiceAnn.endpointInterface()); } @Test @@ -115,7 +116,8 @@ Class clz = classLoader.loadClass("org.apache.hello_world_soap_http.GreeterImpl"); WebService webServiceAnn = AnnotationUtil.getPrivClassAnnotation(clz, WebService.class); - assertEquals("Greeter", webServiceAnn.name()); + assertTrue("Impl class should note generate name property value in webService annotation", + webServiceAnn.name().equals("")); assertFalse("Impl class should generate portName property value in webService annotation", webServiceAnn.portName().equals("")); assertFalse("Impl class should generate serviceName property value in webService annotation", Modified: cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java?rev=689114&r1=689113&r2=689114&view=diff ============================================================================== --- cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java (original) +++ cxf/branches/2.0.x-fixes/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java Tue Aug 26 08:43:21 2008 @@ -307,7 +307,6 @@ assertTrue("Webservice annotation wsdlLocation should begin with file", ws.wsdlLocation() .startsWith("file")); assertEquals("org.apache.hello_world_rpclit.GreeterRPCLit", ws.endpointInterface()); - assertEquals("GreeterRPCLit", ws.name()); }
