I'm using RemoteObjects to connect to my backend. In one of
my calls
I'm trying to return a List of VO's I create after hitting my
database.
On the Flex side, my result event is firing properly, but
when I try
to convert the result to an ArrayCollection, instead of
getting a
proper ArrayCollection I get single element that displays the
following when I output it in an alert: "obj is: '[object
TestVO],
[object TestVO], ... [object TestVO]'".
If I return a single TestVO object directly instead of a
List, I can
properly cast the result to my ActionScript TestVO object and
view the
data properly. It's just returning the List that's giving me
problems.
Can anyone offer any suggestions please?
My Flex result code is:
public function result(evt:Object):void {
if(evt.type && evt.type == ResultEvent.RESULT) {
var re:ResultEvent = evt as ResultEvent;
var col:ArrayCollection = new
ArrayCollection(ArrayUtil.toArray(re.result));
if(col) {
Alert.show("obj is: '" + col.getItemAt(0) + "'");
}
else Alert.show("Didn't cast properly!");
}
}
My Java DAO code that returns the list is:
public List getList() throws DAOException {
List list = new ArrayList();
Connection c = null;
try {
c = ConnectionHelper.getConnection();
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM test");
while(rs.next()) {
TestVO vo = new TestVO();
vo.id = rs.getInt("id");
vo.data = rs.getString("data");
list.add(vo);
}
} catch(Exception e) {
e.printStackTrace();
throw new DAOException(e);
} finally {
ConnectionHelper.close(c);
}
return list;
}