2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.pap.xacml.rest.controller;
23 import com.fasterxml.jackson.databind.DeserializationFeature;
24 import com.fasterxml.jackson.databind.JsonNode;
25 import com.fasterxml.jackson.databind.ObjectMapper;
26 import java.io.IOException;
27 import java.util.Date;
28 import java.util.List;
29 import javax.servlet.http.HttpServletRequest;
30 import javax.servlet.http.HttpServletResponse;
31 import org.onap.policy.pap.xacml.rest.adapters.GridData;
32 import org.onap.policy.pap.xacml.rest.daoimpl.CommonClassDaoImpl;
33 import org.onap.policy.pap.xacml.rest.util.DictionaryUtils;
34 import org.onap.policy.rest.dao.CommonClassDao;
35 import org.onap.policy.rest.jpa.ClosedLoopD2Services;
36 import org.onap.policy.rest.jpa.ClosedLoopSite;
37 import org.onap.policy.rest.jpa.OnapName;
38 import org.onap.policy.rest.jpa.PEPOptions;
39 import org.onap.policy.rest.jpa.UserInfo;
40 import org.onap.policy.rest.jpa.VNFType;
41 import org.onap.policy.rest.jpa.VSCLAction;
42 import org.onap.policy.rest.jpa.VarbindDictionary;
43 import org.springframework.beans.factory.annotation.Autowired;
44 import org.springframework.http.MediaType;
45 import org.springframework.stereotype.Controller;
46 import org.springframework.web.bind.annotation.RequestMapping;
47 import org.springframework.web.bind.annotation.RequestMethod;
48 import org.springframework.web.servlet.ModelAndView;
51 public class ClosedLoopDictionaryController {
53 private static CommonClassDao commonClassDao;
54 private static String vsclaction = "vsclaction";
55 private static String operation = "operation";
56 private static String vnftype = "vnftype";
57 private static String pepName = "pepName";
58 private static String varbindName = "varbindName";
59 private static String serviceName = "serviceName";
60 private static String siteName = "siteName";
61 private static String dictionaryFields = "dictionaryFields";
62 private static String duplicateResponseString = "Duplicate";
63 private static String userid = "userid";
64 private static String vsclActionDatas = "vsclActionDictionaryDatas";
65 private static String vnfTypeDatas = "vnfTypeDictionaryDatas";
66 private static String pepOptionDatas = "pepOptionsDictionaryDatas";
67 private static String varbindDatas = "varbindDictionaryDatas";
68 private static String closedLoopDatas = "closedLoopServiceDictionaryDatas";
69 private static String closedLoopSiteDatas = "closedLoopSiteDictionaryDatas";
72 public ClosedLoopDictionaryController(CommonClassDao commonClassDao) {
73 ClosedLoopDictionaryController.commonClassDao = commonClassDao;
76 public void setCommonClassDao(CommonClassDao commonClassDao) {
77 ClosedLoopDictionaryController.commonClassDao = commonClassDao;
80 public static void setCommonClassDao(CommonClassDaoImpl commonClassDaoImpl) {
81 commonClassDao = commonClassDaoImpl;
84 public ClosedLoopDictionaryController() {
88 private DictionaryUtils getDictionaryUtilsInstance() {
89 return DictionaryUtils.getDictionaryUtils();
92 @RequestMapping(value = {"/get_VSCLActionDataByName"}, method = {RequestMethod.GET},
93 produces = MediaType.APPLICATION_JSON_VALUE)
94 public void getVSCLActionDictionaryByNameEntityData(HttpServletResponse response) {
95 DictionaryUtils utils = getDictionaryUtilsInstance();
96 utils.getDataByEntity(response, vsclActionDatas, vsclaction, VSCLAction.class);
100 @RequestMapping(value = {"/get_VSCLActionData"}, method = {RequestMethod.GET},
101 produces = MediaType.APPLICATION_JSON_VALUE)
102 public void getVSCLActionDictionaryEntityData(HttpServletResponse response) {
103 DictionaryUtils utils = getDictionaryUtilsInstance();
104 utils.getData(response, vsclActionDatas, VSCLAction.class);
107 @RequestMapping(value = {"/get_VNFTypeDataByName"}, method = {RequestMethod.GET},
108 produces = MediaType.APPLICATION_JSON_VALUE)
109 public void getVNFTypeDictionaryByNameEntityData(HttpServletResponse response) {
110 DictionaryUtils utils = getDictionaryUtilsInstance();
111 utils.getDataByEntity(response, vnfTypeDatas, vnftype, VNFType.class);
114 @RequestMapping(value = {"/get_VNFTypeData"}, method = {RequestMethod.GET},
115 produces = MediaType.APPLICATION_JSON_VALUE)
116 public void getVNFTypeDictionaryEntityData(HttpServletResponse response) {
117 DictionaryUtils utils = getDictionaryUtilsInstance();
118 utils.getData(response, vnfTypeDatas, VNFType.class);
121 @RequestMapping(value = {"/get_PEPOptionsDataByName"}, method = {RequestMethod.GET},
122 produces = MediaType.APPLICATION_JSON_VALUE)
123 public void getPEPOptionsDictionaryByNameEntityData(HttpServletResponse response) {
124 DictionaryUtils utils = getDictionaryUtilsInstance();
125 utils.getDataByEntity(response, pepOptionDatas, pepName, PEPOptions.class);
128 @RequestMapping(value = {"/get_PEPOptionsData"}, method = {RequestMethod.GET},
129 produces = MediaType.APPLICATION_JSON_VALUE)
130 public void getPEPOptionsDictionaryEntityData(HttpServletResponse response) {
131 DictionaryUtils utils = getDictionaryUtilsInstance();
132 utils.getData(response, pepOptionDatas, PEPOptions.class);
135 @RequestMapping(value = {"/get_VarbindDictionaryDataByName"}, method = {RequestMethod.GET},
136 produces = MediaType.APPLICATION_JSON_VALUE)
137 public void getVarbindDictionaryByNameEntityData(HttpServletResponse response) {
138 DictionaryUtils utils = getDictionaryUtilsInstance();
139 utils.getDataByEntity(response, varbindDatas, varbindName, VarbindDictionary.class);
142 @RequestMapping(value = {"/get_VarbindDictionaryData"}, method = {RequestMethod.GET},
143 produces = MediaType.APPLICATION_JSON_VALUE)
144 public void getVarbindDictionaryEntityData(HttpServletResponse response) {
145 DictionaryUtils utils = getDictionaryUtilsInstance();
146 utils.getData(response, varbindDatas, VarbindDictionary.class);
149 @RequestMapping(value = {"/get_ClosedLoopServicesDataByName"}, method = {RequestMethod.GET},
150 produces = MediaType.APPLICATION_JSON_VALUE)
151 public void getClosedLoopServiceDictionaryByNameEntityData(HttpServletResponse response) {
152 DictionaryUtils utils = getDictionaryUtilsInstance();
153 utils.getDataByEntity(response, closedLoopDatas, serviceName, ClosedLoopD2Services.class);
156 @RequestMapping(value = {"/get_ClosedLoopServicesData"}, method = {RequestMethod.GET},
157 produces = MediaType.APPLICATION_JSON_VALUE)
158 public void getClosedLoopServiceDictionaryEntityData(HttpServletResponse response) {
159 DictionaryUtils utils = getDictionaryUtilsInstance();
160 utils.getData(response, closedLoopDatas, ClosedLoopD2Services.class);
163 @RequestMapping(value = {"/get_ClosedLoopSiteDataByName"}, method = {RequestMethod.GET},
164 produces = MediaType.APPLICATION_JSON_VALUE)
165 public void getClosedLoopSiteDictionaryByNameEntityData(HttpServletResponse response) {
166 DictionaryUtils utils = getDictionaryUtilsInstance();
167 utils.getDataByEntity(response, closedLoopSiteDatas, siteName, ClosedLoopSite.class);
170 @RequestMapping(value = {"/get_ClosedLoopSiteData"}, method = {RequestMethod.GET},
171 produces = MediaType.APPLICATION_JSON_VALUE)
172 public void getClosedLoopSiteDictionaryEntityData(HttpServletResponse response) {
173 DictionaryUtils utils = getDictionaryUtilsInstance();
174 utils.getData(response, closedLoopSiteDatas, ClosedLoopSite.class);
177 @RequestMapping(value = {"/cl_dictionary/save_vsclAction"}, method = {RequestMethod.POST})
178 public ModelAndView saveVSCLAction(HttpServletRequest request, HttpServletResponse response)
180 DictionaryUtils utils = getDictionaryUtilsInstance();
182 boolean fromAPI = utils.isRequestFromAPI(request);
183 ObjectMapper mapper = new ObjectMapper();
184 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
185 JsonNode root = mapper.readTree(request.getReader());
186 VSCLAction vSCLAction;
187 String userId = null;
190 mapper.readValue(root.get(dictionaryFields).toString(), VSCLAction.class);
193 vSCLAction = mapper.readValue(root.get("vsclActionDictionaryData").toString(),
195 userId = root.get(userid).textValue();
197 UserInfo userInfo = utils.getUserInfo(userId);
199 List<Object> duplicateData = commonClassDao
200 .checkDuplicateEntry(vSCLAction.getVsclaction(), vsclaction, VSCLAction.class);
201 boolean duplicateflag = false;
202 if (!duplicateData.isEmpty()) {
203 VSCLAction data = (VSCLAction) duplicateData.get(0);
204 if (request.getParameter(operation) != null
205 && "update".equals(request.getParameter(operation))) {
206 vSCLAction.setId(data.getId());
207 } else if ((request.getParameter(operation) != null
208 && !"update".equals(request.getParameter(operation)))
209 || (request.getParameter(operation) == null
210 && (data.getId() != vSCLAction.getId()))) {
211 duplicateflag = true;
214 String responseString = null;
215 if (!duplicateflag) {
216 vSCLAction.setUserModifiedBy(userInfo);
217 if (vSCLAction.getId() == 0) {
218 vSCLAction.setUserCreatedBy(userInfo);
219 commonClassDao.save(vSCLAction);
221 vSCLAction.setModifiedDate(new Date());
222 commonClassDao.update(vSCLAction);
225 mapper.writeValueAsString(commonClassDao.getData(VSCLAction.class));
227 responseString = duplicateResponseString;
231 return utils.getResultForApi(responseString);
233 utils.setResponseData(response, vsclActionDatas, responseString);
235 } catch (Exception e) {
236 utils.setErrorResponseData(response, e);
241 @RequestMapping(value = {"/cl_dictionary/remove_VsclAction"}, method = {RequestMethod.POST})
242 public void removeVSCLAction(HttpServletRequest request, HttpServletResponse response)
244 DictionaryUtils utils = getDictionaryUtilsInstance();
245 utils.removeData(request, response, vsclActionDatas, OnapName.class);
248 @RequestMapping(value = {"/cl_dictionary/save_vnfType"}, method = {RequestMethod.POST})
249 public ModelAndView saveVnfType(HttpServletRequest request, HttpServletResponse response)
251 DictionaryUtils utils = getDictionaryUtilsInstance();
253 boolean fromAPI = utils.isRequestFromAPI(request);
254 ObjectMapper mapper = new ObjectMapper();
255 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
256 JsonNode root = mapper.readTree(request.getReader());
258 String userId = null;
260 vNFType = mapper.readValue(root.get(dictionaryFields).toString(), VNFType.class);
263 vNFType = mapper.readValue(root.get("vnfTypeDictionaryData").toString(),
265 userId = root.get(userid).textValue();
267 UserInfo userInfo = utils.getUserInfo(userId);
269 List<Object> duplicateData = commonClassDao.checkDuplicateEntry(vNFType.getVnftype(),
270 vnftype, VNFType.class);
271 boolean duplicateflag = false;
272 if (!duplicateData.isEmpty()) {
273 VNFType data = (VNFType) duplicateData.get(0);
274 if (request.getParameter(operation) != null
275 && "update".equals(request.getParameter(operation))) {
276 vNFType.setId(data.getId());
277 } else if ((request.getParameter(operation) != null
278 && !"update".equals(request.getParameter(operation)))
279 || (request.getParameter(operation) == null
280 && (data.getId() != vNFType.getId()))) {
281 duplicateflag = true;
284 String responseString = null;
285 if (!duplicateflag) {
286 vNFType.setUserModifiedBy(userInfo);
287 if (vNFType.getId() == 0) {
288 vNFType.setUserCreatedBy(userInfo);
289 commonClassDao.save(vNFType);
291 vNFType.setModifiedDate(new Date());
292 commonClassDao.update(vNFType);
294 responseString = mapper.writeValueAsString(commonClassDao.getData(VNFType.class));
296 responseString = duplicateResponseString;
300 return utils.getResultForApi(responseString);
302 utils.setResponseData(response, vnfTypeDatas, responseString);
304 } catch (Exception e) {
305 utils.setErrorResponseData(response, e);
310 @RequestMapping(value = {"/cl_dictionary/remove_vnfType"}, method = {RequestMethod.POST})
311 public void removeVnfType(HttpServletRequest request, HttpServletResponse response)
313 DictionaryUtils utils = getDictionaryUtilsInstance();
314 utils.removeData(request, response, vnfTypeDatas, VNFType.class);
317 @RequestMapping(value = {"/cl_dictionary/save_pepOptions"}, method = {RequestMethod.POST})
318 public ModelAndView savePEPOptions(HttpServletRequest request, HttpServletResponse response)
320 DictionaryUtils utils = getDictionaryUtilsInstance();
322 boolean fromAPI = utils.isRequestFromAPI(request);
323 ObjectMapper mapper = new ObjectMapper();
324 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
325 JsonNode root = mapper.readTree(request.getReader());
326 PEPOptions pEPOptions;
328 String userId = null;
331 mapper.readValue(root.get(dictionaryFields).toString(), PEPOptions.class);
332 gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class);
335 pEPOptions = mapper.readValue(root.get("pepOptionsDictionaryData").toString(),
337 gridData = mapper.readValue(root.get("pepOptionsDictionaryData").toString(),
339 userId = root.get(userid).textValue();
341 UserInfo userInfo = utils.getUserInfo(userId);
343 if (!gridData.getAttributes().isEmpty()) {
344 pEPOptions.setActions(utils.appendKeyValue(gridData.getAttributes(), ":#@", "=#@"));
347 List<Object> duplicateData = commonClassDao.checkDuplicateEntry(pEPOptions.getPepName(),
348 pepName, PEPOptions.class);
349 boolean duplicateflag = false;
350 if (!duplicateData.isEmpty()) {
351 PEPOptions data = (PEPOptions) duplicateData.get(0);
352 if (request.getParameter(operation) != null
353 && "update".equals(request.getParameter(operation))) {
354 pEPOptions.setId(data.getId());
355 } else if ((request.getParameter(operation) != null
356 && !"update".equals(request.getParameter(operation)))
357 || (request.getParameter(operation) == null
358 && (data.getId() != pEPOptions.getId()))) {
359 duplicateflag = true;
362 String responseString = null;
363 if (!duplicateflag) {
364 pEPOptions.setUserModifiedBy(userInfo);
365 if (pEPOptions.getId() == 0) {
366 pEPOptions.setUserCreatedBy(userInfo);
367 commonClassDao.save(pEPOptions);
369 pEPOptions.setModifiedDate(new Date());
370 commonClassDao.update(pEPOptions);
373 mapper.writeValueAsString(commonClassDao.getData(PEPOptions.class));
375 responseString = duplicateResponseString;
379 return utils.getResultForApi(responseString);
381 utils.setResponseData(response, pepOptionDatas, responseString);
383 } catch (Exception e) {
384 utils.setErrorResponseData(response, e);
389 @RequestMapping(value = {"/cl_dictionary/remove_pepOptions"}, method = {RequestMethod.POST})
390 public void removePEPOptions(HttpServletRequest request, HttpServletResponse response)
392 DictionaryUtils utils = getDictionaryUtilsInstance();
393 utils.removeData(request, response, pepOptionDatas, VNFType.class);
396 @RequestMapping(value = {"/cl_dictionary/save_service"}, method = {RequestMethod.POST})
397 public ModelAndView saveServiceType(HttpServletRequest request, HttpServletResponse response)
399 DictionaryUtils utils = getDictionaryUtilsInstance();
401 boolean fromAPI = utils.isRequestFromAPI(request);
402 ObjectMapper mapper = new ObjectMapper();
403 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
404 JsonNode root = mapper.readTree(request.getReader());
405 ClosedLoopD2Services serviceData;
406 String userId = null;
408 serviceData = mapper.readValue(root.get(dictionaryFields).toString(),
409 ClosedLoopD2Services.class);
413 mapper.readValue(root.get("closedLoopServiceDictionaryData").toString(),
414 ClosedLoopD2Services.class);
415 userId = root.get(userid).textValue();
417 UserInfo userInfo = utils.getUserInfo(userId);
419 List<Object> duplicateData = commonClassDao.checkDuplicateEntry(
420 serviceData.getServiceName(), serviceName, ClosedLoopD2Services.class);
421 boolean duplicateflag = false;
422 if (!duplicateData.isEmpty()) {
423 ClosedLoopD2Services data = (ClosedLoopD2Services) duplicateData.get(0);
424 if (request.getParameter(operation) != null
425 && "update".equals(request.getParameter(operation))) {
426 serviceData.setId(data.getId());
427 } else if ((request.getParameter(operation) != null
428 && !"update".equals(request.getParameter(operation)))
429 || (request.getParameter(operation) == null
430 && (data.getId() != serviceData.getId()))) {
431 duplicateflag = true;
434 String responseString = null;
435 if (!duplicateflag) {
436 serviceData.setUserModifiedBy(userInfo);
437 if (serviceData.getId() == 0) {
438 serviceData.setUserCreatedBy(userInfo);
439 commonClassDao.save(serviceData);
441 serviceData.setModifiedDate(new Date());
442 commonClassDao.update(serviceData);
444 responseString = mapper
445 .writeValueAsString(commonClassDao.getData(ClosedLoopD2Services.class));
447 responseString = duplicateResponseString;
450 return utils.getResultForApi(responseString);
452 utils.setResponseData(response, closedLoopDatas, responseString);
454 } catch (Exception e) {
455 utils.setErrorResponseData(response, e);
460 @RequestMapping(value = {"/cl_dictionary/remove_Service"}, method = {RequestMethod.POST})
461 public void removeServiceType(HttpServletRequest request, HttpServletResponse response)
463 DictionaryUtils utils = getDictionaryUtilsInstance();
464 utils.removeData(request, response, closedLoopDatas, VNFType.class);
467 @RequestMapping(value = {"/cl_dictionary/save_siteName"}, method = {RequestMethod.POST})
468 public ModelAndView saveSiteType(HttpServletRequest request, HttpServletResponse response)
470 DictionaryUtils utils = getDictionaryUtilsInstance();
472 boolean fromAPI = utils.isRequestFromAPI(request);
473 ObjectMapper mapper = new ObjectMapper();
474 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
475 JsonNode root = mapper.readTree(request.getReader());
476 ClosedLoopSite siteData;
477 String userId = null;
479 siteData = mapper.readValue(root.get(dictionaryFields).toString(),
480 ClosedLoopSite.class);
483 siteData = mapper.readValue(root.get("closedLoopSiteDictionaryData").toString(),
484 ClosedLoopSite.class);
485 userId = root.get(userid).textValue();
487 UserInfo userInfo = utils.getUserInfo(userId);
489 List<Object> duplicateData = commonClassDao.checkDuplicateEntry(siteData.getSiteName(),
490 siteName, ClosedLoopSite.class);
491 boolean duplicateflag = false;
492 if (!duplicateData.isEmpty()) {
493 ClosedLoopSite data = (ClosedLoopSite) duplicateData.get(0);
494 if (request.getParameter(operation) != null
495 && "update".equals(request.getParameter(operation))) {
496 siteData.setId(data.getId());
497 } else if ((request.getParameter(operation) != null
498 && !"update".equals(request.getParameter(operation)))
499 || (request.getParameter(operation) == null
500 && (data.getId() != siteData.getId()))) {
501 duplicateflag = true;
504 String responseString = null;
505 if (!duplicateflag) {
506 siteData.setUserModifiedBy(userInfo);
507 if (siteData.getId() == 0) {
508 siteData.setUserCreatedBy(userInfo);
509 commonClassDao.save(siteData);
511 siteData.setModifiedDate(new Date());
512 commonClassDao.update(siteData);
515 mapper.writeValueAsString(commonClassDao.getData(ClosedLoopSite.class));
517 responseString = duplicateResponseString;
520 return utils.getResultForApi(responseString);
522 utils.setResponseData(response, closedLoopSiteDatas, responseString);
524 } catch (Exception e) {
525 utils.setErrorResponseData(response, e);
530 @RequestMapping(value = {"/cl_dictionary/remove_site"}, method = {RequestMethod.POST})
531 public void removeSiteType(HttpServletRequest request, HttpServletResponse response)
533 DictionaryUtils utils = getDictionaryUtilsInstance();
534 utils.removeData(request, response, closedLoopSiteDatas, VNFType.class);
537 @RequestMapping(value = {"/cl_dictionary/save_varbind"}, method = {RequestMethod.POST})
538 public ModelAndView saveVarbind(HttpServletRequest request, HttpServletResponse response)
540 DictionaryUtils utils = getDictionaryUtilsInstance();
542 boolean fromAPI = utils.isRequestFromAPI(request);
543 ObjectMapper mapper = new ObjectMapper();
544 mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
545 JsonNode root = mapper.readTree(request.getReader());
546 VarbindDictionary varbindDictionary;
547 String userId = null;
549 varbindDictionary = mapper.readValue(root.get(dictionaryFields).toString(),
550 VarbindDictionary.class);
553 varbindDictionary = mapper.readValue(root.get("varbindDictionaryData").toString(),
554 VarbindDictionary.class);
555 userId = root.get(userid).textValue();
557 UserInfo userInfo = utils.getUserInfo(userId);
559 List<Object> duplicateData = commonClassDao.checkDuplicateEntry(
560 varbindDictionary.getVarbindName(), varbindName, VarbindDictionary.class);
561 boolean duplicateflag = false;
562 if (!duplicateData.isEmpty()) {
563 VarbindDictionary data = (VarbindDictionary) duplicateData.get(0);
564 if (request.getParameter(operation) != null
565 && "update".equals(request.getParameter(operation))) {
566 varbindDictionary.setId(data.getId());
567 } else if ((request.getParameter(operation) != null
568 && !"update".equals(request.getParameter(operation)))
569 || (request.getParameter(operation) == null
570 && (data.getId() != varbindDictionary.getId()))) {
571 duplicateflag = true;
575 String responseString = null;
576 if (!duplicateflag) {
577 varbindDictionary.setUserModifiedBy(userInfo);
578 if (varbindDictionary.getId() == 0) {
579 varbindDictionary.setUserCreatedBy(userInfo);
580 commonClassDao.save(varbindDictionary);
582 varbindDictionary.setModifiedDate(new Date());
583 commonClassDao.update(varbindDictionary);
586 mapper.writeValueAsString(commonClassDao.getData(VarbindDictionary.class));
588 responseString = duplicateResponseString;
591 return utils.getResultForApi(responseString);
593 utils.setResponseData(response, varbindDatas, responseString);
595 } catch (Exception e) {
596 utils.setErrorResponseData(response, e);
601 @RequestMapping(value = {"/cl_dictionary/remove_varbindDict"}, method = {RequestMethod.POST})
602 public void removeVarbind(HttpServletRequest request, HttpServletResponse response)
604 DictionaryUtils utils = getDictionaryUtilsInstance();
605 utils.removeData(request, response, varbindDatas, VNFType.class);