69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package com.baeldung.sparkjava;
 | 
						|
 | 
						|
import java.util.Collection;
 | 
						|
import java.util.HashMap;
 | 
						|
 | 
						|
public class UserServiceMapImpl implements UserService {
 | 
						|
    private HashMap<String, User> userMap;
 | 
						|
 | 
						|
    public UserServiceMapImpl() {
 | 
						|
        userMap = new HashMap<>();
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void addUser(User user) {
 | 
						|
        userMap.put(user.getId(), user);
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public Collection<User> getUsers() {
 | 
						|
        return userMap.values();
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public User getUser(String id) {
 | 
						|
        return userMap.get(id);
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public User editUser(User forEdit) throws UserException {
 | 
						|
        try {
 | 
						|
            if (forEdit.getId() == null)
 | 
						|
                throw new UserException("ID cannot be blank");
 | 
						|
 | 
						|
            User toEdit = userMap.get(forEdit.getId());
 | 
						|
 | 
						|
            if (toEdit == null)
 | 
						|
                throw new UserException("User not found");
 | 
						|
 | 
						|
            if (forEdit.getEmail() != null) {
 | 
						|
                toEdit.setEmail(forEdit.getEmail());
 | 
						|
            }
 | 
						|
            if (forEdit.getFirstName() != null) {
 | 
						|
                toEdit.setFirstName(forEdit.getFirstName());
 | 
						|
            }
 | 
						|
            if (forEdit.getLastName() != null) {
 | 
						|
                toEdit.setLastName(forEdit.getLastName());
 | 
						|
            }
 | 
						|
            if (forEdit.getId() != null) {
 | 
						|
                toEdit.setId(forEdit.getId());
 | 
						|
            }
 | 
						|
 | 
						|
            return toEdit;
 | 
						|
        } catch (Exception ex) {
 | 
						|
            throw new UserException(ex.getMessage());
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void deleteUser(String id) {
 | 
						|
        userMap.remove(id);
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public boolean userExist(String id) {
 | 
						|
        return userMap.containsKey(id);
 | 
						|
    }
 | 
						|
 | 
						|
}
 |