Author: dkulp Date: Wed Oct 3 18:24:11 2012 New Revision: 1393654 URL: http://svn.apache.org/viewvc?rev=1393654&view=rev Log: Merged revisions 1393651 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
........ r1393651 | dkulp | 2012-10-03 14:21:34 -0400 (Wed, 03 Oct 2012) | 18 lines Merged revisions 1393647 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes ........ r1393647 | dkulp | 2012-10-03 14:18:24 -0400 (Wed, 03 Oct 2012) | 10 lines Merged revisions 1393646 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1393646 | dkulp | 2012-10-03 14:17:10 -0400 (Wed, 03 Oct 2012) | 2 lines [CXF-4541] Fix a scoping issue in the idl2wsdl processing ........ ........ ........ Added: cxf/branches/2.4.x-fixes/tools/corba/src/test/resources/idl/missing_struct_member.idl Modified: cxf/branches/2.4.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ScopedNameVisitor.java cxf/branches/2.4.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java Modified: cxf/branches/2.4.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ScopedNameVisitor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ScopedNameVisitor.java?rev=1393654&r1=1393653&r2=1393654&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ScopedNameVisitor.java (original) +++ cxf/branches/2.4.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ScopedNameVisitor.java Wed Oct 3 18:24:11 2012 @@ -319,7 +319,7 @@ public class ScopedNameVisitor extends V ModuleToNSMapper mapper = wsdlVisitor.getModuleToNSMapper(); WSDLSchemaManager manager = wsdlVisitor.getManager(); - Scope scopedName = scope; + Scope scopedName = new Scope(scope, node); String name = node.toString(); if (isFullyScopedName(node)) { scopedName = getFullyScopedName(new Scope(), node); Modified: cxf/branches/2.4.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java?rev=1393654&r1=1393653&r2=1393654&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java (original) +++ cxf/branches/2.4.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java Wed Oct 3 18:24:11 2012 @@ -35,7 +35,12 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + import org.apache.cxf.helpers.FileUtils; +import org.apache.cxf.staxutils.StaxUtils; import org.apache.cxf.tools.corba.common.ToolCorbaConstants; import org.apache.cxf.tools.corba.common.ToolTestBase; import org.apache.cxf.tools.corba.utils.TestUtils; @@ -395,4 +400,26 @@ public class IDLToWSDLTest extends ToolT assertTrue(e.getMessage().indexOf("can't resolve type for const myConst") >= 0); } } + + public void testCXF4541() throws Exception { + File input = new File(getClass().getResource("/idl/missing_struct_member.idl").toURI()); + String[] args = new String[] { + "-mns[org::bash=http://www.bash.org]", + "-o", output.toString(), + input.toString() + }; + IDLToWSDL.run(args); + File fs = new File(output, "org_bash.xsd"); + assertTrue(fs.getName() + " was not created.", fs.exists()); + Document doc = StaxUtils.read(new FileInputStream(fs)); + NodeList l = doc.getDocumentElement().getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema", "element"); + for (int x = 0; x < l.getLength(); x++) { + Element el = (Element)l.item(x); + if ("bar".equals(el.getAttribute("name")) + && el.getAttribute("type").contains("string")) { + return; + } + } + fail("Did not find foo element"); + } } Added: cxf/branches/2.4.x-fixes/tools/corba/src/test/resources/idl/missing_struct_member.idl URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/tools/corba/src/test/resources/idl/missing_struct_member.idl?rev=1393654&view=auto ============================================================================== --- cxf/branches/2.4.x-fixes/tools/corba/src/test/resources/idl/missing_struct_member.idl (added) +++ cxf/branches/2.4.x-fixes/tools/corba/src/test/resources/idl/missing_struct_member.idl Wed Oct 3 18:24:11 2012 @@ -0,0 +1,11 @@ +module org +{ + module bash + { + struct foo + { + string bar; + }; + }; +}; +
