Package org.eurekaj.api.datatypes

Examples of org.eurekaj.api.datatypes.Session


    public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
        String jsonResponse = "";
        String uri = getUri(e);
        String cookieUuidToken = getCookieValue(e, "uuidToken");
        logger.info("cookieUuidToken: " + cookieUuidToken);
        Session session = getAccountService().getSession(cookieUuidToken);
        String id = getUrlId(e, "account");
        String messageContent = getHttpMessageContent(e);
       
        logger.info(messageContent);
       
        if ((isPost(e) || isPut(e)) && isRoot(session)) {
            //Update the account
            BasicAccount account = new Gson().fromJson(messageContent, BasicAccount.class);
            logger.info("Account Name: " + account.getId());
            logger.info("Account Type: " + account.getAccountType());

            getAccountService().persistAccount(account);
        } else if (isPost(e) && session != null) { //Register new account
          //TODO: Verify that account name is unique!!
          JSONObject jsonObject = BuildJsonObjectsUtil.extractJsonContents(getHttpMessageContent(e));

            Account account = ParseJsonObjects.parseAccount(jsonObject);
            logger.info("Account Name: " + account.getId());
            BasicAccount basicAccount = new BasicAccount(account);
            basicAccount.setAccountType("new");

            getAccountService().persistAccount(account);
        } else if(isGet(e) && id != null && session != null) { //Get account for current user
          logger.info("Getting account for: " + session.getAccountName());
          Account account = getAccountService().getAccount(session.getAccountName());
          JsonObject accountObject = new JsonObject();
          accountObject.add("account", new Gson().toJsonTree(account));
         
          jsonResponse = accountObject.toString();
        } else if (isGet(e) && isRoot(session)) {
View Full Code Here


      return cookieValue;
    }
   
    protected User getLoggedInUser(String cookieUuidToken) {
    User loggedInUser = null;
        Session session = getAccountService().getSession(cookieUuidToken);
        if (session != null) {
          loggedInUser = getAccountService().getUser(session.getEmail(), session.getAccountName());
        }
       
        return loggedInUser;
  }
View Full Code Here

            if (isPost(e) && uri != null && uri.endsWith("/auth/login")) {
              logger.info("isPost /auth/login cookie: " + cookieUuidToken);
              String messageContent = getHttpMessageContent(e);
              Long expiry = null;
              String email = null;
              Session session = null;
              if (cookieUuidToken != null) {
                session = getAccountService().getSession(cookieUuidToken);
              }
             
              if (session != null) {
                logger.info("logging in via session for: " + session.getEmail());
                userList = getAccountService().getUsers(session.getEmail());
                logger.info("found session for: " + userList.size() + " accounts");
                expiry = session.getExpiry();
                email = session.getEmail();
              } else {
                  logger.info("Logging in via Persona.");
                String responseContent = loginViaMozillaPersona(messageContent);
                logger.info("Mozilla Persona Response: " + responseContent);
                  MozillaPersonaCredentials credentials = new Gson().fromJson(responseContent, MozillaPersonaCredentials.class);
                  expiry = credentials.getExpires();
                email = credentials.getEmail();
                logger.info("credentials email: " + email);
                  userList = getAccountService().getUsers(email);
              }
             
              logger.info("userList: " + userList.size());
             
              if (userList.isEmpty()) {
                //No user, request registration
               
                BasicSession newSession = new BasicSession();
                newSession.setUuid(UUID.randomUUID().toString());
                newSession.setEmail(email);
                newSession.setExpiry(expiry);
                newSession.setAccountName("__NEW__");
               
                //userHash.put(newUser.getId(), newUser);
                logger.info("Persisting new Session: " + new Gson().toJson(newSession));
                getAccountService().persistSession(newSession);
               
                jsonResponse = "{ \"uuidToken\": \"" + newSession.getUuid() + "\", \"registered\": " + "false}";
              } else if (userList.size() == 1) {
                //One user with one account, return correct uuid
                User user = userList.get(0);
                //userHash.put(user.getId(), new BasicUser(user));
                logger.info("One User: " + new Gson().toJson(user));
             
                BasicSession newSession = new BasicSession();
                newSession.setUuid(UUID.randomUUID().toString());
                newSession.setEmail(email);
                newSession.setExpiry(expiry);
                newSession.setAccountName(user.getAccountName());
                getAccountService().persistSession(newSession);
               
                logger.info("Updating Session: " + new Gson().toJson(newSession));
               
              jsonResponse = "{ \"uuidToken\": \"" + newSession.getUuid() + "\", \"registered\": " + "true}";
               
              } else if (userList.size() > 1) {
                //One user with multiple accounts, return list of accounts
                jsonResponse = "{\"error\": \"not_yet_implemented\"}";
              }
             
            } else if (isPost(e) && uri.endsWith("/auth/register") && cookieUuidToken != null) {
              logger.info("isPost /auth/register. Cookie: " + cookieUuidToken);
              Session session = null;
              if (cookieUuidToken != null) {
                session = getAccountService().getSession(cookieUuidToken);
              }
             
              if (session != null) {
                BasicSession updatedSession = new BasicSession(session);
                BasicUser httpUser = ParseJsonObjects.parseUser(jsonObject);
               
                logger.info("HTTP user: " + new Gson().toJson(httpUser));
               
                updatedSession.setAccountName(httpUser.getAccountName());
                getAccountService().persistSession(updatedSession);
               
                logger.info("persisted new session: " + new Gson().toJson(updatedSession));
               
                BasicUser newUser = new BasicUser(httpUser);
                newUser.setUserRole("admin");
                newUser.setUserName(session.getEmail());
                getAccountService().persistUser(newUser);
               
                logger.info("persisted user: " + new Gson().toJson(newUser));
               
                BasicAccount newAccount = new BasicAccount();
                newAccount.setId(httpUser.getAccountName());
                newAccount.setAccountType("new");
               
                getAccountService().persistAccount(newAccount);
               
                jsonResponse = "{ \"registered\": " + "true, \"uuidToken\": \"" + updatedSession.getUuid() + "\"}";
              } else {
                jsonResponse = "{ \"registered\": " + "false}";
              }
             
              logger.info(jsonObject);
            } else if (isGet(e) && cookieUuidToken != null) {
              logger.info("isGet: " + cookieUuidToken);
              Session cookieSession = getAccountService().getSession(cookieUuidToken);
              logger.info("cookieSession: " + new Gson().toJson(cookieSession));
              if (cookieSession != null && cookieSession.getEmail() != null) {
                User sessionUser = getAccountService().getUser(cookieSession.getEmail(), cookieSession.getAccountName());
                logger.info("sessionUser: " + new Gson().toJson(sessionUser));
                if (getRootUser() != null && sessionUser != null && sessionUser.getUserName().equals(getRootUser())) {
                  BasicUser rootUser = new BasicUser(sessionUser);
                  rootUser.setUserRole("root");
                  jsonResponse = "{\"user\": " + new Gson().toJson(rootUser) + "}";
View Full Code Here

TOP

Related Classes of org.eurekaj.api.datatypes.Session

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.