View Javadoc
1   package pk.lucidxpo.ynami.service.sample;
2   
3   import org.springframework.beans.factory.annotation.Autowired;
4   import org.springframework.stereotype.Service;
5   import pk.lucidxpo.ynami.persistence.dao.sample.SampleRepository;
6   import pk.lucidxpo.ynami.persistence.model.sample.Sample;
7   
8   import java.util.List;
9   import java.util.Map;
10  import java.util.Optional;
11  
12  import static java.lang.Boolean.valueOf;
13  
14  @Service
15  public class SampleServiceImpl implements SampleService {
16      private final SampleRepository sampleRepository;
17  
18      @Autowired
19      public SampleServiceImpl(final SampleRepository sampleRepository) {
20          this.sampleRepository = sampleRepository;
21      }
22  
23      @Override
24      public List<Sample> getAll() {
25          return sampleRepository.findAll();
26      }
27  
28      @Override
29      public Optional<Sample> findById(String id) {
30          return sampleRepository.findById(id);
31      }
32  
33      @Override
34      public boolean existsByFirstName(String firstName) {
35          return sampleRepository.existsByFirstName(firstName);
36      }
37  
38      @Override
39      public Sample create(Sample sample) {
40          return sampleRepository.save(sample);
41      }
42  
43      @Override
44      public Sample update(Sample sample) {
45          return sampleRepository.save(sample);
46      }
47  
48      @Override
49      public void delete(String id) {
50          sampleRepository.deleteById(id);
51      }
52  
53      @Override
54      public Sample updateStatus(String id, Map<String, Object> updates) {
55          final Optional<Sample> sample = findById(id);
56  
57          //potential NullPointerException
58          sample.get().setActive(valueOf((String) updates.get("active")));
59  
60          return sampleRepository.save(sample.get());
61      }
62  }