Examples of LoginAnswer


Examples of org.openqreg.bean.LoginAnswer

    return answer;
  }

  protected LoginAnswer userOk(HttpServletRequest req, String userId) {

    LoginAnswer userOk = userOk(userId);
    if (null != userOk) {
      return userOk;
    }
    LoginAnswer answer = createLoginAnswer();
    answer.setUserId(userId);

    if (isInactive(req, userId)) {
      // user is not active
      // create fetch in user
      currentUsers.get(userId).getFetch().createTreeMap(req);
      // create answer
      answer.setStatus(LoginAnswer.INACTIVE);
      // answer.setInfo("wrong sessionId or activity checked against users getLastActivityTimeStamp");
      // to not be able to tell if this is a correct userId, return same
      // status as not logged in
      answer.setInfo("user not loged in");
      return answer;
    }

    // user is ok
    return null;
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // user is ok
    return null;
  }

  protected LoginAnswer userOk(String userId, String token) {
    LoginAnswer answer = createLoginAnswer();
    answer.setUserId(userId);

    if (StringUtils.isBlank(token)) {
      // there is no token in the request
      answer.setStatus(LoginAnswer.INACTIVE);
      answer.setInfo("no token");
      return answer;

    }
    LoginAnswer userOk = userOk(userId);
    if (null != userOk) {
      return userOk;
    }
    if (loginHandler.isInactive(userId, token)) {
      // user is not active
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // ****************break out? ******************
    String userId = null;
    if (null != incomingUserId) {
      // we have a userId check it....
      // check that user is logged in etc...
      LoginAnswer la = Dispatcher.getInstance().isActive(incomingUserId,
          token);

      // not active user
      if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
        return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
            .build();
      }
      userId = la.getUserId();
    } else {
      // no active user, return unauthorized.
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    // ****************break out? ******************
    String userId = null;
    if (null != incomingUserId) {
      // we have a userId check it....
      // check that user is logged in etc...
      LoginAnswer la = Dispatcher.getInstance().isActive(incomingUserId,
          token);

      // not active user
      if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
        return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
            .build();
      }
      userId = la.getUserId();
    } else {
      // no active user, return unauthorized.
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

      @PathParam("document") String document,
      @PathParam("textId") String textId, TransportTextGrouped ttg) {
    RestWrapper rw = new RestWrapper();

    // check that user is logged in etc...
    LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);

    // not active user
    if (!LoginAnswer.ACTIVE.equals(la.getStatus())) {
      rw.setLinks(getLinks(""));
      return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
          .build();
    }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    try {
      // removes old tokens
      disp.removeOldTokens();
      // removes old users
      disp.removeOldUsers();
      LoginAnswer answer = disp.createLoginAnswer();
      // String userId = req.getParameter("USERID");
      // needed to prevent problems when user enters username as 'userid '
      if (null != userId) {
        userId = userId.trim();
      }
      // String passWord = req.getParameter("PASSWORD");

      FetchData fetch = disp.createFetch();
      if (userId != null) {
        fetch.addValue(userId, "USERID");
        answer.setUserId(userId);
      } else {
        fetch.addValue("", "USERID");
      }
      answer.setFetch(fetch);

      // if we have a request not from the login.jsp or missing
      // user/password/token
      // String externalToken = req.getParameter("TOKEN");
      String externalToken = token;
      // make sure token sent from login is ok (current and the one stored
      // for this sessionId)
      if (!disp.checkToken(req.getSession().getId(), externalToken)) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No token");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        disp.logToAccessLog(req, answer, "loginUser");
        return answer;
      }
      if (userId == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No userid");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        disp.logToAccessLog(req, answer, "loginUser");
        return answer;
      }
      if (passWord == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No password");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        disp.logToAccessLog(req, answer, "loginUser");
        return answer;

      }

      User userDB = disp.findUser(userId);

      // if user exists it is a relogin....
      if (disp.currentUsers.get(userId) == null) {
        answer.setRelogin(false);
      } else {
        answer.setRelogin(true);
      }
      // if more than our loginwaittimeout we reset logintimedoubler
      GregorianCalendar calendar = new GregorianCalendar();
      calendar.add(Calendar.MINUTE, -disp.loginWaitTimeOut);
      if (disp.currentFailedUsers.containsKey(userId)) {
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(
              Level.DEBUG,
              "calendar: "
                  + new SimpleDateFormat(
                      "yyyy-MM-dd HH:mm:ss")
                      .format(calendar.getTime()));
          Dispatcher.logger
              .log(Level.DEBUG,
                  "usercalendar: "
                      + new SimpleDateFormat(
                          "yyyy-MM-dd HH:mm:ss")
                          .format(((Calendar) disp.currentFailedUsers
                              .get(userId)
                              .getCalendar())
                              .getTime()));
          Dispatcher.logger.log(
              Level.DEBUG,
              "after: "
                  + calendar.after(disp.currentFailedUsers
                      .get(userId).getCalendar()));
        }
      }
      if (disp.currentFailedUsers.containsKey(userId)
          && calendar.after(disp.currentFailedUsers.get(userId)
              .getCalendar())) {
        disp.currentFailedUsers.remove(userId);
        // currentFailedUsers.put(userId,new LoginWait());
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser():  reset user ");
        }

      }

      // if to many tries no entry
      if (disp.currentFailedUsers.containsKey(userId)
          && disp.currentFailedUsers.get(userId).getNoOfWrongTries() > 10) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("To many tries");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        disp.logToAccessLog(req, answer, "loginUser");
        return answer;
      }

      // wrong password
      if (null == userDB
          || !disp.passy
              .compareHashes(passWord, userDB.getPassword())) {
        // double wait time on wrong password.... holds thread for wait
        // time
        disp.doubleLoginWait(userId);

        // create answer
        answer.setLoginWait(disp.currentFailedUsers.get(userId)
            .getWait().intValue());
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("no match for username password in db");
        answer.getFetch().removeValue("PASSWORD");
        // log to accessLog
        disp.logToAccessLog(req, answer, "loginUser");
        return answer;
      }

      // no user with our userid in the internal user holder currentUsers
      if (disp.currentUsers.get(userId) == null) {
        // if we need to change password expired or forced
        if ((userDB.getTspassword() != null && ((new Date().getTime() / 1000) - (userDB
            .getTspassword().getTime() / 1000)) > disp
            .getPasswordLifeLength() * 60 * 60 * 24)
            || new Integer(1).equals(userDB.getChangepassword())) {
          // create answer
          answer.setStatus("changepassword");
          answer.setInfo("user needs to change password");
          // there is never any reason to return a password to
          // the client
          answer.getFetch().removeValue("PASSWORD");
          // log to accessLog
          disp.logToAccessLog(req, answer, "loginUser");
          return answer;
        }
        // !!!!!!!!!!!!!!!!!creating new
        // user!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser(): creating new user: " + userId);
        }

        disp.getWriteLockUserTable();
        // currentUsers.put(userId, createUser());
        disp.currentUsers.put(userId, disp.findUser(userId));

        try {
          // populate the user
          User user = disp.currentUsers.get(userId);

          // Is the User on an active centre?
          if (!new Integer(1).equals(disp.getCentre(
              user.getCentreid()).getStatus())) {
            // Users centre is inactive, try to find an active one
            Map<String, UsercentrerelBean> ucrMap = null;
            ucrMap = UsercentrerelFinder.findByUseridReturnMap(user
                .getId());
            Iterator<String> it = ucrMap.keySet().iterator();
            UsercentrerelBean ucrBean = null;
            String tempCentreid = null;
            while (it.hasNext()) { // Loop users all centres
              tempCentreid = it.next();
              ucrBean = ucrMap.get(tempCentreid);
              if (new Integer(1).equals(ucrBean.getStatus())) {
                Dispatcher.logger.log(
                    Level.INFO,
                    "loginUser(): users centre inactive: "
                        + user.getCentreid()
                        + ", moved to: "
                        + ucrBean.getCentreid()
                        + ", userid: " + userId);
                // Active centre found, set info to user
                user.setCentreid(ucrBean.getCentreid());
                user.setGroupid(ucrBean.getGroupid());
                break;
              }
            }
          }
          user.setPrevTslastlogin(user.getTslastlogin());
          user.setTslastlogin(new Timestamp(System
              .currentTimeMillis()));
          ((UserBean) user).store();
          user.setLastActivityTimeStamp();
          /*
           * current session id is used to prevent problem when
           * restarting server and logging in from old sessionid
           */
          user.setSessionId(req.getSession().getId());

          // Set user's default sortlist from dispatcher's
          // list
          disp.setStandardSortOrder(user);

          // we set users donelogin to true as we have done a
          // login or relogin
          user.setFromPage("login.jsp");
          // new user should be sent to start, or something...
          answer.setReturnToPage(disp.getUserReturnToPage(user));
          if (isAjaxLogin) {
            // ajaxlogin can be on any page, set its name
            user.setFromPage(thisPageName);
          } else {
            // if loginpage login
            user.setDoneLogin(true);
          }
          // removes user from currentFailedUsers on successfull
          // login
          if (disp.currentFailedUsers.containsKey(userId)) {
            disp.currentFailedUsers.remove(userId);
          }

          // create answer
          // answer.setUserId(userId);
          answer.setStatus("loggedin");
          answer.setInfo("new user created");

        } finally {
          disp.releaseWriteLockUserTable();
        }
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser() new user complete: " + userId);
        }

      } else {
        // user exists in currentUsers
        User u = disp.currentUsers.get(userId);
        // update timestamp in user...
        u.setLastActivityTimeStamp();

        u.setSessionId(req.getSession().getId());
        // we set users frompage to login.jsp as we have done a
        // login or
        // relogin saving frompage in answer
        answer.setReturnToPage(u.getFromPage());
        if (!isAjaxLogin) {
          u.setDoneLogin(true);
        }
        // removes user from currentFailedUsers on successfull
        // login
        if (disp.currentFailedUsers.containsKey(userId)) {
          disp.currentFailedUsers.remove(userId);
        }

        // creating answer
        answer.setStatus("loggedin");
        answer.setInfo("old user checked password successfully");
        answer.setFetch(u.getFetch());
      }

      // there is never any reason to return a password to the client
      if (null != answer.getFetch()) {
        answer.getFetch().removeValue("PASSWORD");
      }
      // log to accessLog
      disp.logToAccessLog(req, answer, "loginUser");
      return answer;

    } catch (Exception e) {
      Dispatcher.logger.log(Level.ERROR,
          "loginUser() error in creating user:", e);
      // creating answer
      LoginAnswer answer = new LoginAnswer();
      answer.setStatus(LoginAnswer.FAILED);
      answer.setInfo("error in loginUser");
      answer.setFetch(new FetchData());
      // log to accessLog
      disp.logToAccessLog(req, answer, "loginUser");
      return answer;
    }

View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

  }

  @Override
  public LoginAnswer loginUser(String userId, String passWord,
      String sessionId) {
    LoginAnswer answer = loginUser(userId, passWord);
    if ("loggedin".equals(answer.getStatus())) {
      Dispatcher.getInstance().getUser(userId).setSessionId(sessionId);
    }
    return answer;
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

  @Override
  public LoginAnswer loginUser(String userId, String passWord) {
    Dispatcher disp = Dispatcher.getInstance();
    try {
      LoginAnswer answer = disp.createLoginAnswer();
      // needed to prevent problems when user enters username as 'userid '
      if (null != userId) {
        userId = userId.trim();
      }

      FetchData fetch = disp.createFetch();
      fetch.removeValue("PASSWORD");
      if (userId != null) {
        fetch.addValue(userId, "USERID");
        answer.setUserId(userId);
      } else {
        fetch.addValue("", "USERID");
      }
      answer.setFetch(fetch);

      // if we have a request not from the login.jsp or missing
      // user/password/token
      if (userId == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No userid");
        // log to accessLog
        disp.logToAccessLog(answer, "loginUser");
        return answer;
      }
      if (passWord == null) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("No password");
        // log to accessLog
        disp.logToAccessLog(answer, "loginUser");
        return answer;

      }

      User userDB = disp.findUser(userId);

      // if user exists it is a relogin....
      if (disp.currentUsers.get(userId) == null) {
        answer.setRelogin(false);
      } else {
        answer.setRelogin(true);
      }
      // if more than our loginwaittimeout we reset logintimedoubler
      // TODO: simplify this as getting x tries (10) then be locked out
      // for x(10) min, skipp doubling
      // TODO: perhaps have a small random time before answering
      // TODO: make sure this is per USERNAME and nothing else.
      GregorianCalendar calendar = new GregorianCalendar();
      calendar.add(Calendar.MINUTE, -disp.loginWaitTimeOut);
      if (disp.currentFailedUsers.containsKey(userId)) {
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(
              Level.DEBUG,
              "calendar: "
                  + new SimpleDateFormat(
                      "yyyy-MM-dd HH:mm:ss")
                      .format(calendar.getTime()));
          Dispatcher.logger
              .log(Level.DEBUG,
                  "usercalendar: "
                      + new SimpleDateFormat(
                          "yyyy-MM-dd HH:mm:ss")
                          .format(((Calendar) disp.currentFailedUsers
                              .get(userId)
                              .getCalendar())
                              .getTime()));
          Dispatcher.logger.log(
              Level.DEBUG,
              "after: "
                  + calendar.after(disp.currentFailedUsers
                      .get(userId).getCalendar()));
        }
      }
      if (disp.currentFailedUsers.containsKey(userId)
          && calendar.after(disp.currentFailedUsers.get(userId)
              .getCalendar())) {
        disp.currentFailedUsers.remove(userId);
        // currentFailedUsers.put(userId,new LoginWait());
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser():  reset user ");
        }

      }

      // if to many tries no entry
      if (disp.currentFailedUsers.containsKey(userId)
          && disp.currentFailedUsers.get(userId).getNoOfWrongTries() > 10) {
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("To many tries");
        // log to accessLog
        disp.logToAccessLog(answer, "loginUser");
        return answer;
      }

      // wrong password
      if (null == userDB
          || !disp.passy
              .compareHashes(passWord, userDB.getPassword())) {
        // double wait time on wrong password.... holds thread for wait
        // time
        // TODO: see todos above, only count no of tries..
        disp.doubleLoginWait(userId);

        // create answer
        answer.setLoginWait(disp.currentFailedUsers.get(userId)
            .getWait().intValue());
        answer.setStatus(LoginAnswer.FAILED);
        answer.setInfo("no match for username password in db");
        // log to accessLog
        disp.logToAccessLog(answer, "loginUser");
        return answer;
      }

      // no user with our userid in the internal user holder currentUsers
      if (disp.currentUsers.get(userId) == null) {
        // if we need to change password expired or forced
        if ((userDB.getTspassword() != null && ((new Date().getTime() / 1000) - (userDB
            .getTspassword().getTime() / 1000)) > disp
            .getPasswordLifeLength() * 60 * 60 * 24)
            || new Integer(1).equals(userDB.getChangepassword())) {
          // create answer
          answer.setStatus("changepassword");
          answer.setInfo("user needs to change password");
          // log to accessLog
          disp.logToAccessLog(answer, "loginUser");
          return answer;
        }
        // !!!!!!!!!!!!!!!!!creating new
        // user!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser(): creating new user: " + userId);
        }

        disp.getWriteLockUserTable();
        disp.currentUsers.put(userId, disp.findUser(userId));

        try {
          // populate the user
          User user = disp.currentUsers.get(userId);

          // Is the User on an active centre?
          if (!new Integer(1).equals(disp.getCentre(
              user.getCentreid()).getStatus())) {
            // Users centre is inactive, try to find an active one
            Map<String, UsercentrerelBean> ucrMap = null;
            ucrMap = UsercentrerelFinder.findByUseridReturnMap(user
                .getId());
            Iterator<String> it = ucrMap.keySet().iterator();
            UsercentrerelBean ucrBean = null;
            String tempCentreid = null;
            while (it.hasNext()) { // Loop users all centres
              tempCentreid = it.next();
              ucrBean = ucrMap.get(tempCentreid);
              if (new Integer(1).equals(ucrBean.getStatus())) {
                Dispatcher.logger.log(
                    Level.INFO,
                    "loginUser(): users centre inactive: "
                        + user.getCentreid()
                        + ", moved to: "
                        + ucrBean.getCentreid()
                        + ", userid: " + userId);
                // Active centre found, set info to user
                user.setCentreid(ucrBean.getCentreid());
                user.setGroupid(ucrBean.getGroupid());
                break;
              }
            }
          }
          user.setPrevTslastlogin(user.getTslastlogin());
          user.setTslastlogin(new Timestamp(System
              .currentTimeMillis()));
          ((UserBean) user).store();
          user.setLastActivityTimeStamp();

          // Set user's default sortlist from dispatcher's
          // list
          disp.setStandardSortOrder(user);

          // we set users donelogin to true as we have done a
          // login or relogin
          user.setFromPage("login.jsp");
          // new user should be sent to start, or something...
          answer.setReturnToPage(disp.getUserReturnToPage(user));

          // create answer
          // answer.setUserId(userId);
          answer.setStatus("loggedin");
          answer.setInfo("new user created");

        } finally {
          disp.releaseWriteLockUserTable();
        }
        if (Dispatcher.logger.isDebugEnabled()) {
          Dispatcher.logger.log(Level.DEBUG,
              "loginUser() new user complete: " + userId);
        }

      } else {
        // user exists in currentUsers
        User u = disp.currentUsers.get(userId);
        // update timestamp in user...
        u.setLastActivityTimeStamp();

        // we set users frompage to login.jsp as we have done a
        // login or
        // relogin saving frompage in answer
        answer.setReturnToPage(u.getFromPage());

        // creating answer
        answer.setStatus("loggedin");
        answer.setInfo("old user checked password successfully");
        answer.setFetch(u.getFetch());
      }
      // removes user from currentFailedUsers on successfull login
      if (disp.currentFailedUsers.containsKey(userId)) {
        disp.currentFailedUsers.remove(userId);
      }
      // there is never any reason to return a password to the client
      if (null != answer.getFetch()) {
        answer.getFetch().removeValue("PASSWORD");
      }
      // log to accessLog
      disp.logToAccessLog(answer, "loginUser");

      // update users token on success.
      String userToken = disp.generateRandom();
      disp.currentUsers.get(userId).setToken(userToken);
      answer.setTimeBeforeLogOut(disp.getTimeBeforeLogOut(userId));
      // set token in answer
      answer.setUserToken(userToken);
      return answer;

    } catch (Exception e) {
      Dispatcher.logger.log(Level.ERROR,
          "loginUser() error in creating user:", e);
      // creating answer
      LoginAnswer answer = new LoginAnswer();
      answer.setStatus(LoginAnswer.FAILED);
      answer.setInfo("error in loginUser");
      answer.setFetch(new FetchData());
      // log to accessLog
      disp.logToAccessLog(answer, "loginUser");
      return answer;
    }
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    }
  }

  @Override
  public LoginAnswer logOutUser(String userId, String token) {
    LoginAnswer answer = Dispatcher.getInstance().createLoginAnswer();
    answer.setUserId(userId);

    if (StringUtils.isNotBlank(token)
        && null != Dispatcher.getInstance().currentUsers.get(userId)
        && token.equals(Dispatcher.getInstance().currentUsers.get(
            userId).getToken())) {
      Dispatcher.getInstance().doUserLogOut(userId);
      answer.setStatus(LoginAnswer.LOGEDOUT);
      answer.setTimeBeforeLogOut(Dispatcher.getInstance()
          .getTimeBeforeLogOut(userId));
      return answer;
    }
    answer.setStatus(LoginAnswer.FAILED);
    return answer;
  }
View Full Code Here

Examples of org.openqreg.bean.LoginAnswer

    noInterfaceUpdate = false;

    retrieveObjects();

    // checks that we are active and so on....
    LoginAnswer loginAnswer;
    if (pageType != null && pageType.equals(REPORT_PAGE)) {
      loginAnswer = disp
          .isActiveReportPage((HttpServletRequest) pageContext
              .getRequest());
    } else if (pageType != null && pageType.equals(REGISTRATION_PAGE)) {
      // REGISTRATION_PAGE
      loginAnswer = disp
          .isActiveNormalPage((HttpServletRequest) pageContext
              .getRequest());
    } else if (pageType != null && pageType.equals(INTERFACE_PAGE)) {
      // INTERFACE_PAGE
      loginAnswer = disp
          .isActiveForInterfaceUpdates((HttpServletRequest) pageContext
              .getRequest());
    } else {
      // ACTIVE_PAGE
      loginAnswer = disp.isActive((HttpServletRequest) pageContext
          .getRequest());
    }
    String loginStatus = loginAnswer.getStatus();

    // if we NOT are active
    if (loginStatus.equals(LoginAnswer.INACTIVE)) {
      // sends the request to login to confirm correct user
      forward(LOGIN_PAGE);
      // if we are deactivated show deactivated page.....
    } else if (loginStatus.equals(LoginAnswer.DEACTIVATED)) {
      forward(DEACTIVATED_PAGE);
      // if system is down we go to system is down page.....
    } else if (loginStatus.equals(LoginAnswer.SYSTEM_IS_DOWN)) {
      forward(SYSTEMISDOWN_PAGE);
      // if we are inactive for interface update
    } else if (loginStatus.equals(LoginAnswer.INACTIVEINTERFACEUPDATE)) {
      noInterfaceUpdate = true;
      // if we are active
    } else if (loginStatus.equals(LoginAnswer.ACTIVE)) {

      String thisPageName = getPageName(pageContext);
      // Check if the user has access to the page
      if (!disp.checkAccess(loginAnswer.getUserId(), service)) {
        abuseLog.log(Level.INFO, "PageStartTag: The user \""
            + loginAnswer.getUserId()
            + "\" did not have access to service: " + service);
        if (thisPageName.equals(STARTPAGE)) {
          forward(LOGOUT_PAGE);
        } else {
          forward(STARTPAGE);
        }
        return SKIP_PAGE;
      }

      // get the language handler from the Dispatcher
      lang = LanguageHandler.getInstance();
     
      systemHolder = Dispatcher.getInstance().getSystemHolder();
     
      // get the user from the Dispatcher
      user = disp.getUser(loginAnswer.getUserId());

      // get fetch from the loginanswer, should contain correct fetch
      // even if we have been relogedin
      fetch = loginAnswer.getFetch();

      // calculates step
      step = fetch.getValueAsString(Step.STEP);

      // For keeping track of the helpToggling on/off
      String helpToggler = fetch.getValueAsString("helpToggler");
      if (helpToggler != null && fetch.containsValue("helpToggler")) {
        if (helpToggler.equals("true")) {
          user.setHelpstatus(new Integer(1));
        } else {
          user.setHelpstatus(new Integer(0));
        }
      }
      // End of helpToggler
      // Handle message
      message = "";
      if (fetch.containsValue("message")) {
        message = fetch.getValueAsString("message");
      }

      if (log.isDebugEnabled()) {
        log.log(Level.DEBUG, "User:" + user.getId() + " Service:"
            + service + " Step:" + step);
      }

      // These variables are available in the page
      pageContext.setAttribute(LANG, lang);
      pageContext.setAttribute(SH, systemHolder);
      pageContext.setAttribute(DISP, disp);
      pageContext.setAttribute(FETCH, fetch);
      pageContext.setAttribute(LOGINANSWER, loginAnswer);
      pageContext.setAttribute(USER, user);
      pageContext.setAttribute(USERID, loginAnswer.getUserId());
      pageContext.setAttribute(LANGID, user.getLanguageid());
      pageContext.setAttribute(THISPAGENAME, thisPageName);
      pageContext.setAttribute(MESSAGE, message);
      pageContext.setAttribute(STEP, step);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.