Update db process part
[vfc/nfvo/driver/vnfm/svnfm.git] / nokia / vnfmdriver / vfcadaptorservice / vfcadaptor / src / main / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / adaptor / Driver2CbamRequestConverter.java
1 /*
2  * Copyright 2016-2017, Nokia Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor;
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfRequest;
23 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfRequest;
24 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMInstantiateVnfRequest;
25 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMScaleVnfRequest;
26 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfRequest;
27 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.EndpointInfo;
28 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.ExtVirtualLinkData;
29 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenStackAccessInfoV2;
30 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenStackAccessInfoV3;
31 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenstackV2Info;
32 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OpenstackV3Info;
33 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.OtherVimInfo;
34 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VCloudAccessInfo;
35 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VimInfo;
36 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VimInfoType;
37 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VmwareVcloudInfo;
38 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VnfExtCpData;
39 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
40 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse;
41 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.GrantInfo;
42 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.VimComputeResourceFlavour;
43 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfRequest;
44 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfRequest;
45 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.ScaleVnfRequest;
46 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfRequest;
47 import org.springframework.stereotype.Component;
48
49 @Component
50 public class Driver2CbamRequestConverter {
51         
52         public CBAMCreateVnfRequest createReqConvert(InstantiateVnfRequest driverRequest) {
53                 CBAMCreateVnfRequest request = new CBAMCreateVnfRequest();
54
55                 request.setVnfdId(driverRequest.getVnfDescriptorId());
56                 request.setName(driverRequest.getVnfInstanceName());
57                 request.setDescription(driverRequest.getVnfInstanceDescription());
58                 return request;
59         }
60
61         public CBAMInstantiateVnfRequest InstantiateReqConvert(InstantiateVnfRequest driverRequest,
62                         NslcmGrantVnfResponse nslc, GrantInfo grant, VimComputeResourceFlavour vimco) {
63                 CBAMInstantiateVnfRequest request = new CBAMInstantiateVnfRequest();
64                 
65                 List<VimInfo> vims = new ArrayList<VimInfo>();
66                 VimInfo vim = new VimInfo();
67                 EndpointInfo inter = new EndpointInfo();
68                 List<ExtVirtualLinkData> list = new ArrayList<ExtVirtualLinkData>();
69                 ExtVirtualLinkData ext = new ExtVirtualLinkData();
70                 List<VnfExtCpData> cps = new ArrayList<VnfExtCpData>();
71                 VnfExtCpData cp = new VnfExtCpData();
72                 OpenStackAccessInfoV3 v3 = new OpenStackAccessInfoV3();
73                 OpenStackAccessInfoV2 v2 = new OpenStackAccessInfoV2();
74                 VCloudAccessInfo vcloudInfo = new VCloudAccessInfo();
75                 if(vim.getVimInfoType().equals(VimInfoType.OPENSTACK_V2_INFO)) {
76                         OpenstackV2Info openstackV2=new OpenstackV2Info();
77                         List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData>  link=driverRequest.getExtVirtualLink();
78                         for(int i=0;i<link.size();i++) {
79                                 vim.setId(link.get(i).getVim().getVimId());
80                                 inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
81                                 openstackV2.setId(link.get(i).getVim().getVimId());
82                                 openstackV2.setInterfaceInfo(inter);
83                                 
84                                 ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
85                                 
86                                 cp.setCpdId(link.get(i).getCpdId());
87                                 cps.add(cp);
88                                 ext.setExtCps(cps);
89                                 
90                                 List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
91                                 for(int j=0;j<=accessInfo.size();j++) {
92                                 v2.setUsername(accessInfo.get(j).getUsername());
93                                 v2.setPassword(accessInfo.get(j).getPassword());
94                                 v2.setTenant(accessInfo.get(j).getTenant());
95                                 //todo region
96                                 }
97                                 openstackV2.setAccessInfo(v2);
98                                 vims.add(vim);
99                                 list.add(ext);
100                                 }
101                 }else if(vim.getVimInfoType().equals(VimInfoType.OPENSTACK_V3_INFO)) {
102                         OpenstackV3Info openstackV3=new OpenstackV3Info();
103                         List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData>  link=driverRequest.getExtVirtualLink();
104                         for(int i=0;i<link.size();i++) {
105                                 vim.setId(link.get(i).getVim().getVimId());
106                                 inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
107                                 openstackV3.setId(link.get(i).getVim().getVimId());
108                                 openstackV3.setInterfaceInfo(inter);
109                                 
110                 ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
111                                 
112                                 cp.setCpdId(link.get(i).getCpdId());
113                                 cps.add(cp);
114                                 ext.setExtCps(cps);
115                                         
116                                 List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
117                                 for(int j=0;j<=accessInfo.size();j++) {
118                                 v3.setUsername(accessInfo.get(j).getUsername());
119                                 v3.setPassword(accessInfo.get(j).getPassword());
120                                 //todo region project domain
121                                 }
122                                 openstackV3.setAccessInfo(v3);
123                                 vims.add(vim);
124                                 list.add(ext);
125                                 }
126                                 
127                 }else if(vim.getVimInfoType().equals(VimInfoType.OTHER_VIM_INFO)) {
128                         OtherVimInfo other=new OtherVimInfo();
129                         List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData>  link=driverRequest.getExtVirtualLink();
130                         for(int i=0;i<link.size();i++) {
131                                 vim.setId(link.get(i).getVim().getVimId());
132                                 inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
133                                 other.setId(link.get(i).getVim().getVimId());
134                                 
135                 ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
136                                 
137                                 cp.setCpdId(link.get(i).getCpdId());
138                                 cps.add(cp);
139                                 ext.setExtCps(cps);
140                                 vims.add(vim);
141                                 list.add(ext);
142                                 }
143                         
144                 }else if(vim.getVimInfoType().equals(VimInfoType.VMWARE_VCLOUD_INFO)) {
145                         VmwareVcloudInfo vcloud=new VmwareVcloudInfo();
146                         List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.ExtVirtualLinkData>  link=driverRequest.getExtVirtualLink();
147                         for(int i=0;i<link.size();i++) {
148                                 vim.setId(link.get(i).getVim().getVimId());
149                                 inter.setEndpoint(link.get(i).getVim().getInterfaceEndpoint());
150                                 vcloud.setId(link.get(i).getVim().getVimId());
151                                 vcloud.setInterfaceInfo(inter);
152                                 
153                 ext.setResourceId(link.get(i).getNetworkId());// todo resourceId
154                                 
155                                 cp.setCpdId(link.get(i).getCpdId());
156                                 cps.add(cp);
157                                 ext.setExtCps(cps);
158                                 
159                                 
160                                 List<org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.entity.AccessInfo> accessInfo=link.get(i).getVim().getAccessInfo();
161                                 for(int j=0;j<=accessInfo.size();j++) {
162                                 vcloudInfo.setUsername(accessInfo.get(j).getUsername());
163                                 vcloudInfo.setPassword(accessInfo.get(j).getPassword());
164                                 }
165                                 vcloud.setAccessInfo(vcloudInfo);
166                                 vims.add(vim);
167                                 list.add(ext);
168                                 }
169                                 
170                 }
171                 request.setFlavourId(driverRequest.getFlavourId());
172                 request.setVims(vims);
173                 request.setExtVirtualLinks(list);
174                 return request;
175         }
176
177         public CBAMTerminateVnfRequest terminateReqConvert(TerminateVnfRequest driverRequest) {
178                 CBAMTerminateVnfRequest request = new CBAMTerminateVnfRequest();
179                 request.setTerminationType(driverRequest.getTerminationType());
180                 request.setGracefulTerminationTimeout(driverRequest.getGracefulTerminationTimeout());
181                 return request;
182         }
183
184         public CBAMHealVnfRequest healReqConvert(HealVnfRequest driverRequest) {
185                 CBAMHealVnfRequest request = new CBAMHealVnfRequest();
186                 request.setCause("");
187                 request.setAdditionalParams("");
188                 return request;
189         }
190
191         public CBAMScaleVnfRequest scaleReqconvert(ScaleVnfRequest driverRequest) {
192                 CBAMScaleVnfRequest request = new CBAMScaleVnfRequest();
193                 if (driverRequest.getType().equals("SCALE_OUT")) {
194                         request.setType(CommonEnum.ScaleDirection.OUT);
195                 } else {
196                         request.setType(CommonEnum.ScaleDirection.IN);
197                 }
198                 request.setAspectId(driverRequest.getAspectId());
199                 request.setNumberOfSteps(driverRequest.getNumberOfSteps());
200                 request.setAdditionalParams(driverRequest.getAdditionalParam());
201                 return request;
202         }
203
204 }