RE: Iterating over collections with null values

2001-03-05 Thread Howard Moore

I prefer (3) because it makes the loop behave in exactly the same way as it
would in any other language. 

I don't like (2) at all because it removes information (the null values)
that is likely to have been included in the collection for a reason. Also,
if the iterate tag is ever extended to support ResultSets it is almost
inevitably going to have to handle null values.



 -Original Message-
 From: Nick Pellow [mailto:[EMAIL PROTECTED]]
 Sent: 05 March 2001 03:50
 To: [EMAIL PROTECTED]
 Subject: Re: Iterating over collections with null values
 
 
 
 
 "Craig R. McClanahan" wrote:
  
  Bugzilla bug report #706 reports that you will get a JSP 
 page exception
  when you try to iterate over collection that contains null 
 values.  This
  is caused by the fact that the JSP page context refuses to 
 allow null
  attributes.  The bug report suggests one alternative (although the
  proposed implementation has problems), but I would like to solicit
  suggestions and thoughts on what the correct behavior should be.
  
  Here are the alternatives that I can think of:
  
  (1)  No change -- document a restriction in the usage notes
   on the logic:iterate tag.
  
  (2)  Silently skip this element of the iteration, with no notice
   to the surrounding page.  The total number of times through
   the loop, from the perspective of the page, will be less than
   the size of the underlying collection.
  
  (3)  Do not skip this element, but don't add it to the page context
   either.  The page can then use logic:notPresent to test for
   whether the item is actually there or not.
  
  (4)  Do not skip this element, but insert a reference to a dummy
   object instead of the null.  This is likely to cause class cast
   exceptions, and is unlikely to be practical when the iteration
   explicitly includes a "type" attribute.
  
  (5)  Other alternatives I have not thought of?
 
   (5) Add an attribute(s) on the iterate tag that allows the user to
 decide between (1), (2) and (3). Defaulting to (1).
 
  
  All of the listed alternatives have their problems, but I 
 am currently
  leaning towards (1).  Comments?  Suggestions?
  
  Craig McClanahan
 



Re: Iterating over collections with null values

2001-03-05 Thread Elod Horvath

Nick Pellow wrote:
 
 "Craig R. McClanahan" wrote:
 
  Bugzilla bug report #706 reports that you will get a JSP page exception
  when you try to iterate over collection that contains null values.  This
  is caused by the fact that the JSP page context refuses to allow null
  attributes.  The bug report suggests one alternative (although the
  proposed implementation has problems), but I would like to solicit
  suggestions and thoughts on what the correct behavior should be.
 
  Here are the alternatives that I can think of:
 
  (1)  No change -- document a restriction in the usage notes
   on the logic:iterate tag.
 
  (2)  Silently skip this element of the iteration, with no notice
   to the surrounding page.  The total number of times through
   the loop, from the perspective of the page, will be less than
   the size of the underlying collection.
 
  (3)  Do not skip this element, but don't add it to the page context
   either.  The page can then use logic:notPresent to test for
   whether the item is actually there or not.
 
  (4)  Do not skip this element, but insert a reference to a dummy
   object instead of the null.  This is likely to cause class cast
   exceptions, and is unlikely to be practical when the iteration
   explicitly includes a "type" attribute.
 
   (5) Add an attribute(s) on the iterate tag that allows the user to
 decide between (1), (2) and (3). Defaulting to (1).
 


i like (5).  it leaves me options.  as a developer, i like options.
i don't like being dictated to [by a framework tool].  :)
i know it's more work for a committer, but...
(4) is definitely out.  

e
-- 
___
Elod Horvath ('e')   /  ITFAIS Records (http://www.itfais.com/)



Re: Iterating over collections with null values

2001-03-05 Thread Martin Cooper

(1) This would be fine with me. Given that there seem to be as many opinions
on this subject as people expressing them, perhaps this would be the
expedient choice for 1.0.

(2) I don't like this because of the disparity between the number of
iterations and the size of the collection. The bean:size tag becomes
somewhat less useful.

(3) I believe this is the best of the "do something" options. It effectively
documents the issue and provides a simple way of handling it.

(4) This sounds like a pretty bad idea. :-}

(5) I really don't like this. It makes me think of Perl's "There's More Than
One Way To Do It" slogan. IMHO, having more options is not always better.

--
Martin Cooper


- Original Message -
From: "Nick Pellow" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Sunday, March 04, 2001 7:50 PM
Subject: Re: Iterating over collections with null values




 "Craig R. McClanahan" wrote:
 
  Bugzilla bug report #706 reports that you will get a JSP page exception
  when you try to iterate over collection that contains null values.  This
  is caused by the fact that the JSP page context refuses to allow null
  attributes.  The bug report suggests one alternative (although the
  proposed implementation has problems), but I would like to solicit
  suggestions and thoughts on what the correct behavior should be.
 
  Here are the alternatives that I can think of:
 
  (1)  No change -- document a restriction in the usage notes
   on the logic:iterate tag.
 
  (2)  Silently skip this element of the iteration, with no notice
   to the surrounding page.  The total number of times through
   the loop, from the perspective of the page, will be less than
   the size of the underlying collection.
 
  (3)  Do not skip this element, but don't add it to the page context
   either.  The page can then use logic:notPresent to test for
   whether the item is actually there or not.
 
  (4)  Do not skip this element, but insert a reference to a dummy
   object instead of the null.  This is likely to cause class cast
   exceptions, and is unlikely to be practical when the iteration
   explicitly includes a "type" attribute.
 
  (5)  Other alternatives I have not thought of?

   (5) Add an attribute(s) on the iterate tag that allows the user to
 decide between (1), (2) and (3). Defaulting to (1).

 
  All of the listed alternatives have their problems, but I am currently
  leaning towards (1).  Comments?  Suggestions?
 
  Craig McClanahan





Iterating over collections with null values

2001-03-04 Thread Craig R. McClanahan

Bugzilla bug report #706 reports that you will get a JSP page exception
when you try to iterate over collection that contains null values.  This
is caused by the fact that the JSP page context refuses to allow null
attributes.  The bug report suggests one alternative (although the
proposed implementation has problems), but I would like to solicit
suggestions and thoughts on what the correct behavior should be.

Here are the alternatives that I can think of:

(1)  No change -- document a restriction in the usage notes
 on the logic:iterate tag.

(2)  Silently skip this element of the iteration, with no notice
 to the surrounding page.  The total number of times through
 the loop, from the perspective of the page, will be less than
 the size of the underlying collection.

(3)  Do not skip this element, but don't add it to the page context
 either.  The page can then use logic:notPresent to test for
 whether the item is actually there or not.

(4)  Do not skip this element, but insert a reference to a dummy
 object instead of the null.  This is likely to cause class cast
 exceptions, and is unlikely to be practical when the iteration
 explicitly includes a "type" attribute.

(5)  Other alternatives I have not thought of?

All of the listed alternatives have their problems, but I am currently
leaning towards (1).  Comments?  Suggestions?

Craig McClanahan





Re: Iterating over collections with null values

2001-03-04 Thread Nick Pellow



"Craig R. McClanahan" wrote:
 
 Bugzilla bug report #706 reports that you will get a JSP page exception
 when you try to iterate over collection that contains null values.  This
 is caused by the fact that the JSP page context refuses to allow null
 attributes.  The bug report suggests one alternative (although the
 proposed implementation has problems), but I would like to solicit
 suggestions and thoughts on what the correct behavior should be.
 
 Here are the alternatives that I can think of:
 
 (1)  No change -- document a restriction in the usage notes
  on the logic:iterate tag.
 
 (2)  Silently skip this element of the iteration, with no notice
  to the surrounding page.  The total number of times through
  the loop, from the perspective of the page, will be less than
  the size of the underlying collection.
 
 (3)  Do not skip this element, but don't add it to the page context
  either.  The page can then use logic:notPresent to test for
  whether the item is actually there or not.
 
 (4)  Do not skip this element, but insert a reference to a dummy
  object instead of the null.  This is likely to cause class cast
  exceptions, and is unlikely to be practical when the iteration
  explicitly includes a "type" attribute.
 
 (5)  Other alternatives I have not thought of?

  (5) Add an attribute(s) on the iterate tag that allows the user to
decide between (1), (2) and (3). Defaulting to (1).

 
 All of the listed alternatives have their problems, but I am currently
 leaning towards (1).  Comments?  Suggestions?
 
 Craig McClanahan