DefaultUserLoggedStatusStore implements UserLoggedStatusStore { @Override public synchronized void deleteUserLoggedStatus(String userId, String appId) { if(!StringUtils.isEmpty(userId) && !StringUtils.isEmpty(appId)){ UserLoggedStatus status = new UserLoggedStatus(userId, appId); this.loggedStatus.remove(status); List<UserLoggedStatus> list = this.userIdIndexMap.get(userId); if(list!=null){ list.remove(status); } } }  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 testDeleteUserLoggedStatus() { String userId= "test"; String appId = "1001"; defaultUserLoggedStatusStore.deleteUserLoggedStatus("", ""); defaultUserLoggedStatusStore.deleteUserLoggedStatus(userId, ""); defaultUserLoggedStatusStore.deleteUserLoggedStatus(userId, appId); }