RE: [flexcoders] Converting Java POJO to Actionscript Errors

2005-05-27 Thread suzy lawson
Hari-
  THanks for your response. I tried that but I got a
compilation error that there is no method with the
name MyPojo. I suppose that means I have to manually
write the underlying ActionScript class for my Java
POJO?

That just seems like a really bad implementation
design b/c if MyPojo Java class changes, then I have
to manually change my ActionScript class. urr...what
am I missing?! 

--- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:
 Try this.
 
 mx:script...
 var newObj:Object = new MyPojo(); // constructor of
 your POJO
 function addToGrid() {
   newObj = remoteObj.getNewJob();  
   myDataGrid.addItem(newObj); 
 }
 /mx:script
 
 Thanks!
 Hari
 
 -Original Message-
 From: flexcoders@yahoogroups.com
 [mailto:[EMAIL PROTECTED] On
 Behalf Of Kevin Ewok
 Sent: Friday, May 27, 2005 9:46 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Converting Java POJO to
 Actionscript Errors
 
 Gang-
   I'm a newbie and all the flexdocs on MM's site
 couldn't give me a
 concrete answer. I have a datagrid that is populated
 from an ArrayList
 of POJO's (using the remote object). That works
 fine. 
 
 I then have another method that is called 30 seconds
 later then
 returns a single POJO (of the same type from the
 POJOs returned in the
 first method). I then try to add it to my datagrid
 using the
 myDatagrid.addItem(newObj), but I get the below
 debug error.
 
 Warning: Reference to undeclared variable,
 '_global.com.MyPojo'
   at mx_utils_ClassUtil::findClass()
 Warning: valueOf is not a function
   at mx_utils_ClassUtil::getFlexClass() 
 
 Is there a special way I need to declare 'newObj'
 (which I pass into
 the datagrid.addItem() method), or do I have to
 explicity write the
 AS-equilavent class of my Java POJO class?  
 
 I would think Flex could convert this class for me,
 but I'm obviously
 missing an important step to add it to the
 datagrid/dataprovider.
 Thanks in advance for your help.
 
 mx:script...
 var newObj:Object;
 function addToGrid() {
   newObj = remoteObj.getNewJob();  
   myDataGrid.addItem(newObj); 
 }
 /mx:script
 
 mx:DataGrid id=myDataGrid
 dataProvider={remoteObj.getAll.result}
 ...
 
 
 
 
  
 Yahoo! Groups Links
 
 
 
  
 
 



__ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new Resources site
http://smallbusiness.yahoo.com/resources/


 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




RE: [flexcoders] Converting Java POJO to Actionscript Errors

2005-05-27 Thread Doodi, Hari - BLS CTR
Hi,
First couple of questions - did you register your POJO with AS class
using Object.registerClass( ) method? 
What is the constructor method of you Pojo ?
After both of above are in place(implemented) then you can create new object
of your POJO type and assign your newly returned object to it and then add
this new object to your datagrid using myDataGrid.addItem( );

This is what I did.
AS class looks like
class classes.MyPojo
{
public var myArray:Array;
private static var registered:Boolean = Object.registerClass(full path
of you java class goes here, classes. MyPojo);
}
 In my MXML you can ignore statements which sets initial attribute
values 
function addRow()
{
var oNewItem:Object = new MyPojo ();  
oNewItem.adj_num = 12 ;
oNewItem.adj_type =  ;
oNewItem.adj_category =  ;
oNewItem.adj_amt_terms_desc =  Doodi;
oNewItem.adj_reporter_applied_flag = N;
oNewItem.adj_sign = Additive;
oNewItem.adj_factor =  ;
oNewItem.adj_order_applied = 12;

myDataGrid.addItem(oNewItem);

focusNewRow();
doLater(this,focusNewRow);
}
Thanks!
Hari

-Original Message-
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of suzy lawson
Sent: Friday, May 27, 2005 10:22 AM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] Converting Java POJO to Actionscript Errors

Hari-
  THanks for your response. I tried that but I got a
compilation error that there is no method with the
name MyPojo. I suppose that means I have to manually
write the underlying ActionScript class for my Java
POJO?

That just seems like a really bad implementation
design b/c if MyPojo Java class changes, then I have
to manually change my ActionScript class. urr...what
am I missing?! 

--- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:
 Try this.
 
 mx:script...
 var newObj:Object = new MyPojo(); // constructor of
 your POJO
 function addToGrid() {
   newObj = remoteObj.getNewJob();  
   myDataGrid.addItem(newObj); 
 }
 /mx:script
 
 Thanks!
 Hari
 
 -Original Message-
 From: flexcoders@yahoogroups.com
 [mailto:[EMAIL PROTECTED] On
 Behalf Of Kevin Ewok
 Sent: Friday, May 27, 2005 9:46 AM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Converting Java POJO to
 Actionscript Errors
 
 Gang-
   I'm a newbie and all the flexdocs on MM's site
 couldn't give me a
 concrete answer. I have a datagrid that is populated
 from an ArrayList
 of POJO's (using the remote object). That works
 fine. 
 
 I then have another method that is called 30 seconds
 later then
 returns a single POJO (of the same type from the
 POJOs returned in the
 first method). I then try to add it to my datagrid
 using the
 myDatagrid.addItem(newObj), but I get the below
 debug error.
 
 Warning: Reference to undeclared variable,
 '_global.com.MyPojo'
   at mx_utils_ClassUtil::findClass()
 Warning: valueOf is not a function
   at mx_utils_ClassUtil::getFlexClass() 
 
 Is there a special way I need to declare 'newObj'
 (which I pass into
 the datagrid.addItem() method), or do I have to
 explicity write the
 AS-equilavent class of my Java POJO class?  
 
 I would think Flex could convert this class for me,
 but I'm obviously
 missing an important step to add it to the
 datagrid/dataprovider.
 Thanks in advance for your help.
 
 mx:script...
 var newObj:Object;
 function addToGrid() {
   newObj = remoteObj.getNewJob();  
   myDataGrid.addItem(newObj); 
 }
 /mx:script
 
 mx:DataGrid id=myDataGrid
 dataProvider={remoteObj.getAll.result}
 ...
 
 
 
 
  
 Yahoo! Groups Links
 
 
 
  
 
 



__ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new Resources site
http://smallbusiness.yahoo.com/resources/


 
Yahoo! Groups Links



 



 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





RE: [flexcoders] Converting Java POJO to Actionscript Errors

2005-05-27 Thread suzy lawson
Hari, 
  Thanks...I'll give this a shot. So my question is,
why do I have to write a matching AS class to match my
POJO? When I populate my Datagrid from the remote
object (arraylist of POJOs), I din't have to write any
AS classes.

--- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:

 Hi,
   First couple of questions - did you register your
 POJO with AS class
 using Object.registerClass( ) method? 
   What is the constructor method of you Pojo ?
 After both of above are in place(implemented) then
 you can create new object
 of your POJO type and assign your newly returned
 object to it and then add
 this new object to your datagrid using
 myDataGrid.addItem( );
 
 This is what I did.
 AS class looks like
 class classes.MyPojo
 {
 public var myArray:Array;
 private static var registered:Boolean =
 Object.registerClass(full path
 of you java class goes here, classes. MyPojo); 
   
 }
  In my MXML you can ignore statements which sets
 initial attribute
 values 
 function addRow()
   {
   var oNewItem:Object = new MyPojo ();  
 oNewItem.adj_num = 12 ;
 oNewItem.adj_type =  ;
 oNewItem.adj_category =  ;
 oNewItem.adj_amt_terms_desc =  Doodi;
 oNewItem.adj_reporter_applied_flag = N;
 oNewItem.adj_sign = Additive;
 oNewItem.adj_factor =  ;
 oNewItem.adj_order_applied = 12;
 
   myDataGrid.addItem(oNewItem);
   
   focusNewRow();
   doLater(this,focusNewRow);
   }
 Thanks!
 Hari
 
 -Original Message-
 From: flexcoders@yahoogroups.com
 [mailto:[EMAIL PROTECTED] On
 Behalf Of suzy lawson
 Sent: Friday, May 27, 2005 10:22 AM
 To: flexcoders@yahoogroups.com
 Subject: RE: [flexcoders] Converting Java POJO to
 Actionscript Errors
 
 Hari-
   THanks for your response. I tried that but I got a
 compilation error that there is no method with the
 name MyPojo. I suppose that means I have to
 manually
 write the underlying ActionScript class for my Java
 POJO?
 
 That just seems like a really bad implementation
 design b/c if MyPojo Java class changes, then I have
 to manually change my ActionScript class. urr...what
 am I missing?! 
 
 --- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:
  Try this.
  
  mx:script...
  var newObj:Object = new MyPojo(); // constructor
 of
  your POJO
  function addToGrid() {
newObj = remoteObj.getNewJob();  
myDataGrid.addItem(newObj); 
  }
  /mx:script
  
  Thanks!
  Hari
  
  -Original Message-
  From: flexcoders@yahoogroups.com
  [mailto:[EMAIL PROTECTED] On
  Behalf Of Kevin Ewok
  Sent: Friday, May 27, 2005 9:46 AM
  To: flexcoders@yahoogroups.com
  Subject: [flexcoders] Converting Java POJO to
  Actionscript Errors
  
  Gang-
I'm a newbie and all the flexdocs on MM's site
  couldn't give me a
  concrete answer. I have a datagrid that is
 populated
  from an ArrayList
  of POJO's (using the remote object). That works
  fine. 
  
  I then have another method that is called 30
 seconds
  later then
  returns a single POJO (of the same type from the
  POJOs returned in the
  first method). I then try to add it to my datagrid
  using the
  myDatagrid.addItem(newObj), but I get the below
  debug error.
  
  Warning: Reference to undeclared variable,
  '_global.com.MyPojo'
  at mx_utils_ClassUtil::findClass()
  Warning: valueOf is not a function
  at mx_utils_ClassUtil::getFlexClass() 
  
  Is there a special way I need to declare 'newObj'
  (which I pass into
  the datagrid.addItem() method), or do I have to
  explicity write the
  AS-equilavent class of my Java POJO class?  
  
  I would think Flex could convert this class for
 me,
  but I'm obviously
  missing an important step to add it to the
  datagrid/dataprovider.
  Thanks in advance for your help.
  
  mx:script...
  var newObj:Object;
  function addToGrid() {
newObj = remoteObj.getNewJob();  
myDataGrid.addItem(newObj); 
  }
  /mx:script
  
  mx:DataGrid id=myDataGrid
  dataProvider={remoteObj.getAll.result}
  ...
  
  
  
  
   
  Yahoo! Groups Links
  
  
  
   
  
  
 
 
   
 __ 
 Do you Yahoo!? 
 Yahoo! Small Business - Try our new Resources site
 http://smallbusiness.yahoo.com/resources/
 
 
  
 Yahoo! Groups Links
 
 
 
  
 
 




__ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new Resources site
http://smallbusiness.yahoo.com/resources/


 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 




RE: [flexcoders] Converting Java POJO to Actionscript Errors

2005-05-27 Thread Peter Farland
(Hi suzy, firstly, I'm a little confused as to how Kevin Ewok's response
turned into your message - are you saying you're having the same issue
as Kevin? Let me first comment on Kevin's issue which will provide good
background for yours...).

On looking again at the warning Keven is getting from ClassUtil it means
that he didn't link in the com.MyPojo class to his SWF... that is, the
compiler didn't include the AS class because it wasn't referenced
anywhere. 

Having a dummy variable of com.MyPojo type is one way to cause a
dependency on that class to have it compiled and linked in to the SWF.
But, furthermore, by using Object.registerClass() you can avoid the
ClassUtil issue altogether because the player will attempt to create
types for you from the registerd information while processing the AMF
response before the ClassUtil gets a chance to look at the result.

The ClassUtil is a legacy system from Flex 1.0 SOAP-based RemoteObject
(which is not supported in Flex 1.5) where by you could use a special
_remoteClass property to map client/server types since
Object.registerClass wasn't useful for non-AMF communication (i.e. XML
transactions are just strings and thus don't' get processed by the
player). Since Flex 1.5 RemoteObject only uses AMF, the _remoteClass
method is not suggested for Flex 1.5 and you should use
Object.registerClass().

Now, for Suzy's question...

Essentially what you're looking for here is that Remote POJOs turn into
plain old dynamic Objects on the client, right?

The problem is that in Flex 1.5 RemoteObject still has the deprecated
_remoteClass property in the response (which you should be able to see
in the AMF trace output). 

The old ClassUtil is designed to always do this translation for you if
it finds the _remoteClass property... that is, it expects that typed
POJOs map to a corresponding AS type (that must be available at runtime
from the SWF).

By calling Object.registerClass you could bypass the ClassUtil's
translation attempt altogether... and, actually here's an idea, perhaps
you can trick the player into registering your remote POJO class to just
plain old Object to get a dynamic object back?

Pete


-Original Message-
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of suzy lawson
Sent: Friday, May 27, 2005 11:44 AM
To: flexcoders@yahoogroups.com
Subject: RE: [flexcoders] Converting Java POJO to Actionscript Errors

Hari, 
  Thanks...I'll give this a shot. So my question is,
why do I have to write a matching AS class to match my
POJO? When I populate my Datagrid from the remote
object (arraylist of POJOs), I din't have to write any
AS classes.

--- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:

 Hi,
   First couple of questions - did you register your
 POJO with AS class
 using Object.registerClass( ) method? 
   What is the constructor method of you Pojo ?
 After both of above are in place(implemented) then
 you can create new object
 of your POJO type and assign your newly returned
 object to it and then add
 this new object to your datagrid using
 myDataGrid.addItem( );
 
 This is what I did.
 AS class looks like
 class classes.MyPojo
 {
 public var myArray:Array;
 private static var registered:Boolean =
 Object.registerClass(full path
 of you java class goes here, classes. MyPojo); 
   
 }
  In my MXML you can ignore statements which sets
 initial attribute
 values 
 function addRow()
   {
   var oNewItem:Object = new MyPojo ();  
 oNewItem.adj_num = 12 ;
 oNewItem.adj_type =  ;
 oNewItem.adj_category =  ;
 oNewItem.adj_amt_terms_desc =  Doodi;
 oNewItem.adj_reporter_applied_flag = N;
 oNewItem.adj_sign = Additive;
 oNewItem.adj_factor =  ;
 oNewItem.adj_order_applied = 12;
 
   myDataGrid.addItem(oNewItem);
   
   focusNewRow();
   doLater(this,focusNewRow);
   }
 Thanks!
 Hari
 
 -Original Message-
 From: flexcoders@yahoogroups.com
 [mailto:[EMAIL PROTECTED] On
 Behalf Of suzy lawson
 Sent: Friday, May 27, 2005 10:22 AM
 To: flexcoders@yahoogroups.com
 Subject: RE: [flexcoders] Converting Java POJO to
 Actionscript Errors
 
 Hari-
   THanks for your response. I tried that but I got a
 compilation error that there is no method with the
 name MyPojo. I suppose that means I have to
 manually
 write the underlying ActionScript class for my Java
 POJO?
 
 That just seems like a really bad implementation
 design b/c if MyPojo Java class changes, then I have
 to manually change my ActionScript class. urr...what
 am I missing?! 
 
 --- Doodi, Hari - BLS CTR [EMAIL PROTECTED] wrote:
  Try this.
  
  mx:script...
  var newObj:Object = new MyPojo(); // constructor
 of
  your POJO
  function addToGrid() {
newObj = remoteObj.getNewJob();  
myDataGrid.addItem(newObj); 
  }
  /mx:script
  
  Thanks!
  Hari
  
  -Original Message