cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-4507) bug in SchemaJavascriptBuilder while deserializing an Array
Date Tue, 25 Sep 2012 19:34:08 GMT

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

Daniel Kulp resolved CXF-4507.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6.3
                   2.5.6
                   2.4.10
    
> bug in SchemaJavascriptBuilder while deserializing an Array
> -----------------------------------------------------------
>
>                 Key: CXF-4507
>                 URL: https://issues.apache.org/jira/browse/CXF-4507
>             Project: CXF
>          Issue Type: Bug
>          Components: JavaScript Client
>    Affects Versions: 2.6.2
>         Environment: FireFox
>            Reporter: Kayvan Arianpour
>            Assignee: Daniel Kulp
>            Priority: Critical
>              Labels: javascript
>             Fix For: 2.4.10, 2.5.6, 2.6.3
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> SchemaJavascriptBuilder.java creates a JavaScript for a service, while deserializing
an array it uses a variable named "arrayItem" with no value on definition.
> The Problem : if an item in the array is set to null on server, the deserializer on client
side set the item to the value set for the latest value set.
> Here you can find the solution :
> SchemaJavascriptBuilder.java line 556 : (org\apache\cxf\javascript\types)
>     utils.appendLine("var arrayItem;");//****************
> should be read as 
>     utils.appendLine("var arrayItem = null;");//****************
> sample produced code : 
> function services_sal_ngs__rspPayCheque_deserialize (cxfjsutils, element) {
> ...
>      do  {
>       var arrayItem;//*******************************
>       var value = null;
>       if (!cxfjsutils.isElementNil(curElement)) {
>        value = cxfjsutils.getNodeText(curElement);
>        arrayItem = value;
>       }
>       item.push(arrayItem);
>       curElement = cxfjsutils.getNextElementSibling(curElement);
>      }
> ...
>     return newobject;
> }
> the corrected version should be :
> function services_sal_ngs__rspPayCheque_deserialize (cxfjsutils, element) {
> ...
>      do  {
>       var arrayItem = null;//*******************************
>       var value = null;
>       if (!cxfjsutils.isElementNil(curElement)) {
>        value = cxfjsutils.getNodeText(curElement);
>        arrayItem = value;
>       }
>       item.push(arrayItem);
>       curElement = cxfjsutils.getNextElementSibling(curElement);
>      }
> ...
>     return newobject;
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message