Custom Business Logic - generated SDK ArrayList becomes Array

My cloud function:



public ArrayList<ChatMessage> getAllMessages() {


    String userId = InvocationContext.getUserId();


    BackendlessDataQuery query = new BackendlessDataQuery();
    query.setWhereClause("from = '" + userId + "' OR to = '" + userId + "'");
    query.setPageSize(100);
    BackendlessCollection<ChatMessage> collection = Backendless.Data.of(ChatMessage.class).find(query);
    ArrayList<ChatMessage> out = new ArrayList<ChatMessage>(collection.getTotalObjects());
    out.addAll(collection.getCurrentPage());
    for (int i = 100; i <= collection.getTotalObjects(); i += 100) {
        collection = collection.nextPage();
        out.addAll(collection.getCurrentPage());
    }


    return out;
}

Generated SDK function:

public void getAllMessagesAsync(AsyncCallback&lt;java.util.ArrayList&lt;com.jns.backend.model.ChatMessage&gt;> callback)
    {
        Object[] args = new Object[]{};
        Backendless.CustomService.invoke( SERVICE_NAME, SERVICE_VERSION_NAME, "getAllMessages", args, java.util.ArrayList.class, callback);
    }

=> Results in ClassCastException!

This change makes the function work:



public void getAllMessagesAsync(AsyncCallback&lt;com.jns.backend.model.ChatMessage[]&gt; callback)
    {
        Object[] args = new Object[]{};
        Backendless.CustomService.invoke( SERVICE_NAME, SERVICE_VERSION_NAME, "getAllMessages", args, com.jns.backend.model.ChatMessage[].class, callback);
    }

Assigned to a developer. Internal ticket 11765

Hi, Jens Neus.
Thank you for your patience.
Could you try this case with your logic again ?