jeffrey-s
(Jeffrey S)
February 12, 2016, 11:57pm
1
I tried to connect BackendlessUsers as “friends.” However, I kept on getting errors. Here is the code:
Backendless.Data.of(BackendlessUser.class).find(dataQuery, new AsyncCallback<BackendlessCollection<BackendlessUser>>() {
@Override
public void handleResponse(BackendlessCollection<BackendlessUser> users) {
ArrayList<BackendlessUser> friends = new ArrayList<BackendlessUser>();
BackendlessUser currentUser = Backendless.UserService.CurrentUser();
users.setPageSize(100);
List<BackendlessUser> page = users.getCurrentPage();
mUsernames.clear();
Iterator<BackendlessUser> iterator = page.iterator();
while(iterator.hasNext()) {
BackendlessUser user = iterator.next();
friends.add(user);
mUsernames.add(user.getProperty("username").toString());
}
currentUser.setProperty("friend", friends);
Backendless.Data.of(BackendlessUser.class).save(currentUser, new AsyncCallback<BackendlessUser>() {
@Override
public void handleResponse(BackendlessUser backendlessUser) {
}
@Override
public void handleFault(BackendlessFault backendlessFault) {
Log.i(TAG, backendlessFault.toString());
}
});
}
@Override
public void handleFault(BackendlessFault fault) {
Log.e(TAG, fault.toString());
}
});
Hello!
What BackendlessFault do you receive?
Thank I you!
Alex
jeffrey-s
(Jeffrey S)
February 13, 2016, 12:10am
3
I’m currently trying to print out the BackendlessFault, but I get the BackendlessException:
BackendlessException{ code: ‘Internal client exception’, message: ‘null’ }
I cannot reproduce this at the moment. Here is my code ( it’s very close to yours ):
private static void test()
{
Backendless.UserService.login( "example@test.com", "password" );
BackendlessDataQuery dataQuery = new BackendlessDataQuery();
dataQuery.setPageSize( 100 );
Backendless.Data.of( BackendlessUser.class ).find( dataQuery, new AsyncCallback<BackendlessCollection<BackendlessUser>>()
{
@Override
public void handleResponse( BackendlessCollection<BackendlessUser> users )
{
ArrayList<BackendlessUser> friends = new ArrayList<BackendlessUser>();
BackendlessUser currentUser = Backendless.UserService.CurrentUser();
users.setPageSize( 100 );
List<BackendlessUser> page = users.getCurrentPage();
Iterator<BackendlessUser> iterator = page.iterator();
while( iterator.hasNext() )
{
BackendlessUser user = iterator.next();
friends.add( user );
}
currentUser.setProperty( "friend", friends );
Backendless.Data.of( BackendlessUser.class ).save( currentUser, new AsyncCallback<BackendlessUser>()
{
@Override
public void handleResponse( BackendlessUser backendlessUser )
{
System.out.println( "User saved!" );
}
@Override
public void handleFault( BackendlessFault backendlessFault )
{
System.out.println( backendlessFault.toString() );
}
} );
}
I don’t understand what does your dataQuery look like. Can you try to reproduce the problem with my code and show part of code where you initialise your query? Also debug please your code to find out which row has code throwing exception.
Alexsandr , I have a similar problem, as a results of your code I got ‘Unable to save object - invalid data type for properties - friends. You can change the property type in developer console.’
Mladen,
Could you zip up your project and send it to me via Dropbox or Google Drive? My email is mark@backendless.com
Regards,
Mark
Hi, Mladek!
Thank you for your info. The error you get is a reason of known bug which is already fixed and will be released soon. Bug Jeffrey gets another issue and I want to find out why.
Best regards, Alex
jeffrey-s
(Jeffrey S)
February 13, 2016, 4:20pm
8
After using your code, I no longer have my error, but I have Mladen’s.
I get the error: “BackendlessFault{ code: ‘1007’, message: ‘Unable to save object - invalid data type for properties - friends. You can change the property type in developer console.’ }”
When will the updated JAR be released? If possible, could the JAR be attached here?
jeffrey-s
(Jeffrey S)
February 13, 2016, 4:22pm
9
This is my data query:
BackendlessDataQuery dataQuery = new BackendlessDataQuery();
QueryOptions queryOptions = new QueryOptions();
queryOptions.addSortByOption("username ASC");
dataQuery.setQueryOptions(queryOptions);
Jeffrey, the problem was not in sdk, but on server side.
jeffrey-s
(Jeffrey S)
February 13, 2016, 5:02pm
11
Oh, alright. Thanks. Why was my code not working though? I didn’t notice any major differences.
jeffrey-s
(Jeffrey S)
February 16, 2016, 8:59pm
12
Just wondering, was the fix released?