You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2011/01/27 07:30:56 UTC
svn commit: r1064002 - in /cxf/branches/2.3.x-fixes: ./
tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/
tools/corba/src/test/resources/idl/
Author: ffang
Date: Thu Jan 27 06:30:55 2011
New Revision: 1064002
URL: http://svn.apache.org/viewvc?rev=1064002&view=rev
Log:
Merged revisions 1064000 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1064000 | ffang | 2011-01-27 14:10:34 +0800 (四, 27 1 2011) | 1 line
[CXF-3289]idl2wsdl fails if reference to interface is used inside the interface itself.
........
Modified:
cxf/branches/2.3.x-fixes/ (props changed)
cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/Scope.java
cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/VisitorBase.java
cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/PragmaPrefix.idl
cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/expected_PragmaPrefix.wsdl
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/Scope.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/Scope.java?rev=1064002&r1=1064001&r2=1064002&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/Scope.java (original)
+++ cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/Scope.java Thu Jan 27 06:30:55 2011
@@ -32,6 +32,7 @@ public final class Scope implements Comp
private static final String SEPARATOR = ".";
private List<String> scope;
private Scope parent;
+ private String prefix;
public Scope() {
scope = new ArrayList<String>();
@@ -55,12 +56,14 @@ public final class Scope implements Comp
public Scope(Scope containingScope) {
scope = new ArrayList<String>(containingScope.scope);
parent = containingScope.getParent();
+ this.setPrefix(parent.getPrefix());
}
public Scope(Scope containingScope, String str) {
scope = new ArrayList<String>(containingScope.scope);
scope.add(str);
parent = containingScope;
+ this.setPrefix(parent.getPrefix());
}
// This is used for interface inheritance
@@ -69,6 +72,7 @@ public final class Scope implements Comp
scope.addAll(prefixScope.scope);
scope.add(str);
parent = containingScope;
+ this.setPrefix(parent.getPrefix());
}
public Scope(Scope containingScope, AST node) {
@@ -77,6 +81,7 @@ public final class Scope implements Comp
scope.add(node.toString());
}
parent = containingScope;
+ this.setPrefix(parent.getPrefix());
}
public String tail() {
@@ -111,11 +116,14 @@ public final class Scope implements Comp
public String toIDLRepositoryID() {
StringBuilder result = new StringBuilder();
result.append(CorbaConstants.REPO_STRING);
+ if (prefix != null && prefix.length() > 0) {
+ result.append(prefix + "/");
+ }
result.append(toString("/"));
result.append(CorbaConstants.IDL_VERSION);
return result.toString();
}
-
+
public boolean equals(Object otherScope) {
if (otherScope instanceof Scope) {
return toString().equals(((Scope)otherScope).toString());
@@ -139,4 +147,12 @@ public final class Scope implements Comp
+ otherScope.getClass().getName());
}
}
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
}
Modified: cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/VisitorBase.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/VisitorBase.java?rev=1064002&r1=1064001&r2=1064002&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/VisitorBase.java (original)
+++ cxf/branches/2.3.x-fixes/tools/corba/src/main/java/org/apache/cxf/tools/corba/processors/idl/VisitorBase.java Thu Jan 27 06:30:55 2011
@@ -61,7 +61,7 @@ public abstract class VisitorBase implem
mapper = wsdlVisitor.getModuleToNSMapper();
scope = scopeRef;
-
+ scope.setPrefix(wsdlASTVisitor.getPragmaPrefix());
fullyQualifiedName = null;
schemaType = null;
corbaType = null;
Modified: cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/PragmaPrefix.idl
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/PragmaPrefix.idl?rev=1064002&r1=1064001&r2=1064002&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/PragmaPrefix.idl (original)
+++ cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/PragmaPrefix.idl Thu Jan 27 06:30:55 2011
@@ -33,7 +33,8 @@ module Test2 {
#endif
local interface ForTesting {
-
+ readonly attribute ForTesting session;
+
void greetMe(in string who);
};
};
Modified: cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/expected_PragmaPrefix.wsdl
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/expected_PragmaPrefix.wsdl?rev=1064002&r1=1064001&r2=1064002&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/expected_PragmaPrefix.wsdl (original)
+++ cxf/branches/2.3.x-fixes/tools/corba/src/test/resources/idl/expected_PragmaPrefix.wsdl Thu Jan 27 06:30:55 2011
@@ -1,29 +1,33 @@
<?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.
--->
-
-<wsdl:definitions targetNamespace="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:corba="http://cxf.apache.org/bindings/corba" xmlns:tns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+<wsdl:definitions targetNamespace="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:corba="http://cxf.apache.org/bindings/corba" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:tns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<corba:typeMapping targetNamespace="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix/typemap">
<corba:const xmlns:xs="http://www.w3.org/2001/XMLSchema" value="\2" idltype="corba:char" name="Test2.TRANSIENT" type="xs:byte"/>
+ <corba:object xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" binding="Test2.ForTestingCORBABinding" repositoryID="IDL:org.apache.cxf/Test2/ForTesting:1.0" name="Test2.ForTesting" type="ns4:EndpointReferenceType"/>
</corba:typeMapping>
<wsdl:types>
- <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd">
+ </xs:import>
+ <xs:element name="_get_session">
+ <xs:complexType>
+ <xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Test2.ForTestingRef" type="wsa:EndpointReferenceType">
+ <xs:annotation>
+ <xs:appinfo>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="_get_sessionResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="return" nillable="true" type="wsa:EndpointReferenceType">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:element name="greetMe">
<xs:complexType>
<xs:sequence>
@@ -40,6 +44,10 @@
</xs:element>
</xs:schema>
</wsdl:types>
+ <wsdl:message name="_get_session">
+ <wsdl:part name="parameters" element="tns:_get_session">
+ </wsdl:part>
+ </wsdl:message>
<wsdl:message name="greetMeResponse">
<wsdl:part name="outparameter" element="tns:greetMeResponse">
</wsdl:part>
@@ -48,7 +56,17 @@
<wsdl:part name="inparameter" element="tns:greetMe">
</wsdl:part>
</wsdl:message>
+ <wsdl:message name="_get_sessionResponse">
+ <wsdl:part name="parameters" element="tns:_get_sessionResult">
+ </wsdl:part>
+ </wsdl:message>
<wsdl:portType name="Test2.ForTesting">
+ <wsdl:operation name="_get_session">
+ <wsdl:input name="_get_session" message="tns:_get_session">
+ </wsdl:input>
+ <wsdl:output name="_get_sessionResponse" message="tns:_get_sessionResponse">
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="greetMe">
<wsdl:input name="greetMeRequest" message="tns:greetMe">
</wsdl:input>
@@ -58,6 +76,15 @@
</wsdl:portType>
<wsdl:binding name="Test2.ForTestingCORBABinding" type="tns:Test2.ForTesting">
<corba:binding repositoryID="IDL:org.apache.cxf/Test2/ForTesting:1.0"/>
+ <wsdl:operation name="_get_session">
+ <corba:operation name="_get_session">
+ <corba:return xmlns="http://cxf.apache.org/bindings/corba/idl/PragmaPrefix/typemap" name="return" idltype="Test2.ForTesting"/>
+ </corba:operation>
+ <wsdl:input name="_get_session">
+ </wsdl:input>
+ <wsdl:output name="_get_sessionResponse">
+ </wsdl:output>
+ </wsdl:operation>
<wsdl:operation name="greetMe">
<corba:operation name="greetMe">
<corba:param mode="in" name="who" idltype="corba:string"/>