Exemplo n.º 1
0
  @SuppressWarnings({"unchecked"})
  private void logIn(HttpServletRequest req, HttpServletResponse resp, PersistenceManager pm)
      throws IOException {
    LogIn loginMsg = LogIn.parseFrom(req.getInputStream());
    SqlCloudSession session = lookupCloudSessionById(loginMsg.getSessionId(), pm);
    if (session == null) {
      setResponse(resp, 403, "not authenticated");
      return;
    }

    DbInvocation invocation = recordInvocation(pm, loginMsg, session);
    recordSession(pm, session, invocation);
    resp.setStatus(200);
  }
Exemplo n.º 2
0
  private DbInvocation recordInvocation(
      PersistenceManager pm, LogIn loginMsg, SqlCloudSession session) {
    DbInvocation invocation = persistenceHelper.createDbInvocation();
    invocation.setWho(session.getUser());
    invocation.setStartTime(loginMsg.getAnalysisTimestamp());

    Transaction tx = pm.currentTransaction();
    tx.begin();
    try {
      invocation = pm.makePersistent(invocation);
      tx.commit();
    } finally {
      if (tx.isActive()) {
        tx.rollback();
      }
    }
    return invocation;
  }