Author: jochen
Date: Wed Aug 30 01:59:29 2006
New Revision: 438424
URL: http://svn.apache.org/viewvc?rev=438424&view=rev
Log:
The GroupHandlerSG was generating invalid class names in some cases.
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
webservices/jaxme/branches/b0_5/src/test/jaxb/nestedGroups.xsd
webservices/jaxme/branches/b0_5/status.xml
Modified:
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java?rev=438424&r1=438423&r2=438424&view=diff
==============================================================================
---
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
(original)
+++
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
Wed Aug 30 01:59:29 2006
@@ -129,6 +129,27 @@
}
}
+ private boolean isValidInnerClassName(JavaSource pSource, String pName)
{
+ boolean isInnerClass = pSource.isInnerClass();
+ final String name;
+ if (isInnerClass) {
+ JavaInnerClass jic = (JavaInnerClass) pSource;
+ if (!isValidInnerClassName(jic.getOuterClass(), pName))
{
+ return false;
+ }
+ name = jic.getQName().getInnerClassName();
+ } else {
+ name = pSource.getQName().getClassName();
+ }
+ if (name.equals(pName)) {
+ return false;
+ }
+ if (pSource.getInnerClass(pName) != null) {
+ return false;
+ }
+ return true;
+ }
+
private GroupHandlerSG newGroupHandlerSG(ParticleSG pParticle) throws
SAXException {
JavaSource js = getJavaSource();
String name = GroupUtil.getGroupName(pParticle.getGroupSG());
@@ -138,7 +159,7 @@
name += i;
}
n += "Handler";
- if (js.getInnerClass(n) == null) {
+ if (isValidInnerClassName(js, n)) {
GroupHandlerSG result =
newGroupHandlerSG(pParticle, n);
result.newGetHandlerMethod(js);
return result;
Modified: webservices/jaxme/branches/b0_5/src/test/jaxb/nestedGroups.xsd
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/test/jaxb/nestedGroups.xsd?rev=438424&r1=438423&r2=438424&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/src/test/jaxb/nestedGroups.xsd (original)
+++ webservices/jaxme/branches/b0_5/src/test/jaxb/nestedGroups.xsd Wed Aug 30
01:59:29 2006
@@ -166,4 +166,48 @@
<xs:attribute name="name" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
+
+
+ <xs:complexType name="PathComponent">
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="status" type="xs:int" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="Container">
+ <xs:sequence>
+ <xs:element name="container" type="ng:PathComponent" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="DocumentType">
+ <xs:complexContent>
+ <xs:extension base="ng:Container">
+ <xs:sequence>
+ <xs:element name="documentType" type="ng:PathComponent" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="Document">
+ <xs:complexContent>
+ <xs:extension base="ng:DocumentType">
+ <xs:sequence>
+ <xs:element name="document" type="ng:PathComponent" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="Version">
+ <xs:complexContent>
+ <xs:extension base="ng:Document">
+ <xs:sequence>
+ <xs:element name="version" type="ng:PathComponent" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="Ver" type="ng:Version"/>
</xs:schema>
Modified: webservices/jaxme/branches/b0_5/status.xml
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/status.xml?rev=438424&r1=438423&r2=438424&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/status.xml (original)
+++ webservices/jaxme/branches/b0_5/status.xml Wed Aug 30 01:59:29 2006
@@ -57,6 +57,9 @@
<action dev="JW" type="add" context="jm">
External schema bindings are now supported recursively.
</action>
+ <action dev="JW" type="fix" context="jm">
+ The GroupHandlerSG was generating invalid class names in some cases.
+ </action>
</release>
<release version="0.5.1" date="06-Jan-2006">
<action dev="JW" type="enhancement" context="js">
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]