commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Sweetland (JIRA)" <j...@apache.org>
Subject [jira] Commented: (BETWIXT-55) Suppress Empty Collection Wrapper Elements
Date Thu, 30 Nov 2006 21:15:22 GMT
    [ http://issues.apache.org/jira/browse/BETWIXT-55?page=comments#action_12454754 ] 
            
Jesse Sweetland commented on BETWIXT-55:
----------------------------------------

The patch I submitted has a bug . . . 

// If the element is collective then the value should be null or an
// Iterator.  I'm not sure what to do if it's not an iterator.
// I guess we can default to the original behavior, which is to
// treat a collective descriptor as non-empty, although perhaps a
// warning should be issue here.
return false;

Should be:

// Both the wrapper and the element being wrapped are considered
// collective.  If the value is null, then we are probably looking
// at the element being wrapped, which might have child descriptors
// and so forth.  Let the control flow out of this condition and
// check for empty child descriptors and whatnot.

(Without return false)

I'm working on generating a new patch, but I have to revert my codebase to 0.7 (or 0.8 if
it's out) first to make sure it's clean.



> Suppress Empty Collection Wrapper Elements
> ------------------------------------------
>
>                 Key: BETWIXT-55
>                 URL: http://issues.apache.org/jira/browse/BETWIXT-55
>             Project: Commons Betwixt
>          Issue Type: Improvement
>         Environment: N/A
>            Reporter: Jesse Sweetland
>            Priority: Trivial
>         Attachments: AbstractBeanWriter.java.diff, AbstractBeanWriter.java.diff, AbstractBeanWriter.java.diff
>
>
> Attached is a patch that modifies the isEmptyElement method of AbstractBeanWriter to
consider collective element descriptors as empty if the collection properties they reference
have no elements.  This suppresses the output of empty wrapper elements.  For example, consider
the following .betwixt file for class Foo:
> <info> 
>   <element name="foo"> 
>     <element name="bars"> 
>       <element name="bar" property="bars"/> 
>     </element> 
>     <addDefaults/> 
>   </element> 
> </info> 
> Under Betwixt 0.7, an empty <bars/> element is written even if Foo.getBars() returns
a null or empty collection.  This patch determines that the collection descriptor for the
<bar> element is empty, so all of the children elements of the <bars> wrapper
element descriptor are empty, so the <bars> element descriptor itself is empty, and
is therefore ignored.

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message