aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/main/java/org/onap/usecaseui/server/controller/lcm/SotnServiceLcmController.java
blob: 951af1841940eb4f29e32c1797837b1826f6e03a (plain)
1
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/**
 * Copyright 2020 Huawei Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
package org.onap.usecaseui.server.controller.lcm;


import org.onap.usecaseui.server.service.lcm.SotnServiceTemplateService;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;

@Controller
@CrossOrigin(origins = "*")
@org.springframework.context.annotation.Configuration
@EnableAspectJAutoProxy
public class SotnServiceLcmController {
    private static final Logger logger = LoggerFactory.getLogger(SotnServiceLcmController.class);

    @Resource(name = "SotnLcmService")
    private SotnServiceTemplateService sotnServiceTemplateService;
    private DeleteOperationRsp deleteOperationRsp;


    public void setServiceLcmService(SotnServiceTemplateService sotnServiceTemplateService) {
        this.sotnServiceTemplateService = sotnServiceTemplateService;
    }

    @ResponseBody
    @GetMapping(
            value = {"/uui-lcm/Sotnservices/servicesubscription/{subscriptionType}/serviceinstance/{instanceid}"},
            produces = "application/json")
    public String getSotnService(@PathVariable("subscriptionType") String subscriptionType,
            @PathVariable("instanceid") String instanceid) {
        logger.info("Get Service called");
        return sotnServiceTemplateService.getService(subscriptionType, instanceid);
    }

    @ResponseBody
    @DeleteMapping(
            value = {"/uui-lcm/Sotnservices/servicesubscription/{subscriptionType}/serviceinstance/{instanceid}"},
            produces = "application/json")
    public DeleteOperationRsp getDeleteSotnService(@PathVariable("subscriptionType") String subscriptionType,
            @PathVariable("instanceid") String instanceid) throws Exception {
        logger.info("Delete Service called");
        DeleteOperationRsp deleteOperationRsp = sotnServiceTemplateService.deleteService(subscriptionType, instanceid);
        return deleteOperationRsp;
    }

    @ResponseBody
    @PostMapping(value = {"/uui-lcm/Sotnservices_unni"}, produces = "application/json")
    public ServiceOperation instantiateService_sotnunni(HttpServletRequest request,
            @RequestBody HashMap<String, Object> serviceData) {
        logger.info("Create Service called");
        ServiceOperation serviceOperation = sotnServiceTemplateService.instantiate_CCVPN_Service(serviceData);
        return serviceOperation;
    }

    @ResponseBody
    @GetMapping(value = {
            "/uui-lcm/Sotnservices/topology/service/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{serviceInstanceId}"},
            produces = "application/json")
    public String getSiteInformationTopology(@PathVariable("service-type") String servicetype,
            @PathVariable("serviceInstanceId") String serviceInstanceId) throws Exception {
        logger.info("Site topology called.");
        return sotnServiceTemplateService.getSOTNSiteInformationTopology(servicetype, serviceInstanceId);
    }

    @ResponseBody
    @GetMapping(value = {
            "/uui-lcm/Sotnservices/resourceTopology/service/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{serviceInstanceId}"},
            produces = "application/json")
    public String getResourceInformationTopology(@PathVariable("service-type") String servicetype,
            @PathVariable("serviceInstanceId") String serviceInstanceId) throws Exception {
        logger.info("Resource topology called.");
        return sotnServiceTemplateService.getSOTNResourceInformationTopology(servicetype, serviceInstanceId);
    }

    @ResponseBody
    @GetMapping(value = {
            "/uui-lcm/Sotnservices/serviceTopology/service/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{serviceInstanceId}"},
            produces = "application/json")
    public String getServiceInformationTopology(@PathVariable("service-type") String servicetype,
            @PathVariable("serviceInstanceId") String serviceInstanceId) throws Exception {
        logger.info("Service topology called.");
        return sotnServiceTemplateService.getServiceInformationTopology(servicetype, serviceInstanceId);
    }

    @ResponseBody
    @GetMapping(value = {
            "/uui-lcm/Sotnservices/vpnbindingTopology/service/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{serviceInstanceId}/vpn-informations/vpn-information/{vpinId}"},
             produces = "application/json")
    public String getVpnInformationTopology(@PathVariable("service-type") String servicetype,
            @PathVariable("serviceInstanceId") String serviceInstanceId, @PathVariable("vpinId") String vpinId)
            throws Exception {
        logger.info("Vpn Binding topology called.");
        return sotnServiceTemplateService.getVPNBindingInformationTopology(servicetype, serviceInstanceId, vpinId);
    }

    @ResponseBody
    @GetMapping(value = {"/uui-lcm/Sotnservices/serviceStatus/service-instance/{instanceid}"}, produces = "application/json")
    public String getSotnServicestatus(@PathVariable("instanceid") String instanceid) {
        logger.info("service status called.");
        return sotnServiceTemplateService.getSOTNInstantiationstatus(instanceid);
    }
}