##### Coverage Report - com.ctrip.apollo.biz.service.AppService

Classes in this File | Line Coverage | Branch Coverage | Complexity
AppService |
40% | 9/22
100% | 2/2
| 1.2857142857142858;1.286

1 |  |
     package com.ctrip.apollo.biz.service;
2 |  |
3 |  |
     import java.util.List;
4 |  |
     import java.util.Objects;
5 |  |
6 |  |
     import org.springframework.beans.factory.annotation.Autowired;
7 |  |
     import org.springframework.data.domain.Page;
8 |  |
     import org.springframework.data.domain.Pageable;
9 |  |
     import org.springframework.stereotype.Service;
10 |  |
     import org.springframework.transaction.annotation.Transactional;
11 |  |
12 |  |
     import com.ctrip.apollo.biz.entity.App;
13 |  |
     import com.ctrip.apollo.biz.entity.Audit;
14 |  |
     import com.ctrip.apollo.biz.repository.AppRepository;
15 |  |
     import com.ctrip.apollo.common.utils.BeanUtils;
16 |  |
     import com.ctrip.apollo.core.exception.ServiceException;
17 |  |
18 |  |
     @Service
19 | 1 |
     public class AppService {
20 |  |
21 |  |
       @Autowired
22 |  |
       private AppRepository appRepository;
23 |  |
24 |  |
       @Autowired
25 |  |
       private AuditService auditService;
26 |  |
27 |  |
       public boolean isAppIdUnique(String appId) {
28 | 5 |
         Objects.requireNonNull(appId, "AppId must not be null");
29 | 5 |
         return Objects.isNull(appRepository.findByAppId(appId));
30 |  |
       }
31 |  |
32 |  |
       @Transactional
33 |  |
       public void delete(long id, String owner) {
34 | 0 |
         appRepository.delete(id);
35 |  |
36 | 0 |
         auditService.audit(App.class.getSimpleName(), id, Audit.OP.DELETE, owner);
37 | 0 |
       }
38 |  |
39 |  |
       public List<App> findAll(Pageable pageable) {
40 | 0 |
         Page<App> page = appRepository.findAll(pageable);
41 | 0 |
         return page.getContent();
42 |  |
       }
43 |  |
44 |  |
       public List<App> findByName(String name) {
45 | 0 |
         return appRepository.findByName(name);
46 |  |
       }
47 |  |
48 |  |
       public App findOne(String appId) {
49 | 0 |
         return appRepository.findByAppId(appId);
50 |  |
       }
51 |  |
52 |  |
       @Transactional
53 |  |
       public App save(App entity) {
54 | 5 |
         if (!isAppIdUnique(entity.getAppId())) {
55 | 1 |
           throw new ServiceException("appId not unique");
56 |  |
         }
57 | 4 |
         App app = appRepository.save(entity);
58 |  |
59 | 8 |
         auditService.audit(App.class.getSimpleName(), app.getId(), Audit.OP.INSERT,
60 | 4 |
             app.getDataChangeCreatedBy());
61 |  |
62 | 4 |
         return app;
63 |  |
       }
64 |  |
65 |  |
       @Transactional
66 |  |
       public App update(App app) {
67 | 0 |
         App managedApp = appRepository.findByAppId(app.getAppId());
68 | 0 |
         BeanUtils.copyEntityProperties(app, managedApp);
69 | 0 |
         managedApp = appRepository.save(managedApp);
70 |  |
71 | 0 |
         auditService.audit(App.class.getSimpleName(), managedApp.getId(), Audit.OP.UPDATE,
72 | 0 |
             managedApp.getDataChangeLastModifiedBy());
73 |  |
74 | 0 |
         return managedApp;
75 |  |
       }
76 |  |
     }