lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris A. Mattmann (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SOLR-1591) XMLWriter#writeAttr silently ignores null attribute values
Date Wed, 13 Jan 2010 15:22:54 GMT

    [ https://issues.apache.org/jira/browse/SOLR-1591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12799784#action_12799784
] 

Chris A. Mattmann commented on SOLR-1591:
-----------------------------------------

{quote}
shrugs - the example I gave was meant to show how defining the function to work for "null"
can simplify code that calls the function. What didn't you understand about that?
{quote}

Well I understood your comment I was just confused as to how it's any better I guess. You
showed this as a simplification that having the silently ignored null allows:

{code}
writeAttr("foo", map.get("foo"));
writeAttr("foo", map.get("bar"));
{code}

Agreed, it's a bit prettier than this:

{code}
String fooVal = map.get("foo");
if (fooVal  != null) {
  writeAttr("foo", fooVal);
}

String barVal= map.get("bar");
if (barVal!= null) {
  writeAttr("bar", barVal);
}
...
{code}

But what about this?

{code}
if(map.get("foo")) != null writeAttr("foo", map.get("foo"));
if(map.get("bar")) != null writeAttr("bar", map.get("bar"));
{code}

{quote}
No, not if the function is well defined for a null value.
{quote}

It can be as well defined as you'd like but in the end it's a no-op and a waste, and more
importantly it's a silent waste, right?

{quote}
And if we moved the null check to the callers, I'd argue that the null check should be entirely
left out of writeAttr - skip the extra code and let the NPE happen naturally.
{quote}

+1 to this. What do you think?

Cheers,
Chris




> XMLWriter#writeAttr silently ignores null attribute values
> ----------------------------------------------------------
>
>                 Key: SOLR-1591
>                 URL: https://issues.apache.org/jira/browse/SOLR-1591
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: My local MacBook pro laptop.
>            Reporter: Chris A. Mattmann
>            Priority: Minor
>             Fix For: 1.5
>
>         Attachments: SOLR-1591.Mattmann.112209.patch.txt
>
>
> XMLWriter#writeAttr checks for val == null, and if so, does nothing. Instead of doing
nothing, it could leverage its method signature, and throw an IOException declaring that the
value provided is null. Patch, attached.

-- 
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