1

I am trying to get all the roles assigned to user when user logs in, using the code below.

public class roles extends AsyncTask <String,Void,Void>{

       @Override
       protected Void doInBackground(String... params) {

           final CloudUser user = new CloudUser();
           final CloudRole role = new CloudRole("MCA");

           user.setUserName(params[0]);
           user.setPassword(params[1]);


               try {
                   user.logIn(new CloudUserCallback() {
                       @Override
                       public void done(CloudUser cloudUser, CloudException e) throws CloudException {
                           if (cloudUser != null) {
                               System.out.println("login Successful");
                               System.out.println(cloudUser.getUserName());
                               cloudUser.isInRole(role);
                           }
                           if (e != null) {
                               System.out.println("In logn exception");
                               e.printStackTrace();
                           }


                       }
                   });
               } catch (CloudException e) {
                   e.printStackTrace();
               }


               return null;
       }
    }

I am getting the following error:

FATAL EXCEPTION: AsyncTask #1 Process: com.rakesh_kr.image, PID: 31256 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:300) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.ClassCastException: io.cloudboost.json.JSONArray cannot be cast to java.util.ArrayList at io.cloudboost.CloudUser.isInRole(CloudUser.java:335) at com.rakesh_kr.image.MainActivity$roles$1.done(MainActivity.java:174) at io.cloudboost.CloudUser.logIn(CloudUser.java:219) at com.rakesh_kr.image.MainActivity$roles.doInBackground(MainActivity.java:168) at com.rakesh_kr.image.MainActivity$roles.doInBackground(MainActivity.java:155) at android.os.AsyncTask$2.call(AsyncTask.java:288) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)

redbmk
  • 4,687
  • 3
  • 25
  • 49
Kr Rakesh
  • 63
  • 8

1 Answers1

0

This is a bug that occured in versions of CloudBoost JavaSDK prior to v1.0.7, this has been fixed, please clone the latest sources from github or get the latest jar(1.0.7) which should be available on maven in a few hours from now.

egimaben
  • 653
  • 7
  • 22