Spark Java Article BAEL-498 (#912)

* Initial Commit for Spark Java Article BAEL-498

* reverting main pom.xml and rollbacking accidental changes.

* Changes as per review:

1. Added UserService
2. Renamed UserStore to UserServiceMapImpl
3. Removed Empty spaces in User.java
4. Removed AppTest
5. Changes in SparkRestExample for using UserServiceMapImp instead of
UserStore static functions.

* Suggested changes in print messages.

* Changes as per comments on github... for PR:
https://github.com/eugenp/tutorials/pull/912

* Changes in editUser function as per guidance by Kevin.

* Clean up

* added 1.8 config for pom.xml

* Clean up.

* Removed junit dep.

* Added Application/json in response type.
This commit is contained in:
Parth Joshi
2017-01-20 07:44:30 +05:30
committed by KevinGilmore
parent 117635f955
commit ad63b55edb
10 changed files with 334 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
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);
}
}