Author: jochen
Date: Wed Aug 30 02:01:26 2006
New Revision: 438425
URL: http://svn.apache.org/viewvc?rev=438425&view=rev
Log:
The GroupHandlerSG was generating invalid class names in some cases.
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
webservices/jaxme/branches/MAVEN/projects/jm/src/test/resources/nestedGroups.xsd
webservices/jaxme/branches/MAVEN/status.xml
Modified:
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java?rev=438425&r1=438424&r2=438425&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ccsg/GroupHandlerSG.java
Wed Aug 30 02:01:26 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/MAVEN/projects/jm/src/test/resources/nestedGroups.xsd
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/test/resources/nestedGroups.xsd?rev=438425&r1=438424&r2=438425&view=diff
==============================================================================
---
webservices/jaxme/branches/MAVEN/projects/jm/src/test/resources/nestedGroups.xsd
(original)
+++
webservices/jaxme/branches/MAVEN/projects/jm/src/test/resources/nestedGroups.xsd
Wed Aug 30 02:01:26 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/MAVEN/status.xml
URL:
http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/status.xml?rev=438425&r1=438424&r2=438425&view=diff
==============================================================================
--- webservices/jaxme/branches/MAVEN/status.xml (original)
+++ webservices/jaxme/branches/MAVEN/status.xml Wed Aug 30 02:01:26 2006
@@ -61,6 +61,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="Not yet published">
<action dev="JW" type="enhancement" context="js">
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]