Android Open Source - WhatsUp Session Test






From Project

Back to project page WhatsUp.

License

The source code is released under:

GNU General Public License

If you think the Android project WhatsUp listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package nu.placebo.whatsup.network;
/* ww  w. ja  v a2  s .c  o m*/
import java.io.IOException;

import nu.placebo.whatsup.constants.Constants;
import nu.placebo.whatsup.model.SessionInfo;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.impl.client.BasicResponseHandler;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

/**
 * 
 * This class tests whether a session is active or if the user needs to log in
 * again.
 * 
 */

public class SessionTest extends AbstractNetworkOperation<SessionInfo> {

  private SessionInfo sessionInfo;

  public SessionTest(SessionInfo sessionInfo) {
    this.sessionInfo = sessionInfo;
  }

  public OperationResult<SessionInfo> execute() {
    HttpResponse response = NetworkCalls.performPostRequest(
        Constants.API_URL + "system/connect.json", null, sessionInfo);
    ResponseHandler<String> handler = new BasicResponseHandler();
    String result = null;
    try {
      result = handler.handleResponse(response);
    } catch (ClientProtocolException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    boolean hasErrors = this.parseResult(result);
    if (response != null) {
      if (hasErrors) {
        sessionInfo = null;
      }
      return new OperationResult<SessionInfo>(hasErrors,
          response.getStatusLine().getStatusCode(), response
              .getStatusLine().getReasonPhrase(), sessionInfo,
          Action.TEST_SESSION);
    } else {
      return new OperationResult<SessionInfo>(hasErrors,
          0, "Problems with the network", null, Action.TEST_SESSION);
    }
  }

  private boolean parseResult(String result) {
    boolean hasErrors = true;
    if (result != null) {
      try {
        JSONObject json = new JSONObject(result);
        int uid = json.getJSONObject("user").getInt("uid");
        if (uid != 0) {
          hasErrors = false;
          Log.w("WhatsUp", "Session " + sessionInfo.getSessionName()
              + " is valid");
        }

      } catch (JSONException e) {
        Log.w("WhatsUp", "Session " + sessionInfo.getSessionName()
            + " is invalid");
        e.printStackTrace();
      }
    }
    return hasErrors;
  }

}




Java Source Code List

nu.placebo.whatsup.activity.AnnotationActivity.java
nu.placebo.whatsup.activity.CreateAnnotationActivity.java
nu.placebo.whatsup.activity.CreateCommentActivity.java
nu.placebo.whatsup.activity.ListViewActivity.java
nu.placebo.whatsup.activity.LogInActivity.java
nu.placebo.whatsup.activity.LoginRegTabActivity.java
nu.placebo.whatsup.activity.MapViewActivity.java
nu.placebo.whatsup.activity.Marker.java
nu.placebo.whatsup.activity.MenuHelper.java
nu.placebo.whatsup.activity.PositionPickerActivity.java
nu.placebo.whatsup.activity.RefPointActivity.java
nu.placebo.whatsup.activity.RegisterActivity.java
nu.placebo.whatsup.android.os.AsyncTask.java
nu.placebo.whatsup.balloon.BalloonItemizedOverlay.java
nu.placebo.whatsup.balloon.BalloonOverlayView.java
nu.placebo.whatsup.constants.Constants.java
nu.placebo.whatsup.ctrl.SessionHandler.java
nu.placebo.whatsup.datahandling.DataProvider.java
nu.placebo.whatsup.datahandling.DataReturnListener.java
nu.placebo.whatsup.datahandling.DataReturn.java
nu.placebo.whatsup.datahandling.DatabaseConnectionLayer.java
nu.placebo.whatsup.datahandling.DatabaseHelper.java
nu.placebo.whatsup.model.Annotation.java
nu.placebo.whatsup.model.Comment.java
nu.placebo.whatsup.model.ExtendedOverlayItem.java
nu.placebo.whatsup.model.GeoLocation.java
nu.placebo.whatsup.model.ListMarker.java
nu.placebo.whatsup.model.ReferencePoint.java
nu.placebo.whatsup.model.SessionInfo.java
nu.placebo.whatsup.network.AbstractNetworkOperation.java
nu.placebo.whatsup.network.Action.java
nu.placebo.whatsup.network.AnnotationCreate.java
nu.placebo.whatsup.network.AnnotationRetrieve.java
nu.placebo.whatsup.network.CommentCreate.java
nu.placebo.whatsup.network.GeoLocationsRetrieve.java
nu.placebo.whatsup.network.Login.java
nu.placebo.whatsup.network.NetworkCalls.java
nu.placebo.whatsup.network.NetworkOperationListener.java
nu.placebo.whatsup.network.NetworkOperation.java
nu.placebo.whatsup.network.NetworkTask.java
nu.placebo.whatsup.network.OperationResult.java
nu.placebo.whatsup.network.RegisterOperation.java
nu.placebo.whatsup.network.SessionTest.java
nu.placebo.whatsup.util.GeoPointUtil.java
nu.placebo.whatsup.util.Geodetics.java
nu.placebo.whatsup.util.ValidationUtil.java
nu.placebo.whatsuptest.TestStarter.java
nu.placebo.whatsuptest.activitytest.AnnotationActivityTest.java
nu.placebo.whatsuptest.activitytest.ListViewActivityTest.java
nu.placebo.whatsuptest.activitytest.MapViewActivityTest.java
nu.placebo.whatsuptest.networktest.NetworkTest.java
nu.placebo.whatsuptest.utiltest.GeoPointUtilTest.java
nu.placebo.whatsuptest.utiltest.GeodeticsTest.java
nu.placebo.whatsuptest.utiltest.ValidationTest.java