You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ax...@ws.apache.org on 2004/10/14 18:19:01 UTC

[jira] Commented: (AXIS-1598) Generated Java artifacts name for Schema Anonymous type

The following comment has been added to this issue:

     Author: Ias
    Created: Thu, 14 Oct 2004 9:18 AM
       Body:
There has seemed to be no objection so far against this approach, so I'll commit these diffs (approximately) at 17:00 (GMT 0) tomorrow (15 Oct).

Thanks.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1598?page=comments#action_54060

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1598

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1598
    Summary: Generated Java artifacts name for Schema Anonymous type
       Type: Improvement

     Status: Open
   Priority: Major

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             current (nightly)

   Assignee: Ias
   Reporter: Jongjin Choi

    Created: Sun, 10 Oct 2004 11:39 PM
    Updated: Thu, 14 Oct 2004 9:18 AM

Description:
Dear all. 

In the current version of Axis, the generated java artifacts 
name for schema anonymous type begins with underscore. 
 
For example, in the AddressBook.wsdl in the 
ws-axis/java/test/wsdl/addrNoImplSEI directory, 
 
 <xsd:element name="Phone"> 
    <xsd:complexType> 
       <xsd:all> 
            <xsd:element name="areaCode" type="xsd:int"/> 
            <xsd:element name="exchange" type="xsd:string"/> 
            <xsd:element name="number" type="xsd:string/> 
       </xsd:all> 
    </xsd:complexType> 
 </xsd:element> 
 
The generated Java artifact for the element's complex type is 
'_phone.java'. 
 
This convention may confuse the user because it does not 
follow general java naming rule. 
It would be better if the generated arftifact name is 
'Phone.java' instead of '_phone.java' in this case. 
 
The JSR-109 introduces the new QName scheme for anonymous type. 
Currently Axis makes a Java name from the QName by replacing '>' with '_'. 
I think that java name can be derived from the QName by using 
empty string instead of '_' and making the character 
following '>' as upper case. 
 
For example, the QName and its derived java name should be like these: 
 QName --> java name 
 
 X:>root   --> Root 
 X:>root>inside --> RootInside   ('I' is also upper case) 
 
If name collision occurs, it will be resolved in the 
resolveNameClashes() method of JavaGeneratorFactory. 
 
It seems that the JAX-RPC 1.1 is not clear for this. But the 
SUN's JWSDP works the way I said. 
 
I have fixed this in my local axis copy and passed all-tests with some modification for generated artifacts name 
to the test cases for wsdl (ws-axis/java/test/wsdl/). 
 
I know that it will break existing application using Axis. 
But the change will provide the users with more friendly 
names, compatibility with other JAX-RPC runtime and less confusion. 




---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira