e2dc43a24be08d08760429aebd1870d67976c05d
[so.git] / vnfm-simulator / vnf-service / src / main / java / org / onap / svnfm / simulator / services / SvnfmService.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.svnfm.simulator.services;
21
22 import java.io.IOException;
23
24 import org.apache.commons.io.IOUtils;
25 import org.onap.svnfm.simulator.notifications.VnfmAdapterCreationNotification;
26 import org.onap.vnfm.v1.model.InlineResponse201;
27 import org.springframework.stereotype.Service;
28
29 import com.fasterxml.jackson.databind.ObjectMapper;
30
31 /**
32  * This class handles the logic of VNF lifecycle
33  * 
34  * @author Lathishbabu Ganesan (lathishbabu.ganesan@est.tech)
35  *
36  */
37 @Service
38 public class SvnfmService {
39
40         /**
41          * This method read the create VNF response from the json file and return it
42          * to the VNFM Adaptor
43          * 
44          * @return
45          */
46         public InlineResponse201 createVNF() {
47                 Thread creationNodtification = new Thread(new VnfmAdapterCreationNotification());
48                 creationNodtification.start();
49                 ObjectMapper mapper = new ObjectMapper();
50                 InlineResponse201 inlineResponse201 = null;
51                 try {
52                         inlineResponse201 = mapper.readValue(
53                                         IOUtils.toString(getClass().getClassLoader().getResource("json/createVNFResponse.json")),
54                                         InlineResponse201.class);
55                 } catch (IOException e) {
56                         e.printStackTrace();
57                 }
58                 return inlineResponse201;
59         }
60 }