2 * Copyright 2016-2017 ZTE Corporation.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.onap.usecaseui.server.service.lcm.impl;
18 import static org.onap.usecaseui.server.service.lcm.domain.sdc.consts.SDCConsts.CATEGORY_NS;
19 import static org.onap.usecaseui.server.service.lcm.domain.sdc.consts.SDCConsts.DISTRIBUTION_STATUS_DISTRIBUTED;
20 import static org.onap.usecaseui.server.service.lcm.domain.sdc.consts.SDCConsts.RESOURCETYPE_VF;
22 import static org.onap.usecaseui.server.util.RestfulServices.create;
23 import static org.onap.usecaseui.server.util.RestfulServices.extractBody;
25 import java.io.IOException;
26 import java.util.ArrayList;
27 import java.util.Collections;
28 import java.util.List;
30 import javax.annotation.Resource;
31 import javax.servlet.http.HttpServletRequest;
33 import org.onap.usecaseui.server.bean.ServiceBean;
34 import org.onap.usecaseui.server.bean.lcm.VfNsPackageInfo;
35 import org.onap.usecaseui.server.constant.CommonConstant;
36 import org.onap.usecaseui.server.service.lcm.PackageDistributionService;
37 import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
38 import org.onap.usecaseui.server.service.lcm.domain.aai.bean.nsServiceRsp;
39 import org.onap.usecaseui.server.service.lcm.domain.sdc.SDCCatalogService;
40 import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.SDCServiceTemplate;
41 import org.onap.usecaseui.server.service.lcm.domain.sdc.bean.Vnf;
42 import org.onap.usecaseui.server.service.lcm.domain.vfc.VfcService;
43 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Csar;
44 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.DistributionResult;
45 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Job;
46 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.JobStatus;
47 import org.onap.usecaseui.server.service.lcm.domain.vfc.exceptions.VfcException;
48 import org.slf4j.Logger;
49 import org.slf4j.LoggerFactory;
50 import org.springframework.context.annotation.EnableAspectJAutoProxy;
51 import org.springframework.stereotype.Service;
53 import com.alibaba.fastjson.JSON;
54 import com.alibaba.fastjson.JSONObject;
56 import okhttp3.RequestBody;
57 import okhttp3.ResponseBody;
58 import retrofit2.Response;
60 @Service("PackageDistributionService")
61 @org.springframework.context.annotation.Configuration
62 @EnableAspectJAutoProxy
63 public class DefaultPackageDistributionService implements PackageDistributionService {
65 private static final Logger logger = LoggerFactory.getLogger(DefaultPackageDistributionService.class);
67 private SDCCatalogService sdcCatalogService;
69 private VfcService vfcService;
71 @Resource(name="ServiceLcmService")
72 private ServiceLcmService serviceLcmService;
74 public DefaultPackageDistributionService() {
75 this(create(SDCCatalogService.class), create(VfcService.class));
78 public DefaultPackageDistributionService(SDCCatalogService sdcCatalogService, VfcService vfcService) {
79 this.sdcCatalogService = sdcCatalogService;
80 this.vfcService = vfcService;
83 public void setServiceLcmService(ServiceLcmService serviceLcmService) {
84 this.serviceLcmService = serviceLcmService;
88 public VfNsPackageInfo retrievePackageInfo() {
89 List<SDCServiceTemplate> nsTemplate = sdcNsPackageInfo();
90 List<Vnf> vnf = sdcVfPackageInfo();
91 return new VfNsPackageInfo(nsTemplate, vnf);
95 public List<Vnf> sdcVfPackageInfo() {
97 Response<List<Vnf>> response = sdcCatalogService.listResources(RESOURCETYPE_VF).execute();
98 if (response.isSuccessful()) {
99 return response.body();
101 logger.info(String.format("Can not get VF resources[code=%s, message=%s]", response.code(), response.message()));
102 return Collections.emptyList();
104 } catch (IOException e) {
105 logger.error("sdcVfPackageInfo occur exception.Details:"+e.getMessage());
111 public List<SDCServiceTemplate> sdcNsPackageInfo() {
113 Response<List<SDCServiceTemplate>> response = sdcCatalogService.listServices(CATEGORY_NS, DISTRIBUTION_STATUS_DISTRIBUTED).execute();
114 if (response.isSuccessful()) {
115 return response.body();
117 logger.info(String.format("Can not get NS services[code=%s, message=%s]", response.code(), response.message()));
118 return Collections.emptyList();
120 } catch (IOException e) {
121 logger.error("sdcNsPackageInfo occur exception.Details:"+e.getMessage());
127 public DistributionResult postNsPackage(Csar csar) {
129 Response<DistributionResult> response = vfcService.distributeNsPackage(csar).execute();
130 if (response.isSuccessful()) {
131 return response.body();
133 logger.info(String.format("Can not post NS packages[code=%s, message=%s]", response.code(), response.message()));
134 throw new VfcException("VFC service is not available!");
136 } catch (IOException e) {
137 throw new VfcException("VFC service is not available!", e);
142 public Job postVfPackage(Csar csar) {
144 Response<Job> response = vfcService.distributeVnfPackage(csar).execute();
145 if (response.isSuccessful()) {
146 return response.body();
148 logger.info(String.format("Can not get VF packages[code=%s, message=%s]", response.code(), response.message()));
149 throw new VfcException("VFC service is not available!");
151 } catch (IOException e) {
152 throw new VfcException("VFC service is not available!", e);
157 public JobStatus getJobStatus(String jobId, String responseId) {
159 Response<JobStatus> response = vfcService.getJobStatus(jobId, responseId).execute();
160 if (response.isSuccessful()) {
161 return response.body();
163 logger.info(String.format("Can not get Job status[code=%s, message=%s]", response.code(), response.message()));
164 throw new VfcException("VFC service is not available!");
166 } catch (IOException e) {
167 throw new VfcException("VFC service is not available!", e);
172 public JobStatus getNsLcmJobStatus(String serviceInstanceId,String jobId, String responseId,String operationType) { try {
173 Response<JobStatus> response = vfcService.getNsLcmJobStatus(jobId, responseId).execute();
174 if (response.isSuccessful()) {
175 return response.body();
177 logger.info(String.format("Can not get Job status[code=%s, message=%s]", response.code(), response.message()));
178 throw new VfcException("VFC service getNsLcmJobStatus is not available!");
180 } catch (IOException e) {
181 throw new VfcException("VFC service getNsLcmJobStatus is not available!", e);
185 public DistributionResult deleteNsPackage(String csarId) {
187 Response<DistributionResult> response = vfcService.deleteNsPackage(csarId).execute();
188 if (response.isSuccessful()) {
189 return response.body();
191 logger.info(String.format("Can not delete NS packages[code=%s, message=%s]", response.code(), response.message()));
192 throw new VfcException("VFC service is not available!");
194 } catch (IOException e) {
195 throw new VfcException("VFC service is not available!", e);
200 public Job deleteVfPackage(String csarId) {
202 Response<Job> response = vfcService.deleteVnfPackage(csarId).execute();
203 if (response.isSuccessful()) {
204 return response.body();
206 logger.info(String.format("Can not delete VF packages[code=%s, message=%s]", response.code(), response.message()));
207 throw new VfcException("VFC service is not available!");
209 } catch (IOException e) {
210 throw new VfcException("VFC service is not available!", e);
215 public String getVnfPackages() {
218 logger.info("vfc getVnfPackages is starting!");
219 Response<ResponseBody> response = this.vfcService.getVnfPackages().execute();
220 logger.info("vfc getVnfPackages has finished!");
221 if (response.isSuccessful()) {
222 result=new String(response.body().bytes());
224 logger.info(String.format("Can not get getVnfPackages[code=%s, message=%s]", response.code(), response.message()));
225 result= CommonConstant.CONSTANT_FAILED;;
227 } catch (IOException e) {
228 logger.error("getVnfPackages occur exception:"+e);
229 result= CommonConstant.CONSTANT_FAILED;;
235 public String getNetworkServicePackages() {
239 logger.info("vfc getNetworkServicePackages is starting!");
240 Response<ResponseBody> response = this.vfcService.getNetworkServicePackages().execute();
241 logger.info("vfc getNetworkServicePackages has finished!");
242 if (response.isSuccessful()) {
243 result=new String(response.body().bytes());
245 logger.info(String.format("Can not get getNetworkServicePackages[code=%s, message=%s]", response.code(), response.message()));
246 result= CommonConstant.CONSTANT_FAILED;;
248 } catch (IOException e) {
249 logger.error("getNetworkServicePackages occur exception:"+e);
250 result= CommonConstant.CONSTANT_FAILED;;
257 public String getPnfPackages() {
261 logger.info("vfc getPnfPackages is starting!");
262 Response<ResponseBody> response = this.vfcService.getPnfPackages().execute();
263 logger.info("vfc getPnfPackages has finished!");
264 if (response.isSuccessful()) {
265 result=new String(response.body().bytes());
267 logger.info(String.format("Can not get getPnfPackages[code=%s, message=%s]", response.code(), response.message()));
268 result= CommonConstant.CONSTANT_FAILED;;
270 } catch (IOException e) {
271 logger.error("getPnfPackages occur exception:"+e);
272 result= CommonConstant.CONSTANT_FAILED;;
279 public String downLoadNsPackage(String nsdInfoId) {
283 logger.info("vfc downLoadNsPackage is starting!");
284 Response<ResponseBody> response = this.vfcService.downLoadNsPackage(nsdInfoId).execute();
285 logger.info("vfc downLoadNsPackage has finished!");
286 if (response.isSuccessful()) {
287 result= CommonConstant.CONSTANT_SUCCESS;
289 logger.info(String.format("Can not get downLoadNsPackage[code=%s, message=%s]", response.code(), response.message()));
290 result= CommonConstant.CONSTANT_FAILED;;
292 } catch (IOException e) {
293 logger.error("downLoadNsPackage occur exception:"+e);
294 result= CommonConstant.CONSTANT_FAILED;;
301 public String downLoadPnfPackage(String pnfdInfoId) {
305 logger.info("vfc downLoadPnfPackage is starting!");
306 Response<ResponseBody> response = this.vfcService.downLoadNsPackage(pnfdInfoId).execute();
307 logger.info("vfc downLoadPnfPackage has finished!");
308 if (response.isSuccessful()) {
309 result= CommonConstant.CONSTANT_SUCCESS;
311 logger.info(String.format("Can not get downLoadPnfPackage[code=%s, message=%s]", response.code(), response.message()));
312 result= CommonConstant.CONSTANT_FAILED;;
314 } catch (IOException e) {
315 logger.error("downLoadPnfPackage occur exception:"+e);
316 result= CommonConstant.CONSTANT_FAILED;;
323 public String downLoadVnfPackage(String vnfPkgId) {
327 logger.info("vfc downLoadVnfPackage is starting!");
328 Response<ResponseBody> response = this.vfcService.downLoadNsPackage(vnfPkgId).execute();
329 logger.info("vfc downLoadVnfPackage has finished!");
330 if (response.isSuccessful()) {
331 result= CommonConstant.CONSTANT_SUCCESS;
333 logger.info(String.format("Can not get downLoadVnfPackage[code=%s, message=%s]", response.code(), response.message()));
334 result= CommonConstant.CONSTANT_FAILED;;
336 } catch (IOException e) {
337 logger.error("downLoadVnfPackage occur exception:"+e);
338 result= CommonConstant.CONSTANT_FAILED;;
345 public String deleteNsdPackage(String nsdInfoId) {
346 Response<ResponseBody> response=null;
349 logger.info("vfc deleteNsdPackage is starting!");
350 response = this.vfcService.deleteNsdPackage(nsdInfoId).execute();
351 logger.info("vfc deleteNsdPackage has finished!");
352 if (response.isSuccessful()) {
353 result= CommonConstant.CONSTANT_SUCCESS;
355 logger.info(String.format("Can not get deleteNsdPackage[code=%s, message=%s]", response.code(), response.message()));
356 result= CommonConstant.CONSTANT_FAILED;;
358 } catch (IOException e) {
359 if(e.getMessage().contains("204")){
360 return CommonConstant.CONSTANT_SUCCESS;
362 logger.error("deleteNsdPackage occur exception:"+e);
363 result= CommonConstant.CONSTANT_FAILED;;
370 public String deleteVnfPackage(String vnfPkgId) {
371 Response<ResponseBody> response=null;
374 logger.info("vfc deleteVnfPackage is starting!");
375 response = this.vfcService.deleteVnfdPackage(vnfPkgId).execute();
376 logger.info("vfc deleteVnfPackage has finished!");
377 if (response.isSuccessful()) {
378 result= CommonConstant.CONSTANT_SUCCESS;
380 logger.info(String.format("Can not get deleteNsdPackage[code=%s, message=%s]", response.code(), response.message()));
381 result= CommonConstant.CONSTANT_FAILED;;
383 } catch (IOException e) {
384 if(e.getMessage().contains("204")){
385 return CommonConstant.CONSTANT_SUCCESS;
387 logger.error("deleteVnfPackage occur exception:"+e);
388 result= CommonConstant.CONSTANT_FAILED;;
395 public String deletePnfPackage(String pnfdInfoId) {
396 Response<ResponseBody> response=null;
399 logger.info("vfc deletePnfPackage is starting!");
400 response = this.vfcService.deletePnfdPackage(pnfdInfoId).execute();
401 logger.info("vfc deletePnfPackage has finished!");
402 if (response.isSuccessful()) {
403 result= CommonConstant.CONSTANT_SUCCESS;
405 logger.info(String.format("Can not get deletePnfPackage[code=%s, message=%s]", response.code(), response.message()));
406 result= CommonConstant.CONSTANT_FAILED;;
408 } catch (IOException e) {
409 if(e.getMessage().contains("204")){
410 return CommonConstant.CONSTANT_SUCCESS;
412 logger.error("deletePnfPackage occur exception:"+e);
413 result= CommonConstant.CONSTANT_FAILED;;
420 public List<String> getNetworkServiceInfo() {
421 List<String> result = new ArrayList<>();
423 logger.info("vfc getNetworkServiceInfo is starting!");
424 Response<nsServiceRsp> response = this.vfcService.getNetworkServiceInfo().execute();
425 logger.info("vfc getNetworkServiceInfo has finished!");
426 if (response.isSuccessful()) {
427 List<String> nsServices = response.body().nsServices;
428 if(nsServices.size()>0){
429 for(String nsService:nsServices){
430 JSONObject object = JSON.parseObject(nsService);
431 String serviceInstanceId=object.get("nsInstanceId").toString();
432 ServiceBean serviceBean = serviceLcmService.getServiceBeanByServiceInStanceId(serviceInstanceId);
433 object.put("serviceDomain",serviceBean.getServiceDomain());
434 object.put("childServiceInstances","[]");
435 result.add(object.toString());
440 logger.info(String.format("Can not get getNetworkServiceInfo[code=%s, message=%s]", response.code(), response.message()));
441 return Collections.emptyList();
443 } catch (IOException e) {
444 logger.error("getNetworkServiceInfo occur exception:"+e);
445 return Collections.emptyList();
451 public String createNetworkServiceInstance(HttpServletRequest request) {
454 logger.info("aai createNetworkServiceInstance is starting");
455 RequestBody requestBody = extractBody(request);
456 Response<ResponseBody> response = vfcService.createNetworkServiceInstance(requestBody).execute();
457 logger.info("aai createNetworkServiceInstance has finished");
458 if (response.isSuccessful()) {
459 result=new String(response.body().bytes());
461 result= CommonConstant.CONSTANT_FAILED;
462 logger.error(String.format("Can not createNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
464 } catch (Exception e) {
465 result= CommonConstant.CONSTANT_FAILED;
466 logger.error("createNetworkServiceInstance occur exception:"+e);
472 public String deleteNetworkServiceInstance(String nsInstanceId) {
473 Response response = null;
476 logger.info("vfc deleteNetworkServiceInstance is starting!");
477 response = this.vfcService.deleteNetworkServiceInstance(nsInstanceId).execute();
478 logger.info("vfc deleteNetworkServiceInstance has finished!");
479 if (response.isSuccessful()) {
480 result= CommonConstant.CONSTANT_SUCCESS;
482 logger.info(String.format("Can not get deleteNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
483 result= CommonConstant.CONSTANT_FAILED;;
485 } catch (IOException e) {
486 if(e.getMessage().contains("204")){
487 return CommonConstant.CONSTANT_SUCCESS;
489 logger.error("deleteNetworkServiceInstance occur exception:"+e);
490 result= CommonConstant.CONSTANT_FAILED;
497 public String terminateNetworkServiceInstance(HttpServletRequest request,String networkServiceInstanceId) {
500 logger.info("aai terminateNetworkServiceInstance is starting");
501 RequestBody requestBody = extractBody(request);
502 Response<ResponseBody> response = vfcService.terminateNetworkServiceInstance(networkServiceInstanceId,requestBody).execute();
503 logger.info("aai terminateNetworkServiceInstance has finished");
504 if (response.isSuccessful()) {
505 result=new String(response.body().bytes());
507 result= CommonConstant.CONSTANT_FAILED;
508 logger.error(String.format("Can not terminateNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
510 } catch (Exception e) {
511 result= CommonConstant.CONSTANT_FAILED;
512 logger.error("terminateNetworkServiceInstance occur exception:"+e);
518 public String healNetworkServiceInstance(HttpServletRequest request,String networkServiceInstanceId) {
521 logger.info("aai healNetworkServiceInstance is starting");
522 RequestBody requestBody = extractBody(request);
523 Response<ResponseBody> response = vfcService.healNetworkServiceInstance(networkServiceInstanceId,requestBody).execute();
524 logger.info("aai healNetworkServiceInstance has finished");
525 if (response.isSuccessful()) {
526 result=new String(response.body().bytes());
528 result= CommonConstant.CONSTANT_FAILED;
529 logger.error(String.format("Can not healNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
531 } catch (Exception e) {
532 result= CommonConstant.CONSTANT_FAILED;
533 logger.error("healNetworkServiceInstance occur exception:"+e);
539 public String scaleNetworkServiceInstance(HttpServletRequest request,String networkServiceInstanceId) {
542 logger.info("aai scaleNetworkServiceInstance is starting");
543 RequestBody requestBody = extractBody(request);
544 Response<ResponseBody> response = vfcService.scaleNetworkServiceInstance(networkServiceInstanceId,requestBody).execute();
545 logger.info("aai scaleNetworkServiceInstance has finished");
546 if (response.isSuccessful()) {
547 result=new String(response.body().bytes());
549 result= CommonConstant.CONSTANT_FAILED;
550 logger.error(String.format("Can not scaleNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
552 } catch (Exception e) {
553 result= CommonConstant.CONSTANT_FAILED;
554 logger.error("scaleNetworkServiceInstance occur exception:"+e);
560 public String createNetworkServiceData(HttpServletRequest request) {
563 logger.info("aai createNetworkServiceData is starting");
564 RequestBody requestBody = extractBody(request);
565 Response<ResponseBody> response = vfcService.createNetworkServiceData(requestBody).execute();
566 logger.info("aai createNetworkServiceData has finished");
567 if (response.isSuccessful()) {
568 result=new String(response.body().bytes());
570 result= CommonConstant.CONSTANT_FAILED;
571 logger.error(String.format("Can not createNetworkServiceData[code=%s, message=%s]", response.code(), response.message()));
573 } catch (Exception e) {
574 result= CommonConstant.CONSTANT_FAILED;
575 logger.error("createNetworkServiceData occur exception:"+e);
581 public String createVnfData(HttpServletRequest request) {
584 logger.info("aai createVnfData is starting");
585 RequestBody requestBody = extractBody(request);
586 Response<ResponseBody> response = vfcService.createVnfData(requestBody).execute();
587 logger.info("aai createVnfData has finished");
588 if (response.isSuccessful()) {
589 result=new String(response.body().bytes());
591 result= CommonConstant.CONSTANT_FAILED;
592 logger.error(String.format("Can not createVnfData[code=%s, message=%s]", response.code(), response.message()));
594 } catch (Exception e) {
595 result= CommonConstant.CONSTANT_FAILED;
596 logger.error("createVnfData occur exception:"+e);
602 public String createPnfData(HttpServletRequest request) {
605 logger.info("aai createPnfData is starting");
606 RequestBody requestBody = extractBody(request);
607 Response<ResponseBody> response = vfcService.createPnfData(requestBody).execute();
608 logger.info("aai createPnfData has finished");
609 if (response.isSuccessful()) {
610 result=new String(response.body().bytes());
612 result= CommonConstant.CONSTANT_FAILED;
613 logger.error(String.format("Can not createPnfData[code=%s, message=%s]", response.code(), response.message()));
615 } catch (Exception e) {
616 result= CommonConstant.CONSTANT_FAILED;
617 logger.error("createPnfData occur exception:"+e);
623 public String getNsdInfo(String nsdInfoId) {
627 logger.info("vfc getNsdInfo is starting!");
628 Response<ResponseBody> response = this.vfcService.getNsdInfo(nsdInfoId).execute();
629 logger.info("vfc getNsdInfo has finished!");
630 if (response.isSuccessful()) {
631 result= CommonConstant.CONSTANT_SUCCESS;
633 logger.info(String.format("Can not get getNsdInfo[code=%s, message=%s]", response.code(), response.message()));
634 result= CommonConstant.CONSTANT_FAILED;;
636 } catch (IOException e) {
637 logger.error("getNsdInfo occur exception:"+e);
638 result= CommonConstant.CONSTANT_FAILED;;
645 public String getVnfInfo(String vnfPkgId) {
649 logger.info("vfc getVnfInfo is starting!");
650 Response<ResponseBody> response = this.vfcService.getVnfInfo(vnfPkgId).execute();
651 logger.info("vfc getVnfInfo has finished!");
652 if (response.isSuccessful()) {
653 result= CommonConstant.CONSTANT_SUCCESS;
655 logger.info(String.format("Can not get getVnfInfo[code=%s, message=%s]", response.code(), response.message()));
656 result= CommonConstant.CONSTANT_FAILED;;
658 } catch (IOException e) {
659 logger.error("getVnfInfo occur exception:"+e);
660 result= CommonConstant.CONSTANT_FAILED;;
667 public String getPnfInfo(String pnfdInfoId) {
671 logger.info("vfc getPnfInfo is starting!");
672 Response<ResponseBody> response = this.vfcService.getPnfInfo(pnfdInfoId).execute();
673 logger.info("vfc getPnfInfo has finished!");
674 if (response.isSuccessful()) {
675 result= CommonConstant.CONSTANT_SUCCESS;
677 logger.info(String.format("Can not get getPnfInfo[code=%s, message=%s]", response.code(), response.message()));
678 result= CommonConstant.CONSTANT_FAILED;;
680 } catch (IOException e) {
681 logger.error("getPnfInfo occur exception:"+e);
682 result= CommonConstant.CONSTANT_FAILED;;
689 public String listNsTemplates() {
693 logger.info("vfc listNsTemplates is starting!");
694 Response<ResponseBody> response = this.vfcService.listNsTemplates().execute();
695 logger.info("vfc listNsTemplates has finished!");
696 if (response.isSuccessful()) {
697 result=new String(response.body().bytes());
699 logger.info(String.format("Can not get listNsTemplates[code=%s, message=%s]", response.code(), response.message()));
700 result= CommonConstant.CONSTANT_FAILED;;
702 } catch (IOException e) {
703 logger.error("listNsTemplates occur exception:"+e);
704 result= CommonConstant.CONSTANT_FAILED;;
711 public String fetchNsTemplateData(HttpServletRequest request) {
714 logger.info("aai fetchNsTemplateData is starting");
715 RequestBody requestBody = extractBody(request);
716 Response<ResponseBody> response = vfcService.fetchNsTemplateData(requestBody).execute();
717 logger.info("aai fetchNsTemplateData has finished");
718 if (response.isSuccessful()) {
719 result=new String(response.body().bytes());
721 result= CommonConstant.CONSTANT_FAILED;
722 logger.error(String.format("Can not fetchNsTemplateData[code=%s, message=%s]", response.code(), response.message()));
724 } catch (Exception e) {
725 result= CommonConstant.CONSTANT_FAILED;
726 logger.error("fetchNsTemplateData occur exception:"+e);
732 public JSONObject fetchCCVPNTemplateData(HttpServletRequest request, String csarId) {
733 JSONObject result = new JSONObject();
735 RequestBody requestBody = extractBody(request);
736 // search template from vfc catalog
737 Response<ResponseBody> getResponse = this.vfcService.servicePackages(csarId).execute();
739 if (getResponse.isSuccessful()) {
740 // call vfc template parser
741 logger.info("calling ccvpn template file parser is starting");
742 Response<ResponseBody> response = vfcService.fetchTemplateInfo(requestBody).execute();
743 logger.info("calling ccvpn template file parser has finished");
744 if (response.isSuccessful()) {
745 result.put("status", CommonConstant.CONSTANT_SUCCESS);
746 result.put("result", JSONObject.parseObject(new String(response.body().bytes())));
748 result.put("status", CommonConstant.CONSTANT_FAILED);
749 result.put("error", String.format("Can not parse ccvpn template file. Detail Info [code=%s, message=%s]", response.code(), response.message()));
750 logger.error(String.format("Can not parse ccvpn template file. Detail Info [code=%s, message=%s]", response.code(), response.message()));
753 // distribute template files to vfc catalog
754 Response<ResponseBody> postResponse = this.vfcService.servicePackages(requestBody).execute();
755 if (postResponse.isSuccessful()) {
756 // call vfc template parser
757 logger.info("calling ccvpn template file parser is starting");
758 Response<ResponseBody> response = vfcService.fetchTemplateInfo(requestBody).execute();
759 logger.info("calling ccvpn template file parser has finished");
760 if (response.isSuccessful()) {
761 result.put("status", CommonConstant.CONSTANT_SUCCESS);
762 result.put("result",JSONObject.parseObject(new String(response.body().bytes())));
764 result.put("status", CommonConstant.CONSTANT_FAILED);
765 result.put("error",String.format("Can not parse ccvpn template file. Detail Info [code=%s, message=%s]", response.code(), response.message()));
766 logger.error(String.format("Can not parse ccvpn template file. Detail Info [code=%s, message=%s]", response.code(), response.message()));
769 result.put("status", CommonConstant.CONSTANT_FAILED);
770 result.put("error",String.format("Can not distribute ccvpn template file. Detail Info [code=%s, message=%s]", postResponse.code(), postResponse.message()));
771 logger.error(String.format("Can not distribute ccvpn template file. Detail Info [code=%s, message=%s]", postResponse.code(), postResponse.message()));
774 } catch (Exception e) {
775 result.put("status", CommonConstant.CONSTANT_FAILED);
776 result.put("errorMessage", "calling ccvpn template parser happened exception:"+e);
782 public String instantiateNetworkServiceInstance(HttpServletRequest request, String serviceInstanceId) {
785 logger.info("aai instantiateNetworkServiceInstance is starting");
786 RequestBody requestBody = extractBody(request);
787 Response<ResponseBody> response = vfcService.instantiateNetworkServiceInstance(requestBody,serviceInstanceId).execute();
788 logger.info("aai instantiateNetworkServiceInstance has finished");
789 if (response.isSuccessful()) {
790 result=new String(response.body().bytes());
792 result= CommonConstant.CONSTANT_FAILED;
793 logger.error(String.format("Can not instantiateNetworkServiceInstance[code=%s, message=%s]", response.code(), response.message()));
795 } catch (Exception e) {
796 result= CommonConstant.CONSTANT_FAILED;
797 logger.error("instantiateNetworkServiceInstance occur exception:"+e);
803 public String getVnfInfoById(String vnfinstid) {
807 logger.info("vfc getVnfInfoById is starting!");
808 Response<ResponseBody> response = this.vfcService.getVnfInfoById(vnfinstid).execute();
809 logger.info("vfc getVnfInfoById has finished!");
810 if (response.isSuccessful()) {
811 result=new String(response.body().bytes());
813 logger.info(String.format("Can not get getVnfInfoById[code=%s, message=%s]", response.code(), response.message()));
814 result= CommonConstant.CONSTANT_FAILED;;
816 } catch (IOException e) {
817 logger.error("getVnfInfoById occur exception:"+e);
818 result= CommonConstant.CONSTANT_FAILED;;