class 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);
		}
	}

}