diff options
Diffstat (limited to 'nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org')
10 files changed, 192 insertions, 134 deletions
diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java index 6034b55b..9f39c18b 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Cbam2DriverResponseConverter.java @@ -15,6 +15,7 @@ */ package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMHealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse; @@ -28,6 +29,7 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum; import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.ScaleType; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfmJobExecutionMapper; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.OperStatusVnfResponse; @@ -155,11 +157,11 @@ public class Cbam2DriverResponseConverter { if (OperationType.INSTANTIATE == oper.getOperationType()) { double instantiateProgress = (nowTime - jobInfo.getOperateStartTime()) - / (double)(adaptorEnv.getInstantiateTimeInterval()); + / adaptorEnv.getInstantiateTimeInterval(); initialProgress = (int) (instantiateProgress + initialProgress); } else if (OperationType.TERMINATE == oper.getOperationType()) { double terminateProgress = (nowTime - jobInfo.getOperateStartTime()) - / (double)(adaptorEnv.getTerminateTimeInterval()); + / adaptorEnv.getTerminateTimeInterval(); initialProgress = (int) (terminateProgress + initialProgress); } else { initialProgress = 0; @@ -172,4 +174,16 @@ public class Cbam2DriverResponseConverter { this.adaptorEnv = adaptorEnv; } + public CreateSubscriptionResponse queryRspConvert(CBAMCreateSubscriptionResponse cbamResponse) { + CreateSubscriptionResponse response = new CreateSubscriptionResponse(); + + response.set_links(cbamResponse.get_links()); + response.setId(cbamResponse.getId()); + response.setCallbackUri(cbamResponse.getCallbackUrl()); + response.setCallbackUrl(cbamResponse.getCallbackUrl()); + response.setFilter(cbamResponse.getFilter()); + + return response; + } + } diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java index 8c60cc67..39b3f7cf 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/Driver2CbamRequestConverter.java @@ -54,11 +54,11 @@ public class Driver2CbamRequestConverter { } public CBAMInstantiateVnfRequest instantiateRequestConvert(InstantiateVnfRequest driverRequest, - NslcmGrantVnfResponse nslc, GrantInfo grant, VimComputeResourceFlavour vimco) throws IOException{ - Gson gson = new Gson(); + NslcmGrantVnfResponse nslc, GrantInfo grant, VimComputeResourceFlavour vimco) throws Exception { + Gson gson = new Gson(); String inputJson = readcbamInputInfoFromJsonFile(); CBAMInstantiateVnfRequest request = gson.fromJson(inputJson, CBAMInstantiateVnfRequest.class); - + return request; } @@ -96,5 +96,41 @@ public class Driver2CbamRequestConverter { request.setAdditionalParams(driverRequest.getAdditionalParam()); return request; } - + +// public static void main(String[] argv) throws IOException { +// Gson gson = new Gson(); +// String filePath = "D:\\cbam_input.json"; +// String inputJson = readcbamInputInfo(filePath); +// CBAMInstantiateVnfRequest request = gson.fromJson(inputJson, CBAMInstantiateVnfRequest.class); +// System.out.println(gson.toJson(request)); +// } +// +// public static String readcbamInputInfo(String filePath) throws IOException { +// InputStream ins = null; +// BufferedInputStream bins = null; +// String fileContent = ""; +// String fileName = filePath; +// +// try { +// ins = new FileInputStream(fileName); +// bins = new BufferedInputStream(ins); +// +// byte[] contentByte = new byte[ins.available()]; +// int num = bins.read(contentByte); +// +// if(num > 0) { +// fileContent = new String(contentByte); +// } +// } catch(FileNotFoundException e) { +// e.printStackTrace();; +// } finally { +// if(ins != null) { +// ins.close(); +// } +// if(bins != null) { +// bins.close(); +// } +// } +// return fileContent; +// } } diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java index 251c4638..69d36efe 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/adaptor/VnfmDriverMgmrImpl.java @@ -24,6 +24,7 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.aai.bo.AaiVnfmInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.aai.bo.entity.EsrSystemInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.aai.inf.AaiMgmrInf; import org.onap.vfc.nfvo.driver.vnfm.svnfm.catalog.inf.CatalogMgmrInf; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse; @@ -37,8 +38,11 @@ import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.ScaleType; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfcResourceInfoMapper; import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfmJobExecutionMapper; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfmSubscriptionsMapper; import org.onap.vfc.nfvo.driver.vnfm.svnfm.exception.VnfmDriverException; import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.inf.NslcmMgmrInf; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionRequest; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfRequest; @@ -85,6 +89,9 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf { @Autowired private VnfcResourceInfoMapper vnfcDbMgmr; + + @Autowired + private VnfmSubscriptionsMapper subscriptionsMapper; @Autowired AdaptorEnv adaptorEnv; @@ -345,4 +352,19 @@ public class VnfmDriverMgmrImpl implements VnfmDriverMgmrInf { this.responseConverter = responseConverter; } + @Override + public CreateSubscriptionResponse createSubscription(CreateSubscriptionRequest request) throws VnfmDriverException { + CreateSubscriptionResponse driverResponse; + try { + CBAMCreateSubscriptionResponse cbamResponse = cbamMgmr.createSubscription(request); + driverResponse = responseConverter.queryRspConvert(cbamResponse); + subscriptionsMapper.insert(cbamResponse.getId()); + } catch (Exception e) { + logger.error("error VnfmDriverMgmrImpl --> createSubscripiton. ", e); + throw new VnfmDriverException(HttpStatus.SC_INTERNAL_SERVER_ERROR, CommonConstants.HTTP_ERROR_DESC_500); + } + + return driverResponse; + } + } diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMCreateSubscriptionRequest.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMCreateSubscriptionRequest.java index 29085c14..e0069771 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMCreateSubscriptionRequest.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMCreateSubscriptionRequest.java @@ -28,7 +28,7 @@ public class CBAMCreateSubscriptionRequest { @JsonProperty("callbackUrl") private String callbackUrl; - @JsonProperty("description") + @JsonProperty("authentication") private SubscriptionAuthentication authentication; public SubscriptionFilter getFilter() { diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/impl/CbamMgmrImpl.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/impl/CbamMgmrImpl.java index 4211dee3..3f3ae57b 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/impl/CbamMgmrImpl.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/impl/CbamMgmrImpl.java @@ -474,15 +474,17 @@ public class CbamMgmrImpl implements CbamMgmrInf { logger.info("CbamMgmrImpl -> createSubscription, requestStr is " + gson.toJson(subscriptionRequest)); HttpResult httpResult = operateCbamHttpTask(subscriptionRequest, httpPath, method); String responseStr = httpResult.getContent(); + + CBAMCreateSubscriptionResponse response = null; logger.info("CbamMgmrImpl -> createSubscription, responseStr is " + responseStr); int code = httpResult.getStatusCode(); if (code == 201) { logger.info("CbamMgmrImpl -> createSubscription success "); + response = gson.fromJson(responseStr, CBAMCreateSubscriptionResponse.class); } else { logger.error("CbamMgmrImpl -> createSubscription error , statusCode = " + code); } - CBAMCreateSubscriptionResponse response = gson.fromJson(responseStr, CBAMCreateSubscriptionResponse.class); return response; } @@ -527,7 +529,4 @@ public class CbamMgmrImpl implements CbamMgmrInf { return response; } - - - } diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/init/CbamNofiticationSubscription.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/init/CbamNofiticationSubscription.java deleted file mode 100644 index 32cb2fa0..00000000 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/init/CbamNofiticationSubscription.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2016-2017, Nokia 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.vfc.nfvo.driver.vnfm.svnfm.init; - -import java.io.IOException; -import java.util.List; - -import org.apache.http.client.ClientProtocolException; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateSubscriptionRequest; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateSubscriptionResponse; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.Subscription; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.common.bo.AdaptorEnv; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmSubscriptionInfo; -import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfmSubscriptionsMapper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -//@Order(3) -//@Component -public class CbamNofiticationSubscription implements ApplicationRunner { - private static final Logger logger = LoggerFactory.getLogger(CbamNofiticationSubscription.class); - - @Autowired - AdaptorEnv adaptorEnv; - - @Autowired - private CbamMgmrInf cbamMgmr; - - @Autowired - private VnfmSubscriptionsMapper subscriptionsMapper; - - @Override - public void run(ApplicationArguments args){ - boolean subscribed = false; - List<VnfmSubscriptionInfo> allSubscripions = subscriptionsMapper.getAll(); - if(allSubscripions != null && !allSubscripions.isEmpty()) - { - for(VnfmSubscriptionInfo subscriptionInfo : allSubscripions) - { - try { - Subscription subscription = cbamMgmr.getSubscription(subscriptionInfo.getId()); - if(subscription != null) - { - subscribed = true; - logger.info("CBAM Notification has already been subscribed with id = " + subscriptionInfo.getId()); - } - else - { - subscriptionsMapper.delete(subscriptionInfo.getId()); - } - } catch (Exception e) { - logger.error("Query or delete subscription error.", e); - } - } - } - - if(!subscribed) - { - CBAMCreateSubscriptionRequest subscriptionRequest = new CBAMCreateSubscriptionRequest(); - subscriptionRequest.setCallbackUrl(adaptorEnv.getDriverApiUriFront() + "/api/nokiavnfmdriver/v1/notifications"); - try { - CBAMCreateSubscriptionResponse createSubscription = cbamMgmr.createSubscription(subscriptionRequest); - if(createSubscription != null) - { - subscriptionsMapper.insert(createSubscription.getId()); - logger.info("CBAM Notification is successfully subscribed with id = " + createSubscription.getId()); - } - } catch (Exception e) { - logger.error("Subscribe notification error.", e); - } - } - } -} diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/bo/CreateSubscriptionRequest.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/bo/CreateSubscriptionRequest.java new file mode 100644 index 00000000..2834cd2c --- /dev/null +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/bo/CreateSubscriptionRequest.java @@ -0,0 +1,37 @@ +/* + * Copyright 2016-2017, Nokia 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.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo; + +import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMCreateSubscriptionRequest; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CreateSubscriptionRequest extends CBAMCreateSubscriptionRequest{ + + + //the attribute callbackUri is for SOL003 driver, while callbackUrl is for CBAM + @JsonProperty("callbackUri") + private String callbackUri; + + public String getCallbackUri() { + return callbackUri; + } + + public void setCallbackUri(String callbackUri) { + this.callbackUri = callbackUri; + } +} diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMOperExecutVnfRequest.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/bo/CreateSubscriptionResponse.java index 0c748cfd..0f6f563a 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/cbam/bo/CBAMOperExecutVnfRequest.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/bo/CreateSubscriptionResponse.java @@ -13,10 +13,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo; +package org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo; -public class CBAMOperExecutVnfRequest { - - +import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.Subscription; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class CreateSubscriptionResponse extends Subscription{ + //the attribute callbackUri is for SOL003 driver, while callbackUrl is for CBAM + @JsonProperty("callbackUri") + private String callbackUri; + + public String getCallbackUri() { + return callbackUri; + } + + public void setCallbackUri(String callbackUri) { + this.callbackUri = callbackUri; + } } diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/controller/VnfmDriverController.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/controller/VnfmDriverController.java index b6bf3eb0..cb429149 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/controller/VnfmDriverController.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/controller/VnfmDriverController.java @@ -18,14 +18,14 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.controller; import java.io.IOException; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; import org.apache.http.HttpStatus; -import org.apache.http.client.ClientProtocolException; import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf; import org.onap.vfc.nfvo.driver.vnfm.svnfm.exception.VnfmDriverException; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionRequest; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfRequest; @@ -196,30 +196,30 @@ public class VnfmDriverController { return null; } -// @RequestMapping(value = "/notifications", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) -// public CBAMVnfNotificationResponse notificationVnf(@RequestBody CBAMVnfNotificationRequest request, HttpServletResponse httpResponse) throws ClientProtocolException, Exception - @RequestMapping(value = "/notifications") -// @ResponseBody - public void notificationVnf(HttpServletRequest request, HttpServletResponse httpResponse) throws ClientProtocolException, Exception - { - -// String jsonString = gson.toJson(request); -// logger.info("notificationVnf request: bodyMessage is " + jsonString); - logger.info("notificationVnf request: bodyMessage is " + request.getMethod() + ","); - - try { -// CBAMVnfNotificationResponse response = cbamMgmr.getNotification(request); - httpResponse.setStatus(204); -// logger.info("cbamController --> notificationVnf response is " + gson.toJson(response)); -// return response; - } - catch(VnfmDriverException e) - { - processControllerException(httpResponse, e); - } - -// return null; - } +//// @RequestMapping(value = "/notifications", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) +//// public CBAMVnfNotificationResponse notificationVnf(@RequestBody CBAMVnfNotificationRequest request, HttpServletResponse httpResponse) throws ClientProtocolException, Exception +// @RequestMapping(value = "/notifications") +//// @ResponseBody +// public void notificationVnf(HttpServletRequest request, HttpServletResponse httpResponse) throws ClientProtocolException, Exception +// { +// +//// String jsonString = gson.toJson(request); +//// logger.info("notificationVnf request: bodyMessage is " + jsonString); +// logger.info("notificationVnf request: bodyMessage is " + request.getMethod() + ","); +// +// try { +//// CBAMVnfNotificationResponse response = cbamMgmr.getNotification(request); +// httpResponse.setStatus(204); +//// logger.info("cbamController --> notificationVnf response is " + gson.toJson(response)); +//// return response; +// } +// catch(VnfmDriverException e) +// { +// processControllerException(httpResponse, e); +// } +// +//// return null; +// } private void processControllerException(HttpServletResponse httpResponse, VnfmDriverException e) { try { @@ -230,4 +230,31 @@ public class VnfmDriverController { logger.error("VnfmDriverController --> processControllerException error to sendError ", e1); } } + +// -- The following VNFM Driver APIs are compliant to ETSI SOL003 -- Begin + + @RequestMapping(value = "/createSubscripiton", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public CreateSubscriptionResponse createSubscripiton(@RequestBody CreateSubscriptionRequest request, HttpServletResponse httpResponse) + { + String jsonString = gson.toJson(request); + logger.info("VnfmDriverController --> createSubscripiton, bodyMessage is " + jsonString); + + try { + request.setCallbackUrl(request.getCallbackUri()); + CreateSubscriptionResponse response = vnfmDriverMgmr.createSubscription(request); + httpResponse.setStatus(HttpStatus.SC_CREATED); + logger.info("VnfmDriverController --> createSubscripiton end "); + return response; + } + catch(VnfmDriverException e) + { + processControllerException(httpResponse, e); + } + + return null; + } + +// -- The following VNFM Driver APIs are compliant to ETSI SOL003 -- End } + diff --git a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/inf/VnfmDriverMgmrInf.java b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/inf/VnfmDriverMgmrInf.java index 01e7155f..1c718978 100644 --- a/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/inf/VnfmDriverMgmrInf.java +++ b/nokia/vnfmdriver/vfcadaptorservice/vfcadaptor/src/main/java/org/onap/vfc/nfvo/driver/vnfm/svnfm/vnfmdriver/inf/VnfmDriverMgmrInf.java @@ -17,6 +17,8 @@ package org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.inf; import org.onap.vfc.nfvo.driver.vnfm.svnfm.exception.VnfmDriverException; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionRequest; +import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.CreateSubscriptionResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfRequest; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.HealVnfResponse; import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.InstantiateVnfRequest; @@ -41,4 +43,6 @@ public interface VnfmDriverMgmrInf { public ScaleVnfResponse scaleVnf(ScaleVnfRequest request, String vnfmId, String vnfInstanceId) throws VnfmDriverException; public HealVnfResponse healVnf(HealVnfRequest request, String vnfmId, String vnfInstanceId) throws VnfmDriverException; + + public CreateSubscriptionResponse createSubscription(CreateSubscriptionRequest request) throws VnfmDriverException; } |