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/08 20:38:51 UTC

[jira] Created: (AXIS-1596) enum of QNames generates meaningless names

Message:

  A new issue has been created in JIRA.

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

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1596
    Summary: enum of QNames generates meaningless names
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             1.2RC1

   Assignee: 
   Reporter: Simon Fell

    Created: Fri, 8 Oct 2004 11:37 AM
    Updated: Fri, 8 Oct 2004 11:37 AM
Environment: WinXP, JDK 1.4.02_5

Description:
running wsdl2java on a wsdl that includes an enumeration of qnames generates a class with values value1, value2, value3, value4 etc.

e.g.
<simpleType name="FaultCode">
 <restriction base="xsd:QName">
   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
   <enumeration value="fns:EXCEEDED_QUOTA"/>
 </restriction>
</simpleType>

generates a class with

    public static final javax.xml.namespace.QName _value1 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
    public static final javax.xml.namespace.QName _value2 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
    public static final javax.xml.namespace.QName _value3 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
    public static final javax.xml.namespace.QName _value4 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
    public static final javax.xml.namespace.QName _value5 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
    public static final javax.xml.namespace.QName _value6 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");

public static final FaultCode value1 = new FaultCode(_value1);
    public static final FaultCode value2 = new FaultCode(_value2);
    public static final FaultCode value3 = new FaultCode(_value3);
    public static final FaultCode value4 = new FaultCode(_value4);
    public static final FaultCode value5 = new FaultCode(_value5);
    public static final FaultCode value6 = new FaultCode(_value6);
    
names should be generated from the qname value like a string enumeration does.


---------------------------------------------------------------------
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


Re: [jira] Created: (AXIS-1596) enum of QNames generates meaningless names

Posted by Venkat Reddy <vr...@gmail.com>.
Dims,

We are on it. Ashu and I have posted comments. We can implement the
suggestion from Steve, to replace illegal chars with an underscore,
though it could mean a minor deviation from JAXRPC spec. We need
confirmation that its fine to go ahead.

 -- Venkat


On Tue, 12 Oct 2004 00:54:01 -0400, Davanum Srinivas <da...@gmail.com> wrote:
> Venkat,
> 
> Is this on your list?
> 
> -- dims
> 
> 
> 
> 
> ---------- Forwarded message ----------
> From: axis-dev@ws.apache.org <ax...@ws.apache.org>
> Date: Fri, 8 Oct 2004 11:38:51 -0700 (PDT)
> Subject: [jira] Created: (AXIS-1596) enum of QNames generates meaningless names
> To: axis-dev@ws.apache.org
> 
> Message:
> 
>  A new issue has been created in JIRA.
> 
> ---------------------------------------------------------------------
> View the issue:
>  http://issues.apache.org/jira/browse/AXIS-1596
> 
> Here is an overview of the issue:
> ---------------------------------------------------------------------
>        Key: AXIS-1596
>    Summary: enum of QNames generates meaningless names
>       Type: Bug
> 
>     Status: Unassigned
>   Priority: Major
> 
>    Project: Axis
> Components:
>             WSDL processing
>   Versions:
>             1.2RC1
> 
>   Assignee:
>   Reporter: Simon Fell
> 
>    Created: Fri, 8 Oct 2004 11:37 AM
>    Updated: Fri, 8 Oct 2004 11:37 AM
> Environment: WinXP, JDK 1.4.02_5
> 
> Description:
> running wsdl2java on a wsdl that includes an enumeration of qnames
> generates a class with values value1, value2, value3, value4 etc.
> 
> e.g.
> <simpleType name="FaultCode">
> <restriction base="xsd:QName">
>   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
>   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
>   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
>   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
>   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
>   <enumeration value="fns:EXCEEDED_QUOTA"/>
> </restriction>
> </simpleType>
> 
> generates a class with
> 
>    public static final javax.xml.namespace.QName _value1 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
>    public static final javax.xml.namespace.QName _value2 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
>    public static final javax.xml.namespace.QName _value3 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
>    public static final javax.xml.namespace.QName _value4 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
>    public static final javax.xml.namespace.QName _value5 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
>    public static final javax.xml.namespace.QName _value6 =
> javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");
> 
> public static final FaultCode value1 = new FaultCode(_value1);
>    public static final FaultCode value2 = new FaultCode(_value2);
>    public static final FaultCode value3 = new FaultCode(_value3);
>    public static final FaultCode value4 = new FaultCode(_value4);
>    public static final FaultCode value5 = new FaultCode(_value5);
>    public static final FaultCode value6 = new FaultCode(_value6);
> 
> names should be generated from the qname value like a string enumeration does.
> 
> ---------------------------------------------------------------------
> 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
> 
> 
> --
> Davanum Srinivas - http://webservices.apache.org/~dims/
>

Fwd: [jira] Created: (AXIS-1596) enum of QNames generates meaningless names

Posted by Davanum Srinivas <da...@gmail.com>.
Venkat,

Is this on your list?

-- dims


---------- Forwarded message ----------
From: axis-dev@ws.apache.org <ax...@ws.apache.org>
Date: Fri, 8 Oct 2004 11:38:51 -0700 (PDT)
Subject: [jira] Created: (AXIS-1596) enum of QNames generates meaningless names
To: axis-dev@ws.apache.org


Message:

  A new issue has been created in JIRA.

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

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1596
    Summary: enum of QNames generates meaningless names
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components:
             WSDL processing
   Versions:
             1.2RC1

   Assignee:
   Reporter: Simon Fell

    Created: Fri, 8 Oct 2004 11:37 AM
    Updated: Fri, 8 Oct 2004 11:37 AM
Environment: WinXP, JDK 1.4.02_5

Description:
running wsdl2java on a wsdl that includes an enumeration of qnames
generates a class with values value1, value2, value3, value4 etc.

e.g.
<simpleType name="FaultCode">
 <restriction base="xsd:QName">
   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
   <enumeration value="fns:EXCEEDED_QUOTA"/>
 </restriction>
</simpleType>

generates a class with

    public static final javax.xml.namespace.QName _value1 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
    public static final javax.xml.namespace.QName _value2 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
    public static final javax.xml.namespace.QName _value3 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
    public static final javax.xml.namespace.QName _value4 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
    public static final javax.xml.namespace.QName _value5 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
    public static final javax.xml.namespace.QName _value6 =
javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");

public static final FaultCode value1 = new FaultCode(_value1);
    public static final FaultCode value2 = new FaultCode(_value2);
    public static final FaultCode value3 = new FaultCode(_value3);
    public static final FaultCode value4 = new FaultCode(_value4);
    public static final FaultCode value5 = new FaultCode(_value5);
    public static final FaultCode value6 = new FaultCode(_value6);

names should be generated from the qname value like a string enumeration does.

---------------------------------------------------------------------
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



-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

[jira] Commented: (AXIS-1596) enum of QNames generates meaningless names

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Venkat Reddy
    Created: Tue, 12 Oct 2004 12:47 AM
       Body:
Currenty the implementation conforms to JAXRPC1.1 spec as quoted below. So it may not be a Bug.

Secondly, processing for illegal chars might be a deviation from the spec. We can do this as an improvement over the spec. Does anyone have any objections for this?

<quote ref:JAX-RPC 1.1 Spec, Section 4.2.4>

public static final <base_type> _<label> = <value>;
. . . . . . . . 
. . . . . . . . 

All _<label> and <label> used in the mapped Java class (for XML enumeration) are
required to be valid Java identifiers. According to the Java language specification, a Java
identifier cannot have the same spelling as a Java keyword, Boolean literal or null
literal. If one or more enumerated values in an XML enumeration cannot map to valid Java
identifiers (examples are "3.14", "int"), the mapped Java class is required to use Java
identifiers value<1..N> and _value<1..N> for <label> and _<label> (as in the above
mapping code snippet) respectively. The numeric suffix starts from 1 and increments by
1 per value in the XML enumeration. Examples are _value1, value1, value2 and
_value2.

</quote ref:JAX-RPC 1.1 Spec, Section 4.2.4>

---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1596?page=comments#action_53925

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

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1596
    Summary: enum of QNames generates meaningless names
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             1.2RC1

   Assignee: 
   Reporter: Simon Fell

    Created: Fri, 8 Oct 2004 11:37 AM
    Updated: Tue, 12 Oct 2004 12:47 AM
Environment: WinXP, JDK 1.4.02_5

Description:
running wsdl2java on a wsdl that includes an enumeration of qnames generates a class with values value1, value2, value3, value4 etc.

e.g.
<simpleType name="FaultCode">
 <restriction base="xsd:QName">
   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
   <enumeration value="fns:EXCEEDED_QUOTA"/>
 </restriction>
</simpleType>

generates a class with

    public static final javax.xml.namespace.QName _value1 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
    public static final javax.xml.namespace.QName _value2 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
    public static final javax.xml.namespace.QName _value3 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
    public static final javax.xml.namespace.QName _value4 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
    public static final javax.xml.namespace.QName _value5 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
    public static final javax.xml.namespace.QName _value6 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");

public static final FaultCode value1 = new FaultCode(_value1);
    public static final FaultCode value2 = new FaultCode(_value2);
    public static final FaultCode value3 = new FaultCode(_value3);
    public static final FaultCode value4 = new FaultCode(_value4);
    public static final FaultCode value5 = new FaultCode(_value5);
    public static final FaultCode value6 = new FaultCode(_value6);
    
names should be generated from the qname value like a string enumeration does.


---------------------------------------------------------------------
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


[jira] Commented: (AXIS-1596) enum of QNames generates meaningless names

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Ashutosh Shahi
    Created: Mon, 11 Oct 2004 6:49 AM
       Body:
Simon,
      This happens because your QName contains a character which is not a valid java identifier (the character ":"). This will happen even when your string contains special characters which are not java identifiers. So this is not related to QName, its a general behavior.
     Not sure if this is a major bug, do we need to fix it?

Ashutosh
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1596?page=comments#action_53910

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

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1596
    Summary: enum of QNames generates meaningless names
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             1.2RC1

   Assignee: 
   Reporter: Simon Fell

    Created: Fri, 8 Oct 2004 11:37 AM
    Updated: Mon, 11 Oct 2004 6:49 AM
Environment: WinXP, JDK 1.4.02_5

Description:
running wsdl2java on a wsdl that includes an enumeration of qnames generates a class with values value1, value2, value3, value4 etc.

e.g.
<simpleType name="FaultCode">
 <restriction base="xsd:QName">
   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
   <enumeration value="fns:EXCEEDED_QUOTA"/>
 </restriction>
</simpleType>

generates a class with

    public static final javax.xml.namespace.QName _value1 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
    public static final javax.xml.namespace.QName _value2 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
    public static final javax.xml.namespace.QName _value3 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
    public static final javax.xml.namespace.QName _value4 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
    public static final javax.xml.namespace.QName _value5 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
    public static final javax.xml.namespace.QName _value6 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");

public static final FaultCode value1 = new FaultCode(_value1);
    public static final FaultCode value2 = new FaultCode(_value2);
    public static final FaultCode value3 = new FaultCode(_value3);
    public static final FaultCode value4 = new FaultCode(_value4);
    public static final FaultCode value5 = new FaultCode(_value5);
    public static final FaultCode value6 = new FaultCode(_value6);
    
names should be generated from the qname value like a string enumeration does.


---------------------------------------------------------------------
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


[jira] Commented: (AXIS-1596) enum of QNames generates meaningless names

Posted by ax...@ws.apache.org.
The following comment has been added to this issue:

     Author: Steve Loughran
    Created: Mon, 11 Oct 2004 7:07 AM
       Body:
This is (a) exactly the same behaviour you'd see if a string value could not be converted down, (b) something we are meant to do according to JAX-RPC, and (c) really really irritating.

IMO it makes enums unusable, as you have effectively dropped from unique names into the wire into enum offsets "1" "2" "3" in your code; any change in the source XSD will break your client the next time you rebuild, and you wont even notice.

What I have ended up doing is having a separate file constants.xml, which is used to XSL up useful constants in app code of any language, with meaningful comments: 

    <string name="CALLBACK_WS_EVENTING" value="http://schemas.xmlsoap.org/ws/2004/08/eventing">
      <description>name of ws-eventing callback type</description>
    </string>

There has to be a better way, even if it involves changing JAX-RPC to a better naming logic. Replacing all illegal chars with an underscore for example, then addressing duplicates with a _1 or _2 suffix, rather than blind value1, value2 naming. 

Also note, we revert to valueX the moment there is anything illegal in the names. I had an enum with "null" as one of the elements; this was enough to break the naming. Am I really meant to know to only use reserved words in all possible consumer languages to use enums properly?
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1596?page=comments#action_53911

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

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1596
    Summary: enum of QNames generates meaningless names
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             WSDL processing
   Versions:
             1.2RC1

   Assignee: 
   Reporter: Simon Fell

    Created: Fri, 8 Oct 2004 11:37 AM
    Updated: Mon, 11 Oct 2004 7:07 AM
Environment: WinXP, JDK 1.4.02_5

Description:
running wsdl2java on a wsdl that includes an enumeration of qnames generates a class with values value1, value2, value3, value4 etc.

e.g.
<simpleType name="FaultCode">
 <restriction base="xsd:QName">
   <enumeration value="fns:API_CURRENTLY_DISABLED"/>
   <enumeration value="fns:API_DISABLED_FOR_ORG"/>
   <enumeration value="fns:EXCEEDED_ID_LIMIT"/>
   <enumeration value="fns:EXCEEDED_LEAD_CONVERT_LIMIT"/>
   <enumeration value="fns:EXCEEDED_MAX_SIZE_REQUEST"/>
   <enumeration value="fns:EXCEEDED_QUOTA"/>
 </restriction>
</simpleType>

generates a class with

    public static final javax.xml.namespace.QName _value1 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_CURRENTLY_DISABLED");
    public static final javax.xml.namespace.QName _value2 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}API_DISABLED_FOR_ORG");
    public static final javax.xml.namespace.QName _value3 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_ID_LIMIT");
    public static final javax.xml.namespace.QName _value4 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_LEAD_CONVERT_LIMIT");
    public static final javax.xml.namespace.QName _value5 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_MAX_SIZE_REQUEST");
    public static final javax.xml.namespace.QName _value6 = javax.xml.namespace.QName.valueOf("{urn:fault.enterprise.soap.sforce.com}EXCEEDED_QUOTA");

public static final FaultCode value1 = new FaultCode(_value1);
    public static final FaultCode value2 = new FaultCode(_value2);
    public static final FaultCode value3 = new FaultCode(_value3);
    public static final FaultCode value4 = new FaultCode(_value4);
    public static final FaultCode value5 = new FaultCode(_value5);
    public static final FaultCode value6 = new FaultCode(_value6);
    
names should be generated from the qname value like a string enumeration does.


---------------------------------------------------------------------
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