1 package net.sumaris.server.http.rest;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import net.sumaris.core.service.technical.SoftwareService;
27 import net.sumaris.core.vo.technical.SoftwareVO;
28 import net.sumaris.server.config.SumarisServerConfiguration;
29 import net.sumaris.server.vo.node.NodeSummaryVO;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32 import org.springframework.beans.factory.annotation.Autowired;
33 import org.springframework.http.MediaType;
34 import org.springframework.web.bind.annotation.*;
35
36 @RestController
37 public class NodeInfoRestController {
38
39
40 private static final Logger log = LoggerFactory.getLogger(NodeInfoRestController.class);
41
42 @Autowired
43 private SumarisServerConfiguration config;
44
45 @Autowired
46 private SoftwareService softwareService;
47
48 @ResponseBody
49 @RequestMapping(value = RestPaths.NODE_INFO_PATH, method = RequestMethod.GET,
50 produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
51 public NodeSummaryVO getNodeSummary() {
52 NodeSummaryVOummaryVO.html#NodeSummaryVO">NodeSummaryVO result = new NodeSummaryVO();
53
54
55 result.setSoftwareName("sumaris-pod");
56 result.setSoftwareVersion(config.getVersionAsString());
57
58
59 SoftwareVO software = softwareService.getDefault();
60 if (software != null) {
61 result.setNodeLabel(software.getLabel());
62 result.setNodeName(software.getName());
63 }
64
65 return result;
66 }
67 }