Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 24847 invoked from network); 11 Dec 2009 18:18:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 11 Dec 2009 18:18:27 -0000 Received: (qmail 87979 invoked by uid 500); 11 Dec 2009 18:18:27 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 87893 invoked by uid 500); 11 Dec 2009 18:18:26 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 87884 invoked by uid 99); 11 Dec 2009 18:18:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Dec 2009 18:18:26 +0000 X-ASF-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Dec 2009 18:18:24 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 57D9D23889D2; Fri, 11 Dec 2009 18:18:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r889740 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java Date: Fri, 11 Dec 2009 18:18:04 -0000 To: commits@cxf.apache.org From: sergeyb@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091211181804.57D9D23889D2@eris.apache.org> Author: sergeyb Date: Fri Dec 11 18:18:03 2009 New Revision: 889740 URL: http://svn.apache.org/viewvc?rev=889740&view=rev Log: JAXRS : better nested beans support in WADLGenerator Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java?rev=889740&r1=889739&r2=889740&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java (original) +++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java Fri Dec 11 18:18:03 2009 @@ -309,18 +309,30 @@ private void writeParam(StringBuilder sb, Parameter pm, OperationResourceInfo ori) { Class type = ori.getMethodToInvoke().getParameterTypes()[pm.getIndex()]; if (!"".equals(pm.getName())) { - doWriteParam(sb, pm, type); + doWriteParam(sb, pm, type, pm.getName()); } else { - Map> pms = InjectionUtils.getParametersFromBeanClass(type, pm.getType()); - for (Map.Entry> entry : pms.entrySet()) { - doWriteParam(sb, entry.getKey(), entry.getValue()); + doWriteBeanParam(sb, type, pm, null); + } + } + + private void doWriteBeanParam(StringBuilder sb, Class type, Parameter pm, String parentName) { + Map> pms = InjectionUtils.getParametersFromBeanClass(type, pm.getType()); + for (Map.Entry> entry : pms.entrySet()) { + String name = entry.getKey().getName(); + if (parentName != null) { + name = parentName + "." + name; + } + if (InjectionUtils.isPrimitive(entry.getValue())) { + doWriteParam(sb, entry.getKey(), entry.getValue(), name); + } else { + doWriteBeanParam(sb, entry.getValue(), entry.getKey(), name); } } } - private void doWriteParam(StringBuilder sb, Parameter pm, Class type) { + private void doWriteParam(StringBuilder sb, Parameter pm, Class type, String paramName) { - sb.append("