public void dump(final PrintWriter pw, String prefix) {
            pw.println(prefix + this);

            final String indent = prefix + "  ";
            final int clientCount = mClientRecords.size();
            if (clientCount != 0) {
                for (int i = 0; i < clientCount; i++) {
                    mClientRecords.get(i).dump(pw, indent);
                }
            } else {
                pw.println(indent + "<no clients>");
            }

            pw.println(indent + "State");
            pw.println(indent + "mTrustedState=" + mTrustedState);
            pw.println(indent + "mUntrustedState=" + mUntrustedState);

            if (!mHandler.runWithScissors(new Runnable() {
                @Override
                public void run() {
                    mHandler.dump(pw, indent);
                }
            }, 1000)) {
                pw.println(indent + "<could not dump handler state>");
            }
         }
  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    if (req.getParameter(PARAM_NAME) == null
        || req.getParameter(PARAM_NAME).trim().isEmpty()
        || req.getParameter(PARAM_PASSWORD) == null
        || req.getParameter(PARAM_PASSWORD).trim().isEmpty()) {
      req.setAttribute(PARAM_ERR_MESS, "login/pass can't be empty!");
      getServletContext().getRequestDispatcher("/login.jsp").forward(req, resp);
    } else {

      User user = new User(req.getParameter(PARAM_NAME), req.getParameter(PARAM_PASSWORD));

      String userId = UserHandler.getUserId(user);
      System.out.println(userId);
      if (userId != null) {
        req.setAttribute(PARAM_USERNAME, user.getName());
        Cookie userIdCookie = new Cookie(COOKIE_USER_ID, userId);
        userIdCookie.setMaxAge(cookieLifeTime);
        resp.addCookie(userIdCookie);
        getServletContext().getRequestDispatcher("/homepage").forward(req, resp);
      } else {
        System.out.println("Incorrect password!");
        req.setAttribute(PARAM_ERR_MESS, "Incorrect login or password");
        getServletContext().getRequestDispatcher("/login.jsp").forward(req, resp);
      }
    }
  }
  public void perform(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    User user = _userHandler.getLoggedInUser(request, response);
    if (user == null) {
      LOG.log(
          Level.FINE,
          "User must be logged in to persist data." + " Might also suggest disconnected mode.");
      response.sendError(HttpServletResponse.SC_BAD_REQUEST);
      // Should actually be SC_INTERNAL_SERVER_ERROR if disconnected.
      return;
    }

    UserId userId = user.getUserId();

    String serviceDefinitionId = request.getParameter(PARAMETER_SERVICE_DEFINITION_ID);
    String serviceInstanceId = request.getParameter(PARAMETER_SERVICE_INSTANCE_ID);

    try {
      ServiceId serviceId = new ServiceId(serviceDefinitionId, serviceInstanceId);

      if (LOG.isLoggable(Level.FINE)) {
        LOG.log(
            Level.FINE, "Storing service bean for user: "******", serviceId: " + serviceId);
      }

      try {
        storeServiceData(userId, serviceId, request);
      } catch (UserDataConcurrentModificationException instantRetryMarker) {
        // Store based on old data, try again.
        if (LOG.isLoggable(Level.FINE)) {
          LOG.log(
              Level.FINE,
              "Service bean for user: "******", serviceId: "
                  + serviceId
                  + " updated"
                  + " by another client, doing an instant retry.");
        }

        storeServiceData(userId, serviceId, request);
      }
    } catch (IllegalArgumentException e) {
      LOG.log(Level.WARNING, "Invalid service id in request.", e);
      response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    } catch (ServiceDataCookieParseException e) {
      LOG.log(Level.WARNING, "Error while parsing data cookie.", e);
      response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    } catch (UserDataConcurrentModificationException e) {
      LOG.log(Level.WARNING, "Failed to persist user data.", e);
      response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    } catch (UserDataOperationFailedException e) {
      LOG.log(Level.WARNING, "User data operation failed.", e);
      response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
    }
  }
Пример #4
0
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {

    System.out.println("GETNEXT DOC   " + "USER:"******"daveleray")) {
      System.out.println("logging in from:" + req.getUserPrincipal());
      resp.setContentType("text/plain");
      resp.getWriter().println("PLEASE SIGN IN");
      return;
    }
    System.out.println("PROCESSING");
    CloudReviewerUser user = UserHandler.getCurrentUser();
    String currentID = req.getParameter("currentDocID");
    String selectedFolder = req.getParameter("folder");

    String docdirection = req.getParameter("docdirection");

    if (selectedFolder.contentEquals("undefined")) {
      resp.getWriter().println("UNDEFINED BATCH");
      return;
    }
    if (currentID == null || currentID.contentEquals("undefined")) {
      currentID = user.getCurrentDoc();
    }

    PersistenceManager pm = PMF.get().getPersistenceManager();
    DocumentBatch batch = pm.getObjectById(DocumentBatch.class, selectedFolder);
    pm.close();

    System.out.println("Identified Batch Size of:" + batch.getDocIDCollection().size());

    Document d;
    if (docdirection == null || docdirection.contentEquals("current")) {
      d = DocumentHandler.getDocument(currentID);
    } else if (docdirection.equals("next")) {
      d = DocumentHandler.getNextDocument(batch, null, currentID);
    } else if (docdirection.equals("prev")) {
      d = DocumentHandler.getPreviousDocument(batch, null, currentID);
    } else {
      d = DocumentHandler.getDocument(currentID);
    }

    DocJSONResponse response = DocHelper.getJSONResponse(d, batch);
    resp.setContentType("application/json");
    Gson gson = new Gson();
    String sending = gson.toJson(response);
    resp.getWriter().println(sending);
    return;
  }
Пример #5
0
 public void handler(UserHandler handler) {
   handler.visit(this);
 }