Is too late, but I read this in a personal search in the history messages.
The error of NullPointerException maybe is for:
for(int i = 0; i < listFiles.length; i++){
treeNode.getChildren().add(listFiles[i]);
}
In this sentece, you add childrens to the ArrayList, but the ArrayList never has been initialized.
You must to initialize this, for example, in the constructor of the java class, or in the getter if is null.

Regards.
--
Matías Nicolás Sommi


2006/10/9, frederic_dematos <[EMAIL PROTECTED]>:

OK I created my java class TreeNode like that

public class TreeNode {

private String label;
private String data;
private ArrayList children;

public ArrayList getChildren() {
return children;
}
public void setChildren(ArrayList children) {
this.children = children;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = ""> }
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}

}

I don't know if it is needed, but i did the same in ActionScript

package src.beans
{
import mx.collections.ArrayCollection;
[Managed]
[RemoteClass(alias="beans.TreeNode")]
public class TreeNode
{
private var label:String;
private var data:String;
private var children:ArrayCollection;

public function getChildren():ArrayCollection {
return children;
}
public function setChildren( children:ArrayCollection):void {
this.children = children;
}
public function getData():String {
return data;
}
public function setData( data:String ):void {
this.data = ""> }
public function getLabel():String {
return label;
}
public function setLabel( label:String):void {
this.label = label;
}


}

}

In my remoting-config in got

<destination id="treeNode">
<properties>
<source>beans.TreeNode</source>
<scope>application</scope>
</properties>
</destination>

So then I call a java class webDav method getFiles which do :

IN JAVA
public TreeNode getFiles(){

TreeNode treeNode = new TreeNode();

treeNode.setLabel("Root");

String[]listFiles = this.wdr.list();

for(int i = 0; i < listFiles.length; i++){
treeNode.getChildren().add(listFiles[i]);
}

return treeNode;
}

IN AS

<mx:RemoteObject id="webdav" destination="webdav" >
<mx:method name="getFiles" result='getFilesResult(event)' />
</mx:RemoteObject>

public function getFilesResult(event:ResultEvent):void{
myProjectTree.dataProvider = event.result as TreeNode;
}

and I get the folloing error message :

[RPC Fault faultString="java.lang.NullPointerException : null"
faultCode="Server.Processing" faultDetail="null"]
at
mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler ()
at mx.rpc::Responder/fault()
at mx.rpc::AsyncRequest/fault()
at
::NetConnectionMessageResponder/NetConnectionChannel.as$37:NetConnectionMessageResponder::statusHandler()
at mx.messaging::MessageResponder/status()

Did somebody had an idea ?

The linkage between the Webdav java class and Flex is working, but i
dont know how to make flex understand the TreeNode Class.

Thanks

--- In [email protected], "Dustin Mercer" <[EMAIL PROTECTED]>
wrote:
>

> Yeah, this is a fun one. I have done this, but it's not as elegant
as I was hoping, but it works. What I had to do was create a TreeNode
class. Looks like this:
>
>
>
> Public class TreeNode {
>
>
>
> Private String label;
>
> Private String data;
>
> Private ArrayList children;
>
>
>
> Getters and setters....
>
> }
>
>
>
> The key here is the children property. The property to hold the
nodes must be named children or the tree won't have any childNodes.
There is probably better ways to do this, I.E. implementing the
ITreeDataProvider interface on the AS class, but I couldn't get it to
work properly, and haven't had a chance to revisit it. Does your tree
need to load dynamically (I.E. populate the children with another call
to the database on the nodeOpen event) or will you be loading the
whole tree at once? If you load dynamically, you will need to make
sure you initialize the children property or that node won't be a folder.
>
>
>
> Dustin Mercer
>
>
>
> ________________________________
>
> From: [email protected] [mailto: [email protected]]
On Behalf Of frederic_dematos
> Sent: Wednesday, October 04, 2006 7:15 AM
> To: [email protected]
> Subject: [flexcoders] Fill a Tree From a JAVA Class
>
>
>
> Hi,
>
> I want to fill an mx:Tree from a Java class talking with webDav.
>
> I am calling my Java class using the Remoting Object.
>
> On the actionScript I want to call the method getFiles of my Java
> class and give the result to the mx.Tree. The problem is I don't know
> which kind of data and which king of structure to pass to the data
> provider of the tree.
>
> If somebody had already meet that kind of problem , thanks for your
help.
>
> Fr�d�ric DE MATOS
>

__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Software development tool Software development Software development services
Home design software Software development company

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

Reply via email to