SampleServiceImpl.java

  1. package pk.lucidxpo.ynami.service.sample;

  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;
  4. import pk.lucidxpo.ynami.persistence.dao.sample.SampleRepository;
  5. import pk.lucidxpo.ynami.persistence.model.sample.Sample;

  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Optional;

  9. import static java.lang.Boolean.valueOf;

  10. @Service
  11. public class SampleServiceImpl implements SampleService {
  12.     private final SampleRepository sampleRepository;

  13.     @Autowired
  14.     public SampleServiceImpl(final SampleRepository sampleRepository) {
  15.         this.sampleRepository = sampleRepository;
  16.     }

  17.     @Override
  18.     public List<Sample> getAll() {
  19.         return sampleRepository.findAll();
  20.     }

  21.     @Override
  22.     public Optional<Sample> findById(String id) {
  23.         return sampleRepository.findById(id);
  24.     }

  25.     @Override
  26.     public boolean existsByFirstName(String firstName) {
  27.         return sampleRepository.existsByFirstName(firstName);
  28.     }

  29.     @Override
  30.     public Sample create(Sample sample) {
  31.         return sampleRepository.save(sample);
  32.     }

  33.     @Override
  34.     public Sample update(Sample sample) {
  35.         return sampleRepository.save(sample);
  36.     }

  37.     @Override
  38.     public void delete(String id) {
  39.         sampleRepository.deleteById(id);
  40.     }

  41.     @Override
  42.     public Sample updateStatus(String id, Map<String, Object> updates) {
  43.         final Optional<Sample> sample = findById(id);

  44.         //potential NullPointerException
  45.         sample.get().setActive(valueOf((String) updates.get("active")));

  46.         return sampleRepository.save(sample.get());
  47.     }
  48. }