Skip to content

Instantly share code, notes, and snippets.

@kasramp
Created June 9, 2020 11:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kasramp/cb258889ab310069a76b4d51a5f4dfca to your computer and use it in GitHub Desktop.
Save kasramp/cb258889ab310069a76b4d51a5f4dfca to your computer and use it in GitHub Desktop.
package com.madadipouya.quarkus.example.service.impl;
import com.madadipouya.quarkus.example.entity.User;
import com.madadipouya.quarkus.example.exception.UserNotFoundException;
import com.madadipouya.quarkus.example.repository.UserRepository;
import com.madadipouya.quarkus.example.service.UserService;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
import java.util.List;
@ApplicationScoped
public class DefaultUserService implements UserService {
private final UserRepository userRepository;
@Inject
public DefaultUserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
@Override
public User getUserById(long id) throws UserNotFoundException {
return userRepository.findByIdOptional(id).orElseThrow(() -> new UserNotFoundException("There user doesn't exist"));
}
@Override
public List<User> getAllUsers() {
return userRepository.listAll();
}
@Transactional
@Override
public User updateUser(long id, User user) throws UserNotFoundException {
User existingUser = getUserById(id);
existingUser.setFirstName(user.getFirstName());
existingUser.setLastName(user.getLastName());
existingUser.setAge(user.getAge());
userRepository.persist(existingUser);
return existingUser;
}
@Transactional
@Override
public User saveUser(User user) {
userRepository.persistAndFlush(user);
return user;
}
@Transactional
@Override
public void deleteUser(long id) throws UserNotFoundException {
userRepository.delete(getUserById(id));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment