Android Open Source - Icinga-Mobile Session






From Project

Back to project page Icinga-Mobile.

License

The source code is released under:

GNU General Public License

If you think the Android project Icinga-Mobile 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 mhst.dreamteam.IcingaClient.SessionMng;
// www  .ja v a 2s.  c  o  m
import android.content.Context;
import android.content.Intent;
import android.util.Log;

import java.security.InvalidParameterException;
import java.util.Map;
import java.util.concurrent.ExecutionException;

import mhst.dreamteam.IcingaClient.GlobalConst;
import mhst.dreamteam.IcingaClient.Interface.OnCompleteListener;

/**
 * Manage session<br />
 * This is also the application class
 *
 * @author MinhNN
 */
public class Session {
    private String Server;
    private int loginResult = GlobalConst.SESSION_LOGGED_OUT;
    private String Cookie;
    private static Session ss;
    private boolean isInProgress;

    /**
     * Initialize new instance
     */
    public static void init() {
        if (ss == null) ss = new Session();
    }

    /**
     * Returns instance initialized
     *
     * @return instance initialized
     */
    public static Session getInstance() {
        return ss;
    }

    /**
     * Get current working server
     *
     * @return current working server
     */
    public String getWorkingServer() {
        return Server;
    }

    /**
     * Checks if user logged into system or not.
     *
     * @return true - user logged in<br />
     * false - user has not logged in yet
     */
    public boolean isLogin() {
        return (loginResult == GlobalConst.SESSION_LOGGED_IN);
    }

    public void isLogin(boolean b) {
        if (b) {
            loginResult = GlobalConst.SESSION_LOGGED_IN;
        } else {
            loginResult = GlobalConst.SESSION_LOGGED_OUT;
        }
    }

    /**
     * Checks if any progress is showing.
     *
     * @return true - a progress is showing<br />
     * false - no progress is showing
     */
    public boolean isInProgress(boolean in) {
        isInProgress = in;
        return isInProgress;
    }

    /**
     * Checks if any progress is showing.
     *
     * @return true - a progress is showing<br />
     * false - no progress is showing
     */
    public boolean isInProgress() {
        return isInProgress;
    }

    /**
     * Return current session cookie
     *
     * @return cookie string
     */
    public String getCookie() {
        return Cookie;
    }

    public void setServer(String server) {
        Server = server;
    }

    public void setCookie(String cookie) {
        Cookie = cookie;
    }

    /**
     * Logs user into server
     *
     * @param loginInfo loginInfo[0] = Server Address<br />
     *                  &emsp;&emsp;&emsp;&emsp;&emsp;&emsp; loginInfo[1] = Username<br />
     *                  &emsp;&emsp;&emsp;&emsp;&emsp;&emsp; loginInfo[2] = Password<br />
     * @throws InvalidParameterException
     */
    @SuppressWarnings("unchecked")
    public void doLogin(Context context, OnCompleteListener listener, String... loginInfo)
            throws InvalidParameterException {
        final OnCompleteListener _listener = listener;

        // Check input data
        if (loginInfo.length == 0) {
            throw new InvalidParameterException();
        } else if (loginInfo.length != 3) {
            throw new InvalidParameterException();
        }
        // Check if input string is null or empty
        for (String str : loginInfo) {
            if (str == null || str.isEmpty()) {
                throw new InvalidParameterException();
            }
        }

        // Parse server address
        loginInfo[0] = "http://" + loginInfo[0];
        final String sServer = loginInfo[0];

        // Response data
        OnCompleteListener listener_param = new OnCompleteListener() {
            @Override
            public void onComplete(Object obj, String sender) {
                Map<String, Object> result = (Map<String, Object>) obj;
                if (result.containsKey("Code")) {
                    // Login result
                    loginResult = (Integer) result.get("Code");
                }
                if (isLogin()) {
                    if (result.containsKey("Cookie")) {
                        // Current session cookie
                        Cookie = (String) result.get("Cookie");
                    }
                    Server = sServer;
                }
                _listener.onComplete(loginResult, "SessionLogin");

                Log.i("Session login", "Login result = " + loginResult);
                Log.i("Session login", "Cookie = " + Cookie);
            }
        };
        // Do log in and return result code
        new Login(context, listener_param).execute(loginInfo);
    }

    public int doLogout() {
        try {
            // if not logged in yet, just quit and return previous status
            if (!isLogin()) return loginResult;
            // Then logout
            loginResult = new Logout().execute().get();
            if (loginResult != GlobalConst.SESSION_LOGGED_IN) {
                // Empty cookie when logout
                Cookie = null;
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
        return loginResult;
    }
}




Java Source Code List

mhst.dreamteam.ApplicationContext.java
mhst.dreamteam.ApplicationTest.java
mhst.dreamteam.ApplicationTest.java
mhst.dreamteam.MainActivity.java
mhst.dreamteam.IcingaClient.GlobalConfig.java
mhst.dreamteam.IcingaClient.GlobalConst.java
mhst.dreamteam.IcingaClient.Controller.NetControllerTest.java
mhst.dreamteam.IcingaClient.Controller.NetController.java
mhst.dreamteam.IcingaClient.Icinga.IcingaApiConst.java
mhst.dreamteam.IcingaClient.Icinga.IcingaApi.java
mhst.dreamteam.IcingaClient.Icinga.IcingaConst.java
mhst.dreamteam.IcingaClient.Icinga.IcingaExecutor.java
mhst.dreamteam.IcingaClient.Icinga.IcingaParam.java
mhst.dreamteam.IcingaClient.Icinga.IcingaUdt.java
mhst.dreamteam.IcingaClient.Icinga.package-info.java
mhst.dreamteam.IcingaClient.Interface.OnCompleteListener.java
mhst.dreamteam.IcingaClient.Interface.OnPieChartClickListener.java
mhst.dreamteam.IcingaClient.Json.JsonHelperTest.java
mhst.dreamteam.IcingaClient.Json.JsonHelper.java
mhst.dreamteam.IcingaClient.Misc.CookieMng.java
mhst.dreamteam.IcingaClient.Misc.CookieTest.java
mhst.dreamteam.IcingaClient.SessionMng.LogInTest.java
mhst.dreamteam.IcingaClient.SessionMng.Login.java
mhst.dreamteam.IcingaClient.SessionMng.Logout.java
mhst.dreamteam.IcingaClient.SessionMng.Session.java
mhst.dreamteam.IcingaService.ApplicationContext.java
mhst.dreamteam.IcingaService.DataUpdater.java
mhst.dreamteam.IcingaService.MessageReveicer.java
mhst.dreamteam.IcingaService.NotiBuilder.java
mhst.dreamteam.IcingaService.SQLHelper.java
mhst.dreamteam.IcingaService.SessionProvider.java
mhst.dreamteam.UI.Color.java
mhst.dreamteam.UI.GradientLine.java
mhst.dreamteam.UI.HostDetailsFragment.java
mhst.dreamteam.UI.HostlistAdapter.java
mhst.dreamteam.UI.HostlistFragment.java
mhst.dreamteam.UI.LoginActivity.java
mhst.dreamteam.UI.OverviewFragment.java
mhst.dreamteam.UI.PieGraph.java
mhst.dreamteam.UI.ProgressDialog.java
mhst.dreamteam.UI.ServiceDetailsFragment.java
mhst.dreamteam.UI.ServicelistAdapter.java
mhst.dreamteam.UI.ServicelistFragment.java
org.json.CDL.java
org.json.CookieList.java
org.json.Cookie.java
org.json.HTTPTokener.java
org.json.HTTP.java
org.json.JSONArray.java
org.json.JSONException.java
org.json.JSONML.java
org.json.JSONObject.java
org.json.JSONString.java
org.json.JSONStringer.java
org.json.JSONTokener.java
org.json.JSONWriter.java
org.json.Kim.java
org.json.Property.java
org.json.XMLTokener.java
org.json.XML.java
org.json.zip.BitInputStream.java
org.json.zip.BitOutputStream.java
org.json.zip.BitReader.java
org.json.zip.BitWriter.java
org.json.zip.Huff.java
org.json.zip.JSONzip.java
org.json.zip.Keep.java
org.json.zip.None.java
org.json.zip.PostMortem.java
org.json.zip.Unzipper.java
org.json.zip.Zipper.java