Yes I tried if (tickets == null)
Throws nullpointerexception

I took it out and put the try / catch in to catch it.. and send fail.xml.

I tried moving the null check to before toArray() - Works great thank you :)

Now If tickets contains only one item, it dies (toArray() is not a function)
it seems that if there is only one item, it is not a list object.... how do
I test for types? I mean to see if it has one item....

JD

-----Original Message-----
From: Geoff Howard [mailto:[EMAIL PROTECTED]
Sent: Monday, November 24, 2003 8:12 AM
To: [EMAIL PROTECTED]
Subject: Re: Flow Basic Java language help


JD Daniels wrote:

> I think I need some help with something more basic than I realize...
>
> The idea here is that my form has checkboxes named tickets[]
> When flow gets it, the toString() gives me 2,5,6 or what ever the values
> are.
> basically this function will build the IN sql clause (I know this is very
> hacky, but I am against a noon-type deadline)
>
> The problem is I can't seem to check if it is null (No boxes checked)
> without a nullpointer exception. Which seems really irritating.. I want to
> TEST if it is null.

I don't see an attempt at a null check below - perhaps you took it out?
  But without seeing it, are you certain you did "== null" or "!=null"
instead of (assignment) "= null"?  Also, I presume you tested tickets
right after var tickets = cocoon.request.get("tickets[]"); and not after
the attempt to call toArray() (which would be too late).

var tickets = cocoon.request.get("tickets[]");
if (tickets == null) {
        // Handle no tickets here
}

Throws an NPE?  If so, what is the stacktrace?

Geoff

> Same thing to check if it contains a _single_ item. I have a try/catch to
> find the nullpointer... but of course when it has a single item it catches
> it too.
>
> So in short:
>
> How do I test if tickets has no elements?
> How do I check if tickets has one element to skip the for block?
>
> Help :S
>
>
>
> function do()
> {
>       var tickets = cocoon.request.get("tickets[]");
>       try{
>                       var s = "tickets.id IN (";
>
>                       tickets = tickets.toArray();
>
>                   for (var i = 0; i < tickets.length; i++) {
>                               tickets[i] = "'" + tickets[i] + "'";
>                               if (i != "0")
>                               {
>                                       s = s + "," + tickets[i];
>                               }
>                               else
>                               {
>                                       s = s + tickets[i];
>                               }
>                   }
>
>                       var s = s + ")";
>                       print(s);
>                       cocoon.request.setAttribute("sql", s);
>                       cocoon.sendPage("postInvoice.xsp");
>       }
>       catch(Exception)
>       {
>               print("Exception Occured");
>               cocoon.sendPage("fail.xml",{error: "Please Select Some Tickets."});
>       }
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to