Coverage Report - com.ctrip.apollo.adminservice.controller.ItemController
 
Classes in this File Line Coverage Branch Coverage Complexity
ItemController
17%
3/17
0%
0/4
1.8
 
 1  
 package com.ctrip.apollo.adminservice.controller;
 2  
 
 3  
 import java.util.List;
 4  
 
 5  
 import org.springframework.beans.factory.annotation.Autowired;
 6  
 import org.springframework.http.HttpStatus;
 7  
 import org.springframework.http.ResponseEntity;
 8  
 import org.springframework.web.bind.annotation.PathVariable;
 9  
 import org.springframework.web.bind.annotation.RequestBody;
 10  
 import org.springframework.web.bind.annotation.RequestMapping;
 11  
 import org.springframework.web.bind.annotation.RequestMethod;
 12  
 import org.springframework.web.bind.annotation.RestController;
 13  
 
 14  
 import com.ctrip.apollo.biz.entity.Item;
 15  
 import com.ctrip.apollo.biz.service.ItemService;
 16  
 import com.ctrip.apollo.biz.service.ViewService;
 17  
 import com.ctrip.apollo.common.utils.BeanUtils;
 18  
 import com.ctrip.apollo.core.dto.ItemDTO;
 19  
 import com.ctrip.apollo.core.exception.NotFoundException;
 20  
 
 21  
 @RestController
 22  1
 public class ItemController {
 23  
 
 24  
   @Autowired
 25  
   private ViewService viewService;
 26  
 
 27  
   @Autowired
 28  
   private ItemService itemService;
 29  
 
 30  
   @RequestMapping(path = "/items/", method = RequestMethod.POST)
 31  
   public ResponseEntity<ItemDTO> create(@RequestBody ItemDTO dto) {
 32  0
     Item entity = BeanUtils.transfrom(Item.class, dto);
 33  0
     entity = itemService.save(entity);
 34  0
     dto = BeanUtils.transfrom(ItemDTO.class, entity);
 35  0
     return ResponseEntity.status(HttpStatus.CREATED).body(dto);
 36  
   }
 37  
 
 38  
   @RequestMapping(path = "/items/{itemId}", method = RequestMethod.DELETE)
 39  
   public void delete(@PathVariable("itemId") long itemId) {
 40  0
     Item entity = itemService.findOne(itemId);
 41  0
     if (entity == null) throw new NotFoundException("item not found for itemId " + itemId);
 42  0
     itemService.delete(entity.getId());
 43  0
   }
 44  
 
 45  
   @RequestMapping("/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items")
 46  
   public List<ItemDTO> findItems(@PathVariable("appId") String appId,
 47  
       @PathVariable("clusterName") String clusterName,
 48  
       @PathVariable("namespaceName") String namespaceName) {
 49  3
     List<Item> items = viewService.findItems(appId, clusterName, namespaceName);
 50  3
     return BeanUtils.batchTransform(ItemDTO.class, items);
 51  
   }
 52  
 
 53  
   @RequestMapping("/items/{itemId}")
 54  
   public ItemDTO get(@PathVariable("itemId") long itemId) {
 55  0
     Item item = itemService.findOne(itemId);
 56  0
     return BeanUtils.transfrom(ItemDTO.class, item);
 57  
   }
 58  
 
 59  
   @RequestMapping(path = "/item/{itemId}", method = RequestMethod.PUT)
 60  
   public ItemDTO update(@PathVariable("itemId") long itemId, @RequestBody ItemDTO dto) {
 61  0
     Item entity = itemService.findOne(itemId);
 62  0
     if (entity == null) throw new NotFoundException("item not found for itemId " + itemId);
 63  0
     entity = itemService.update(BeanUtils.transfrom(Item.class, dto));
 64  0
     return BeanUtils.transfrom(ItemDTO.class, entity);
 65  
   }
 66  
 }