be49587342966b6a0e2362a852b09633943014ed
[dcaegen2/services/mapper.git] / UniversalVesAdapter / src / main / java / org / onap / universalvesadapter / controller / VesController.java
1 /*
2 * ============LICENSE_START=======================================================
3 * ONAP : DCAE
4 * ================================================================================
5 * Copyright 2018 TechMahindra
6 *=================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 *     http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
19 */
20 package org.onap.universalvesadapter.controller;
21
22 import org.onap.universalvesadapter.exception.MapperConfigException;
23 import org.onap.universalvesadapter.service.VESAdapterInitializer;
24 import org.onap.universalvesadapter.service.VesService;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27 import org.springframework.beans.factory.annotation.Autowired;
28 import org.springframework.web.bind.annotation.RequestMapping;
29 import org.springframework.web.bind.annotation.RestController;
30
31
32 /**
33  * This controller will be starting point for this micro service. On triggering, it will listen to Dmaap topic for events.
34  * 
35  * @author kmalbari
36  */
37
38 @RestController
39 public class VesController {
40
41         private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
42         
43     @Autowired
44     private VesService vesService;
45     
46     @Autowired
47     private VESAdapterInitializer vESAdapterInitializer;
48     
49     /**
50      * @return message that application is started
51      */
52     @RequestMapping("/start")
53     public String start() {
54         
55         LOGGER.info("UniversalVesAdapter Application starting...");
56         
57         try {
58                         vesService.start();
59                 } catch (MapperConfigException e) {
60                         
61                         LOGGER.error("Config error:{}",e.getMessage(),e.getCause());
62                 }
63         return "Application started";
64     }
65     
66     @RequestMapping("/reload")
67     public void reloadMappingFileFromDB() {
68         LOGGER.debug("Reload of Mapping File is started");
69         vESAdapterInitializer.fetchMappingFile();
70         LOGGER.debug("Reload of Mapping File is completed");
71     }
72     
73     @RequestMapping("/healthcheck")
74     public String healthcheck() {
75         
76         LOGGER.debug("UniversalVesAdapter Application is up & running...");
77         return "UniversalVesAdapter Application is up & running...";
78     }   
79     
80     /**
81      * @return message that application stop process is triggered
82      */
83     @RequestMapping("/stop")
84     public String stop() {
85         
86         vesService.stop();
87         LOGGER.debug("UniversalVesAdapter Application is stopping...");
88         return "Application will be stopped soon";
89     }    
90 }