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;
}

Reply via email to