test_class.declarator: defaultUserLoggedStatusStore
test_class.modifier: private
test_class.original_string: private DefaultUserLoggedStatusStore defaultUserLoggedStatusStore;
test_class.type: DefaultUserLoggedStatusStore
test_class.var_name: defaultUserLoggedStatusStore
test_class.file: ki4so-core/src/test/java/com/github/ebnew/ki4so/core/authentication/status/DefaultUserLoggedStatusStoreTest.java
test_class.identifier: DefaultUserLoggedStatusStoreTest
test_case.body: @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());
  		
  	}
test_case.class_method_signature: DefaultUserLoggedStatusStoreTest.testAddUserLoggedStatus()
test_case.full_signature: @Test public void testAddUserLoggedStatus()
test_case.identifier: testAddUserLoggedStatus
test_case.invocations: addUserLoggedStatus assertEquals size getLoggedStatus assertEquals size getUserIdIndexMap addUserLoggedStatus assertEquals size getLoggedStatus assertEquals size getUserIdIndexMap addUserLoggedStatus assertEquals size getLoggedStatus assertEquals size getUserIdIndexMap addUserLoggedStatus assertEquals size getLoggedStatus assertEquals size getUserIdIndexMap assertEquals getUserId get findUserLoggedStatus
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAddUserLoggedStatus()
focal_class.declarator: loggedStatus = new HashSet<UserLoggedStatus>()
focal_class.modifier: private
focal_class.original_string: private Set<UserLoggedStatus> loggedStatus = new HashSet<UserLoggedStatus>();
focal_class.type: Set<UserLoggedStatus>
focal_class.var_name: loggedStatus
focal_class.declarator: userIdIndexMap = new HashMap<String, List<UserLoggedStatus>>()
focal_class.modifier: private
focal_class.original_string: private Map<String, List<UserLoggedStatus>> userIdIndexMap = new HashMap<String, List<UserLoggedStatus>>();
focal_class.type: Map<String, List<UserLoggedStatus>>
focal_class.var_name: userIdIndexMap
focal_class.file: ki4so-core/src/main/java/com/github/ebnew/ki4so/core/authentication/status/DefaultUserLoggedStatusStore.java
focal_class.identifier: DefaultUserLoggedStatusStore
focal_class.interfaces: implements UserLoggedStatusStore
focal_class.class_method_signature: DefaultUserLoggedStatusStore.getLoggedStatus()
focal_class.full_signature: public Set<UserLoggedStatus> getLoggedStatus()
focal_class.identifier: getLoggedStatus
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Set<UserLoggedStatus>
focal_class.signature: Set<UserLoggedStatus> getLoggedStatus()
focal_class.class_method_signature: DefaultUserLoggedStatusStore.getUserIdIndexMap()
focal_class.full_signature: public Map<String, List<UserLoggedStatus>> getUserIdIndexMap()
focal_class.identifier: getUserIdIndexMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, List<UserLoggedStatus>>
focal_class.signature: Map<String, List<UserLoggedStatus>> getUserIdIndexMap()
focal_class.class_method_signature: DefaultUserLoggedStatusStore.addUserLoggedStatus(UserLoggedStatus userLoggedStatus)
focal_class.full_signature: @Override public synchronized void addUserLoggedStatus(UserLoggedStatus userLoggedStatus)
focal_class.identifier: addUserLoggedStatus
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (UserLoggedStatus userLoggedStatus)
focal_class.return: void
focal_class.signature: void addUserLoggedStatus(UserLoggedStatus userLoggedStatus)
focal_class.class_method_signature: DefaultUserLoggedStatusStore.deleteUserLoggedStatus(String userId, String appId)
focal_class.full_signature: @Override public synchronized void deleteUserLoggedStatus(String userId, String appId)
focal_class.identifier: deleteUserLoggedStatus
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String userId, String appId)
focal_class.return: void
focal_class.signature: void deleteUserLoggedStatus(String userId, String appId)
focal_class.class_method_signature: DefaultUserLoggedStatusStore.clearUpUserLoggedStatus(String userId)
focal_class.full_signature: @Override public synchronized void clearUpUserLoggedStatus(String userId)
focal_class.identifier: clearUpUserLoggedStatus
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String userId)
focal_class.return: void
focal_class.signature: void clearUpUserLoggedStatus(String userId)
focal_class.class_method_signature: DefaultUserLoggedStatusStore.findUserLoggedStatus(String userId)
focal_class.full_signature: @Override public List<UserLoggedStatus> findUserLoggedStatus(String userId)
focal_class.identifier: findUserLoggedStatus
focal_class.modifiers: @Override public
focal_class.parameters: (String userId)
focal_class.return: List<UserLoggedStatus>
focal_class.signature: List<UserLoggedStatus> findUserLoggedStatus(String userId)
focal_method.body: @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);
  		}
  	}
focal_method.class_method_signature: DefaultUserLoggedStatusStore.addUserLoggedStatus(UserLoggedStatus userLoggedStatus)
focal_method.full_signature: @Override public synchronized void addUserLoggedStatus(UserLoggedStatus userLoggedStatus)
focal_method.identifier: addUserLoggedStatus
focal_method.invocations: isEmpty getAppId isEmpty getUserId getLoggedDate setLoggedDate add get getUserId put getUserId add
focal_method.modifiers: @Override public synchronized
focal_method.parameters: (UserLoggedStatus userLoggedStatus)
focal_method.return: void
focal_method.signature: void addUserLoggedStatus(UserLoggedStatus userLoggedStatus)