cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harri Hohteri (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1564) ArrayType does not work correctly if isWriteOuter == false
Date Thu, 01 May 2008 15:58:55 GMT

    [ https://issues.apache.org/jira/browse/CXF-1564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593560#action_12593560
] 

Harri Hohteri commented on CXF-1564:
------------------------------------

Perhaps testing that the message writer that is passed to the writeObject of ArrayType is
not closed when control is returned from the writeObject?

If I have understood the logic correctly, the isWriteOuter indicates if the type class wants
to write the element tag itself or use the default element tag which would be one defined
by the name attribute of @XmlType annotation in the mapped class or if that is not defined
the simple class name.




> ArrayType does not work correctly if isWriteOuter == false
> ----------------------------------------------------------
>
>                 Key: CXF-1564
>                 URL: https://issues.apache.org/jira/browse/CXF-1564
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.1, 2.0.6, 2.1.1, 2.0.7
>            Reporter: Harri Hohteri
>            Assignee: Benson Margulies
>             Fix For: 2.1.1
>
>
> In org.apache.cxf.aegis.type.basic.ArrayType:
>     protected void writeValue(Object value, MessageWriter writer, Context context, Type
type, String name,
>         ...
>         if (type.isWriteOuter()) {
>             cwriter = writer.getElementWriter(name, ns);
>         } else {
>             cwriter = writer;
>         }
>         if (value == null && type.isNillable()) {
>             cwriter.writeXsiNil();
>         } else {
>             type.writeObject(value, cwriter, context);
>         }
>         cwriter.close();
>     }
> Should be: 
>     protected void writeValue(Object value, MessageWriter writer, Context context, Type
type, String name,
>         ...
>         if (type.isWriteOuter()) {
>             cwriter = writer.getElementWriter(name, ns);
>         } else {
>             cwriter = writer;
>         }
>         if (value == null && type.isNillable()) {
>             cwriter.writeXsiNil();
>         } else {
>             type.writeObject(value, cwriter, context);
>         }
>         if (type.isWriteOuter()) {
>             cwriter.close();
>         }
>     }
> Similar bug was in XFire (http://jira.codehaus.org/browse/XFIRE-547).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message