Hello,
...here is the code for UserList.as
import mx.collections.ArrayCollection;
import mx.collections.ListCollectionView;
public class UserList
{
[Bindable]
public var listusers : ArrayCollection; //list of Users
public function UserList()
{
this.listusers = new ArrayCollection();
}
}
Thanks a lot.
Cheers.
Anthony DeBonis wrote:
>
> You did not post your code for UserList.as
>
> Did you add the meta tag RemoteClass? If not Flex does not know how
> to map the class back...
>
> [RemoteClass(alias="com.whatever.UserList")
>
>
>
>
> --- In [email protected], "cooleman_99" <[EMAIL PROTECTED]>
> wrote:
>>
>> Hello,
>> Im having problem getting the data from java to flex and im totally
>> new to flex and cairngorm... here is my code snippet:
>>
>> im my java end:
>>
>> List<Users> getAll() { // from hibernate dao then return result
>> which llist of users }
>>
>> in AS files:
>>
>> public class ListDelegate extends EventDispatcher
>> {
>> private var userService:RemoteObject;
>> private var responder:IResponder;
>>
>> public function ListDelegate(responder:IResponder)
>> {
>> this.userService = new
>> RemoteObject("userService");
>>
>> this.responder = responder;
>> }
>>
>> public function getUserList():void
>> {
>>
>> var call : Object = userService.getAll();
>>
>> call.addResponder( responder );
>>
>> }
>> }
>>
>>
>> public class ListUserCommand extends BaseCommand
>> {
>>
>>
>> override protected function callDelegate():void
>> {
>> var listdelegate:ListDelegate = new
>> ListDelegate(this);
>> listdelegate.getUserList();
>> }
>>
>> override public function result( event : Object ) :
> void
>> {
>> this.modelHelper.onResultUser(event);
>>
>> }
>>
>> override public function fault( event : Object ) :
> void
>> {
>> var faultevt:FaultEvent = event as
> FaultEvent;
>> Alert.show(faultevt.fault.rootCause.toString
> ());
>> }
>>
>> }
>>
>> public class ModelHelper
>> {
>> [Bindable]
>> public var userlist: UserList;
>>
>> public function ModelHelper(userlist: UserList)
>> {
>> this.userlist = userlist;
>> }
>>
>> public function getUserList():void
>> {
>> new ListUserEvent(this).dispatch();
>> }
>>
>> public function onResultUser(event:Object):void
>> {
>> this.userlist.listusers = event.result as
>> ArrayCollection;
>> }
>>
>> }
>>
>> ..and i use DataGrid to display datas:
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
>> initialize="init()"
>> creationComplete="loadAll()" >
>>
>> <mx:Script>
>> <![CDATA[
>> import com.test.flex.util.UserList;
>> import mx.rpc.events.ResultEvent;
>> import com.test.flex.model.ViewModelLocator;
>> import com.test.flex.events.ListUserEvent;
>> import com.test.flex.model.ModelHelper;
>>
>> [Bindable]
>> private var modelLocator:ViewModelLocator =
>> ViewModelLocator.getInstance();
>>
>> [Bindable]
>> public var modelHelper:ModelHelper;
>> [Bindable]
>> public var users:UserList;
>>
>> public function init():void
>> {
>> this.users = new UserList();
>> this.modelHelper = new ModelHelper(users);
>>
>> }
>>
>> public function loadAll():void
>> {
>> this.modelHelper.getUserList();
>> }
>>
>>
>>
>> ]]>
>> </mx:Script>
>>
>> <!-- mx:Label text="{modelLocator.test}"/ -->
>>
>> <mx:DataGrid id="userlist"
>> dataProvider="{modelHelper.userlist.listusers}">
>> <mx:columns>
>> <mx:DataGridColumn headerText="ID" dataField="id"/>
>> <mx:DataGridColumn headerText="Username" dataField="username"/>
>> <mx:DataGridColumn headerText="Password" dataField="password"/>
>> </mx:columns>
>> </mx:DataGrid>
>>
>>
>> <mx:Button id="logout" label="LogOut"
>> click="{modelLocator.modelWorkflowState =
>> ViewModelLocator.LOGIN_SCREEN}"/>
>> </mx:VBox>
>>
>> ..and the rest are straigthforward code. When I change the return
>> value to String it works fine nut when put it back to List it
> display
>> nothing or error i get but when i debug it i gets the results:
>>
>> 11:20:14,459 INFO [STDOUT] Hibernate: select this_.ID as ID1_0_,
>> this_.USERNAME as USERNAME1_0_, this_.PASSWORD as PASSWORD1_0_ from
>> user this_
>> 11:20:14,464 INFO [STDOUT] [BlazeDS]12/02/2008 [DEBUG]
>> [Service.Remoting] Adapter 'java-object' called
>> 'userService.getAll(java.util.Arrays$ArrayList (Collection size:0)
>> )'
>> 11:20:14,465 INFO [STDOUT] [BlazeDS]12/02/2008 [DEBUG]
>> [Service.Remoting] Result: 'java.util.ArrayList (Collection size:2)
>> [0] = com.test.flex.model.User
>> id = 1
>> username = eman
>> password = password
>>
>> [1] = com.test.flex.model.User
>> id = 2
>> username = test
>> password = password
>>
>> '
>> 11:20:14,465 INFO [STDOUT] [BlazeDS]12/02/2008 [DEBUG]
> [Message.RPC]
>> After invoke service: remoting-service
>> reply: java.util.ArrayList (Collection size:2)
>> [0] = com.test.flex.model.User
>> id = 1
>> username = eman
>> password = password
>>
>> [1] = com.test.flex.model.User
>> id = 2
>> username = test
>> password = password
>> 11:20:14,467 INFO [STDOUT] [BlazeDS]12/02/2008 [DEBUG]
> [Endpoint.AMF]
>> Serializing AMF/HTTP response
>> Version: 3
>> (Message #0 targetURI=/3/onResult, responseURI=)
>> (Externalizable Object #0 'DSK')
>> (Externalizable Object #1 'flex.messaging.io.ArrayCollection')
>> (Array #2)
>> [0] = (Typed Object #3 'com.test.flex.model.User')
>> id = 1
>> username = "eman"
>> password = "password"
>> [1] = (Typed Object #4 'com.test.flex.model.User')
>> id = 2
>> username = "test"
>> password = "password"
>> 1.228188014466E12
>> (Byte Array #5, Length 16)
>> (Byte Array #6, Length 16)
>> (Byte Array #7, Length 16)
>>
>>
>> What im missing here?
>> Thanks a lot.
>> Cheers.
>>
>> -eman
>>
>
>
>
>
--
View this message in context:
http://www.nabble.com/data-serialization-tp20792765p20806533.html
Sent from the FlexCoders mailing list archive at Nabble.com.