@Test
 public void testDelete1() {
   User user = userManager.get(1);
   Assert.assertNotNull(user);
   userManager.remove(1);
   sessionFactory.getCurrentSession().flush();
   user = userManager.get(1);
   Assert.assertNull(user);
 }
 @Test
 public void testUpdate() {
   User user = userManager.get(1);
   Assert.assertNotNull(user);
   Assert.assertEquals(new Integer(0), user.getLoginOk());
   Assert.assertEquals(new Integer(0), user.getLoginKo());
   user.incrementLoginOk();
   userManager.update(user, true);
   sessionFactory.getCurrentSession().flush();
   user = userManager.get(1);
   Assert.assertEquals(new Integer(1), user.getLoginOk());
   Assert.assertEquals(new Integer(0), user.getLoginKo());
 }
 @Test
 public void testSave() {
   User user =
       UserBuilder.userBuilder(1)
           .username("test")
           .email("*****@*****.**")
           .password("test")
           .build();
   user = userManager.get(userManager.save(user, true));
   Assert.assertNotNull(user);
   Assert.assertNotNull(user.getUsername());
   Assert.assertEquals(new Integer(0), user.getUserLoginStatistic().getLoginOk());
   Assert.assertNotNull(user.getRoles());
   Assert.assertTrue(user.getRoles().size() > 0);
 }
  protected Object addOwnerToken(final Object folderList) {
    String userId = SecurityUtils.getSubject().getPrincipal().toString();
    String accessToken = getBearerAccessTokenManager().getByUser(userId).getId();
    try {
      String encryptedToken = encrypt(userId + ":" + accessToken);

      if (folderList instanceof List) {
        List list = (List) folderList;
        for (Object folder : list) {
          if (folder instanceof Map) {
            ((Map) folder).put(TOKEN, encryptedToken);
            String owner = ((Map<String, String>) folder).get(OWNER);
            if (!StringUtils.isEmpty(owner)) {
              owner = mUserManager.get(owner).getName();
            }
            ((Map<String, String>) folder).put(OWNER, owner);
          }
        }
      }
    } catch (Exception e) {
      return error(mMessageResource.getMessage("folder.listing.failed"));
    }
    return folderList;
  }
 @Override
 public String get(int id) {
   this.checkSecurity();
   return um.get(id);
 }
 @Test
 public void testGet() {
   User user = userManager.get(1);
   Assert.assertNotNull(user);
   Assert.assertNotNull(user.getUsername());
 }
  /**
   * Displays a given Meeting page for a HTTP Get, or creates a new Meeting for a HTTP Post
   *
   * <p>- Requires a cookie for the session user - Requires a meetingId request parameter for a GET
   * - Requires description, createdByUserId, datepicker, meetingTime, groupId request parameters
   * for a POST
   *
   * @param req The HTTP Request
   * @param res The HTTP Response
   */
  public void meetingAction(HttpServletRequest req, HttpServletResponse res) {
    // Ensure there is a cookie for the session user
    if (AccountController.redirectIfNoCookie(req, res)) return;

    Map<String, Object> viewData = new HashMap<String, Object>();
    viewData.put("title", "Meeting");

    // Initialise Manager connections
    MeetingManager meetingMan = new MeetingManager();
    GroupManager groupMan = new GroupManager();

    if (req.getMethod() == HttpMethod.Get) {
      // Get request parameter
      int meetingId = Integer.parseInt(req.getParameter("meetingId"));
      Meeting meeting = meetingMan.get(meetingId);

      if (meeting != null) {

        List<User> meetingUsers = groupMan.getGroupUsers(meeting.getGroupId());
        viewData.put("meetingUsers", meetingUsers);
        viewData.put("meeting", meeting);
        view(req, res, "/views/group/Meeting.jsp", viewData);

      } else {
        httpNotFound(req, res);
      }
    } else if (req.getMethod() == HttpMethod.Post) {

      // Get details from request
      String description = req.getParameter("description");
      int createdByUserId = Integer.parseInt(req.getParameter("createdByUserId"));
      Date dateCreated = new Date();

      String meetingDate = req.getParameter("datepicker");
      String meetingTime = req.getParameter("meetingTime");

      // Parse meeting date time details
      DateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm");
      Date dateDue = new Date();
      try {
        dateDue = format.parse(meetingDate + " " + meetingTime);
      } catch (ParseException e) {
        // Unable to parse date. This shouldn't happen since we are
        // performing javascript validation.
      }

      int groupId = Integer.parseInt(req.getParameter("groupId"));

      // Create a Meeting
      Meeting meeting = new Meeting();
      meeting.setDescription(description);
      meeting.setCreatedByUserId(createdByUserId);
      meeting.setDateCreated(dateCreated);
      meeting.setDateDue(dateDue);
      meeting.setGroupId(groupId);

      meetingMan.createMeeting(meeting);
      int meetingId = meetingMan.getIdFor(meeting);
      meeting.setId(meetingId);

      UserManager userMan = new UserManager();
      User createdByUser = userMan.get(createdByUserId);

      // Create a notification for all users in group
      NotificationManager notificationMan = new NotificationManager();
      List<User> users = groupMan.getGroupUsers(groupId);

      for (User u : users) {
        Notification notification =
            new Notification(
                u.getId(),
                u,
                groupId,
                null,
                "Meeting " + description + " was created by " + createdByUser.getFullName(),
                "/group/meeting?meetingId=" + meetingId);
        notificationMan.createNotification(notification);
      }

      // Update the User Session to show new meeting
      HttpSession session = req.getSession();
      Session userSession = (Session) session.getAttribute("userSession");
      User admin = userSession.getUser();
      admin.getMeetings().add(meeting);

      // Show meeting page
      viewData.put("meetingUsers", users);
      viewData.put("meeting", meeting);
      view(req, res, "/views/group/Meeting.jsp", viewData);
    }
  }