cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r1535493 - in /cxf/branches/2.6.x-fixes/tools/corba/src: main/generated/org/apache/cxf/tools/corba/processors/idl/ main/java/org/apache/cxf/tools/corba/processors/idl/ test/java/org/apache/cxf/tools/corba/ test/resources/idl/
Date Thu, 24 Oct 2013 18:42:00 GMT
Author: dkulp
Date: Thu Oct 24 18:41:59 2013
New Revision: 1535493

URL: http://svn.apache.org/r1535493
Log:
Merged revisions 1535489 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

........
  r1535489 | dkulp | 2013-10-24 14:36:14 -0400 (Thu, 24 Oct 2013) | 16 lines

  Merged revisions 1535486 via  git cherry-pick from
  https://svn.apache.org/repos/asf/cxf/trunk

  ........
    r1535486 | dkulp | 2013-10-24 14:33:34 -0400 (Thu, 24 Oct 2013) | 8 lines

    [CXF-5340] - Handling quoted literals and exception members

    "local" literal was incorrectly treated as literal.
    exception members' types where not identified correctly - "unsigned
    long" was treated as "unsigned" type with name "long"

    Patch from Grzegorz Grzybek applied

  ........

........

Added:
    cxf/branches/2.6.x-fixes/tools/corba/src/test/resources/idl/CXF5340.idl
Modified:
    cxf/branches/2.6.x-fixes/tools/corba/src/main/generated/org/apache/cxf/tools/corba/processors/idl/IDLLexer.java
    cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ExceptionVisitor.java
    cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/idl.g
    cxf/branches/2.6.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java

Modified: cxf/branches/2.6.x-fixes/tools/corba/src/main/generated/org/apache/cxf/tools/corba/processors/idl/IDLLexer.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/corba/src/main/generated/org/apache/cxf/tools/corba/processors/idl/IDLLexer.java?rev=1535493&r1=1535492&r2=1535493&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/corba/src/main/generated/org/apache/cxf/tools/corba/processors/idl/IDLLexer.java
(original)
+++ cxf/branches/2.6.x-fixes/tools/corba/src/main/generated/org/apache/cxf/tools/corba/processors/idl/IDLLexer.java
Thu Oct 24 18:41:59 2013
@@ -348,7 +348,6 @@ tryAgain:
 				}
 				if ( _returnToken==null ) continue tryAgain; // found SKIP token
 				_ttype = _returnToken.getType();
-				_ttype = testLiteralsTable(_ttype);
 				_returnToken.setType(_ttype);
 				return _returnToken;
 			}

Modified: cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ExceptionVisitor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ExceptionVisitor.java?rev=1535493&r1=1535492&r2=1535493&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ExceptionVisitor.java
(original)
+++ cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/ExceptionVisitor.java
Thu Oct 24 18:41:59 2013
@@ -99,7 +99,7 @@ public class ExceptionVisitor extends Vi
         // exception members
         AST memberTypeNode = identifierNode.getNextSibling();
         while (memberTypeNode != null) {
-            AST memberNode = memberTypeNode.getNextSibling();
+            AST memberNode = TypesUtils.getCorbaTypeNameNode(memberTypeNode);
 
             TypesVisitor visitor = new TypesVisitor(exceptionScope,
                                                     definition,

Modified: cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/idl.g
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/idl.g?rev=1535493&r1=1535492&r2=1535493&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/idl.g
(original)
+++ cxf/branches/2.6.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/idl.g
Thu Oct 24 18:41:59 2013
@@ -954,6 +954,7 @@ options {
 	exportVocab=IDL;
 	charVocabulary='\u0000'..'\uFFFE';
 	k=4;
+	testLiterals=false;
 }
 
 SEMI

Modified: cxf/branches/2.6.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java?rev=1535493&r1=1535492&r2=1535493&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java
(original)
+++ cxf/branches/2.6.x-fixes/tools/corba/src/test/java/org/apache/cxf/tools/corba/IDLToWSDLTest.java
Thu Oct 24 18:41:59 2013
@@ -435,4 +435,39 @@ public class IDLToWSDLTest extends ToolT
         String s = StaxUtils.toString(doc.getDocumentElement());
         assertTrue(s.contains("name=\"myStruct\""));
     }
+
+    public void testCXF5340() throws Exception {
+        File input = new File(getClass().getResource("/idl/CXF5340.idl").toURI());
+        String[] args = new String[] {
+            "-o", output.toString(),
+            "-verbose", "-qualified",
+            input.toString()
+        };
+        IDLToWSDL.run(args);
+        File fs = new File(output, "CXF5340.wsdl");
+        assertTrue(fs.getName() + " was not created.", fs.exists());
+
+        String corbaNs = "http://cxf.apache.org/bindings/corba";
+        Document doc = StaxUtils.read(new FileInputStream(fs));
+
+        // const with value "local"
+        NodeList nl = doc.getDocumentElement().getElementsByTagNameNS(corbaNs, "const");
+        assertEquals(1, nl.getLength());
+        Element c = (Element)nl.item(0);
+        assertEquals("repro.NOT_CONN_LOCAL", c.getAttribute("name"));
+        assertEquals("local", c.getAttribute("value"));
+
+        // unsigned long case
+        nl = doc.getDocumentElement().getElementsByTagNameNS(corbaNs, "exception");
+        assertEquals(1, nl.getLength());
+        Element exception = (Element)nl.item(0);
+        nl = exception.getElementsByTagNameNS(corbaNs, "member");
+        assertEquals(2, nl.getLength());
+        Element number = (Element)nl.item(0);
+        assertEquals("ulong", number.getAttribute("idltype").split(":")[1]);
+        assertEquals("m_number", number.getAttribute("name"));
+        Element message = (Element)nl.item(1);
+        assertEquals("string", message.getAttribute("idltype").split(":")[1]);
+        assertEquals("m_message", message.getAttribute("name"));
+    }
 }

Added: cxf/branches/2.6.x-fixes/tools/corba/src/test/resources/idl/CXF5340.idl
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/tools/corba/src/test/resources/idl/CXF5340.idl?rev=1535493&view=auto
==============================================================================
--- cxf/branches/2.6.x-fixes/tools/corba/src/test/resources/idl/CXF5340.idl (added)
+++ cxf/branches/2.6.x-fixes/tools/corba/src/test/resources/idl/CXF5340.idl Thu Oct 24 18:41:59
2013
@@ -0,0 +1,26 @@
+module repro {
+
+	const string NOT_CONN_LOCAL = "local";
+
+	// Exceptions of this type may be thrown by the following interfaces
+	exception msgError {
+		unsigned long	m_number;		// error number
+		string			m_message;		// error text
+	};
+
+	enum Reply {
+			positive	// i.e. Ok or Yes
+		,	negative	// i.e. No or Cancel
+		,	_dont_use_3	// don't use, align to hbMsg.h
+		,	_dont_use_4	// don't use, align to hbMsg.h
+		,	_dont_use_5	// don't use, align to hbMsg.h
+		,	errTimeout	// i.e. there was a timeout in a timed request
+		,	errError	// i.e. there was an error during the request
+		,	cancelled	// i.e. some person or some process cancelled the request
+	};
+
+	interface Service {
+		Reply getFirst( in Reply rep, out Reply reply ) raises (msgError);
+	};
+
+};



Mime
View raw message