##### Coverage Report - com.ctrip.apollo.adminservice.controller.AppNamespaceController

Classes in this File | Line Coverage | Branch Coverage | Complexity
AppNamespaceController |
6% | 1/15
0% | 0/2
| 1.3333333333333333;1.333

1 |  |
     package com.ctrip.apollo.adminservice.controller;
2 |  |
3 |  |
     import org.springframework.beans.factory.annotation.Autowired;
4 |  |
     import org.springframework.security.core.userdetails.UserDetails;
5 |  |
     import org.springframework.web.bind.annotation.PathVariable;
6 |  |
     import org.springframework.web.bind.annotation.RequestBody;
7 |  |
     import org.springframework.web.bind.annotation.RequestMapping;
8 |  |
     import org.springframework.web.bind.annotation.RequestMethod;
9 |  |
     import org.springframework.web.bind.annotation.RestController;
10 |  |
11 |  |
     import com.ctrip.apollo.biz.entity.AppNamespace;
12 |  |
     import com.ctrip.apollo.biz.service.AppNamespaceService;
13 |  |
     import com.ctrip.apollo.common.auth.ActiveUser;
14 |  |
     import com.ctrip.apollo.common.utils.BeanUtils;
15 |  |
     import com.ctrip.apollo.core.dto.AppNamespaceDTO;
16 |  |
17 |  |
     import java.util.List;
18 |  |
19 |  |
     @RestController
20 | 1 |
     public class AppNamespaceController {
21 |  |
22 |  |
       @Autowired
23 |  |
       private AppNamespaceService appNamespaceService;
24 |  |
25 |  |
       @RequestMapping("/apps/{appId}/appnamespace/{appnamespace}/unique")
26 |  |
       public boolean isAppNamespaceUnique(@PathVariable("appId") String appId,
27 |  |
           @PathVariable("appnamespace") String appnamespace) {
28 | 0 |
         return appNamespaceService.isAppNamespaceNameUnique(appId, appnamespace);
29 |  |
       }
30 |  |
31 |  |
       @RequestMapping("/appnamespaces/public")
32 |  |
       public List<AppNamespaceDTO> findPublicAppNamespaces(){
33 | 0 |
         List<AppNamespace> appNamespaces = appNamespaceService.findPublicAppNamespaces();
34 | 0 |
         return BeanUtils.batchTransform(AppNamespaceDTO.class, appNamespaces);
35 |  |
       }
36 |  |
37 |  |
       @RequestMapping(value = "/apps/{appId}/appnamespaces", method = RequestMethod.POST)
38 |  |
       public AppNamespaceDTO createOrUpdate( @RequestBody AppNamespaceDTO appNamespace, @ActiveUser UserDetails user){
39 |  |
40 | 0 |
         AppNamespace entity = BeanUtils.transfrom(AppNamespace.class, appNamespace);
41 | 0 |
         AppNamespace managedEntity = appNamespaceService.findOne(entity.getAppId(), entity.getName());
42 |  |
43 | 0 |
         String userName = user.getUsername();
44 | 0 |
         if (managedEntity != null){
45 | 0 |
           managedEntity.setDataChangeLastModifiedBy(userName);
46 | 0 |
           BeanUtils.copyEntityProperties(entity, managedEntity);
47 | 0 |
           entity = appNamespaceService.update(managedEntity);
48 |  |
         }else {
49 | 0 |
           entity.setDataChangeLastModifiedBy(userName);
50 | 0 |
           entity.setDataChangeCreatedBy(userName);
51 | 0 |
           entity = appNamespaceService.createAppNamespace(entity, userName);
52 |  |
         }
53 |  |
54 | 0 |
         return BeanUtils.transfrom(AppNamespaceDTO.class, entity);
55 |  |
56 |  |
       }
57 |  |
58 |  |
     }