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 flexcoders@yahoogroups.com, "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
>


Reply via email to