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 "Andreas Veithen (JIRA)" <ji...@apache.org> on 2017/05/01 09:37:04 UTC

[jira] [Updated] (AXIS2-5848) After use -Eiu in wsdl2java.sh, factory classes for enumeration typte log warning erroneously

     [ https://issues.apache.org/jira/browse/AXIS2-5848?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen updated AXIS2-5848:
-----------------------------------
    Description: 
For this schema,

{code}
<xs:simpleType name="CabinType">
    <xs:restriction base="xs:string">
        <xs:enumeration value="Default"/>
        <xs:enumeration value="Y"/>
        <xs:enumeration value="S"/>
        <xs:enumeration value="C"/>
        <xs:enumeration value="J"/>
        <xs:enumeration value="F"/>
        <xs:enumeration value="P"/>
    </xs:restriction>
</xs:simpleType>
{code}

Without -Eiu, the generated code is

{code}
public static class Factory {
    public static CabinType fromValue(java.lang.String value)
        throws java.lang.IllegalArgumentException {
        CabinType enumeration = (CabinType) _table_.get(value);

        // handle unexpected enumeration values properly
        if (enumeration == null) {
            throw new java.lang.IllegalArgumentException();
        }
        return enumeration;
    }
{code}

With -Eiu, the code is

{code}
public static class Factory {
    public static CabinType fromValue(java.lang.String value)
        throws java.lang.IllegalArgumentException {
        CabinType enumeration = (CabinType) _table_.get(value);

        // handle unexpected enumeration values properly
        log.warn("Unexpected value " + value +
            " for enumeration CabinType");
        return enumeration;
    }
{code}

Obviously the code above is wrong

  was:
For this schema,
<xs:simpleType name="CabinType">
    <xs:restriction base="xs:string">
        <xs:enumeration value="Default"/>
        <xs:enumeration value="Y"/>
        <xs:enumeration value="S"/>
        <xs:enumeration value="C"/>
        <xs:enumeration value="J"/>
        <xs:enumeration value="F"/>
        <xs:enumeration value="P"/>
    </xs:restriction>
</xs:simpleType>

Without -Eiu, the generated code is
public static class Factory {
    public static CabinType fromValue(java.lang.String value)
        throws java.lang.IllegalArgumentException {
        CabinType enumeration = (CabinType) _table_.get(value);

        // handle unexpected enumeration values properly
        if (enumeration == null) {
            throw new java.lang.IllegalArgumentException();
        }
        return enumeration;
    }

With -Eiu, the code is

public static class Factory {
    public static CabinType fromValue(java.lang.String value)
        throws java.lang.IllegalArgumentException {
        CabinType enumeration = (CabinType) _table_.get(value);

        // handle unexpected enumeration values properly
        log.warn("Unexpected value " + value +
            " for enumeration CabinType");
        return enumeration;
    }

Obviously the code above is wrong


> After use -Eiu in wsdl2java.sh, factory classes for enumeration typte log warning erroneously
> ---------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5848
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5848
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.7.4
>            Reporter: Jing Teng
>
> For this schema,
> {code}
> <xs:simpleType name="CabinType">
>     <xs:restriction base="xs:string">
>         <xs:enumeration value="Default"/>
>         <xs:enumeration value="Y"/>
>         <xs:enumeration value="S"/>
>         <xs:enumeration value="C"/>
>         <xs:enumeration value="J"/>
>         <xs:enumeration value="F"/>
>         <xs:enumeration value="P"/>
>     </xs:restriction>
> </xs:simpleType>
> {code}
> Without -Eiu, the generated code is
> {code}
> public static class Factory {
>     public static CabinType fromValue(java.lang.String value)
>         throws java.lang.IllegalArgumentException {
>         CabinType enumeration = (CabinType) _table_.get(value);
>         // handle unexpected enumeration values properly
>         if (enumeration == null) {
>             throw new java.lang.IllegalArgumentException();
>         }
>         return enumeration;
>     }
> {code}
> With -Eiu, the code is
> {code}
> public static class Factory {
>     public static CabinType fromValue(java.lang.String value)
>         throws java.lang.IllegalArgumentException {
>         CabinType enumeration = (CabinType) _table_.get(value);
>         // handle unexpected enumeration values properly
>         log.warn("Unexpected value " + value +
>             " for enumeration CabinType");
>         return enumeration;
>     }
> {code}
> Obviously the code above is wrong



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org