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-2761) JavaScript variable "item" wont be reinitialized
Date Mon, 12 Apr 2010 04:05:41 GMT

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

Daniel Kulp resolved CXF-2761.
------------------------------

    Fix Version/s: 2.2.8
       Resolution: Fixed

> JavaScript variable "item" wont be reinitialized
> ------------------------------------------------
>
>                 Key: CXF-2761
>                 URL: https://issues.apache.org/jira/browse/CXF-2761
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.7
>         Environment: Mac OS X
>            Reporter: Björn Häuser
>            Assignee: Daniel Kulp
>             Fix For: 2.2.8
>
>
> Take a look at the generated JS-Code, and especially at the variable item.
> {noformat}
> function ws_ejb_core_lunchroulette_de__userGetMeetingpoints_deserialize (cxfjsutils,
element) {
>     var newobject = new ws_ejb_core_lunchroulette_de__userGetMeetingpoints();
>     cxfjsutils.trace('element: ' + cxfjsutils.traceElementName(element));
>     var curElement = cxfjsutils.getFirstElementChild(element);
>     var item;
>     cxfjsutils.trace('curElement: ' + cxfjsutils.traceElementName(curElement));
>     cxfjsutils.trace('processing session');
>     var value = null;
>     if (!cxfjsutils.isElementNil(curElement)) {
>      value = cxfjsutils.getNodeText(curElement);
>      item = value;
>     }
>     newobject.setSession(item);
>     if (curElement != null) {
>      curElement = cxfjsutils.getNextElementSibling(curElement);
>     }
>     cxfjsutils.trace('curElement: ' + cxfjsutils.traceElementName(curElement));
>     cxfjsutils.trace('processing filter');
>     var value = null;
>     if (!cxfjsutils.isElementNil(curElement)) {
>      item = ws_ejb_core_lunchroulette_de__filter_deserialize(cxfjsutils, curElement);
>     }
>     newobject.setFilter(item);
>     if (curElement != null) {
>      curElement = cxfjsutils.getNextElementSibling(curElement);
>     }
>     return newobject;
> }
> {noformat}
> It is possible that item is filled with the value of the first "element" and not changed
for the second element, and so the second vlement will get the value for the first element.
> Easy fix (in my opinion):
> {noformat}
>         utils.appendLine("newobject." + accessorName + "(item);");
>         utils.appendLine("var item = null;");
>         if (!itemInfo.isArray()) {
>             utils.startIf("curElement != null");
>             utils.appendLine("curElement = cxfjsutils.getNextElementSibling(curElement);");
>             utils.endBlock();
>         }
> {noformat}
> Line 661 and following in SchemaJavascriptBuilder.java.
> Thanks in advance,
> Björn

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message