Thanks Adam,
You were right about all 3 things, although I'm not sure which
actually fixed it. probably combo of all of them :) . I changed the
problem method to be:
private final native BasicComputerInfo asBasicComputerInfo
(JavaScriptObject json) /*-{
return json;
}-*/;
Fixing the variable to json and making it not return an array.
I also changed everything to strings for now just to see if I can get
it to work.
And it is working!!!
thanks again
dale
On Jul 29, 1:08 am, Adam T <[email protected]> wrote:
> Hi Dale,
>
> Could be a couple of things...
>
> 1) Your asBasicComputerInfo() method takes a variable "jso" and you
> try and return a reference to a variable "json" - though maybe that's
> just a typo in your message?
>
> 2) Your JSON response from server doesn't appear to be an array, so
> ignoring any potential typo above, your asBasicComputerInfo() could be
> failing when trying to "cast" a simple JavaScriptObject into a JsArray
> - I'd suggest either returning an array from the server, or altering
> your code so you don't use a JsArray.
>
> Also, the data in your JSON is all strings, therefore methods like
> public final native int RAM() will possibly fail later in your code -
> you could create a new method in the BasicComputerInfo class that does
> the conversion for you, e.g. public int getRAM(){Integer.parseInt(RAM
> ());} and change RAM() to return the String in the JSON.
>
> Hope some of that helps!
>
> //Adam
>
> On 28 Juli, 23:57, dale <[email protected]> wrote:
>
>
>
> > I am creating my first GWT app and have hit a snag. I suspect that the
> > problem is one things below. I can see in the server logs that the
> > server returns ok.
>
> > This is the method that fails, there is no error ... that I can
> > see :)
> > private final native JsArray<BasicComputerInfo>
> > asBasicComputerInfo
> > (JavaScriptObject jso) /*-{
> > return json;
> > }-*/;
>
> > I am calling it in the handleJsonResonse method and execution never
> > makes it to the UpdateDetailPanel Method.
>
> > public void handleJsonResponse(JavaScriptObject jso) {
> > if (jso == null) {
> > displayError("Couldn't retrieve JSON");
> > return;
> > }
>
> > updateDetailPanel(asBasicComputerInfo (jso));//<--After
> > the
> > breakpoint here it never gets to updateDetailPanel
>
> > }
>
> > This is the response from the server looks like this when I get it
> > from a browser.
>
> > callback0(
> > {
> > "LastBootTime": "7/27/2009 8:46:25 AM",
> > "UserName": "aUser",
> > "OS": "xp",
> > "OSVersion": "5.1.2600",
> > "BuildDate": "5/6/2008 3:18:06 PM",
> > "RAM": "1063329792",
> > "HDCapasity": "26000076800",
> > "HDFree": "7487799296",
> > "NumProcessors": "1",
> > "PowerState": "Unknown",
> > "Site": "NA",
> > "Office": "NA",
> > "IPAddress": "NA",
> > "IPAddress": "Dell Inc.",
> > "Model": "OptiPlex GX620"}
>
> > );
>
> > here is the BasicComputerInfo Class:
>
> > public class BasicComputerInfo extends JavaScriptObject {
>
> > protected BasicComputerInfo(){}
>
> > // JSNI methods to get stock data.
> > public final native String LastBootTime() /*-{ return
> > this.LastBootTime; }-*/;
> > public final native String UserName() /*-{ return this.UserName;
> > }-
> > */;
> > public final native String OS() /*-{ return this.OS; }-*/;
> > public final native String OSVersion() /*-{ return
> > this.OSVersion; }-*/;
> > public final native String BuildDate() /*-{ return
> > this.BuildDate; }-*/;
> > public final native int RAM() /*-{ return this.RAM; }-*/;
> > public final native Long HDCapasity() /*-{ return
> > this.HDCapasity; }-*/;
> > public final native Long HDFree() /*-{ return this.HDFree; }-*/;
> > public final native int NumProcessors() /*-{ return
> > this.NumProcessors; }-*/;
> > public final native String PowerState() /*-{ return
> > this.PowerState; }-*/;
> > public final native String Site() /*-{ return this.Site; }-*/;
> > public final native String Office() /*-{ return this.Office; }-*/;
> > public final native String IPAddress() /*-{ return
> > this.IPAddress; }-*/;
> > public final native String Manufacturer() /*-{ return
> > this.Manufacturer; }-*/;
> > public final native String Model() /*-{ return this.Model; }-*/;
>
> > }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---