DefaultUserLoggedStatusStore implements UserLoggedStatusStore { @Override public synchronized void addUserLoggedStatus(UserLoggedStatus userLoggedStatus) { if(userLoggedStatus!=null && !StringUtils.isEmpty(userLoggedStatus.getAppId()) && !StringUtils.isEmpty(userLoggedStatus.getUserId()) ){ if(userLoggedStatus.getLoggedDate()==null){ userLoggedStatus.setLoggedDate(new Date()); } this.loggedStatus.add(userLoggedStatus); List<UserLoggedStatus> list = this.userIdIndexMap.get(userLoggedStatus.getUserId()); if(list==null){ list = new ArrayList<UserLoggedStatus>(); this.userIdIndexMap.put(userLoggedStatus.getUserId(), list); } list.add(userLoggedStatus); } }  Set<UserLoggedStatus> getLoggedStatus(); Map<String, List<UserLoggedStatus>> getUserIdIndexMap(); @Override synchronized void addUserLoggedStatus(UserLoggedStatus userLoggedStatus); @Override synchronized void deleteUserLoggedStatus(String userId, String appId); @Override synchronized void clearUpUserLoggedStatus(String userId); @Override List<UserLoggedStatus> findUserLoggedStatus(String userId);  }
@Test public void testAddUserLoggedStatus() { defaultUserLoggedStatusStore.addUserLoggedStatus(null); Assert.assertEquals(0, defaultUserLoggedStatusStore.getLoggedStatus().size()); Assert.assertEquals(0, defaultUserLoggedStatusStore.getUserIdIndexMap().size()); String userId= "test"; UserLoggedStatus userLoggedStatus = new UserLoggedStatus(userId, ""); defaultUserLoggedStatusStore.addUserLoggedStatus(userLoggedStatus); Assert.assertEquals(0, defaultUserLoggedStatusStore.getLoggedStatus().size()); Assert.assertEquals(0, defaultUserLoggedStatusStore.getUserIdIndexMap().size()); userLoggedStatus = new UserLoggedStatus("", ""); defaultUserLoggedStatusStore.addUserLoggedStatus(userLoggedStatus); Assert.assertEquals(0, defaultUserLoggedStatusStore.getLoggedStatus().size()); Assert.assertEquals(0, defaultUserLoggedStatusStore.getUserIdIndexMap().size()); String appId = "1001"; userLoggedStatus = new UserLoggedStatus(userId, appId); defaultUserLoggedStatusStore.addUserLoggedStatus(userLoggedStatus); Assert.assertEquals(1, defaultUserLoggedStatusStore.getLoggedStatus().size()); Assert.assertEquals(1, defaultUserLoggedStatusStore.getUserIdIndexMap().size()); Assert.assertEquals(userId, defaultUserLoggedStatusStore.findUserLoggedStatus(userId).get(0).getUserId()); }