* ============LICENSE_END=========================================================
*/
-package org.onap.vid.controllers;
+package org.onap.vid.controller;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
-import org.codehaus.jackson.map.ObjectMapper;
+import org.onap.portalsdk.core.controller.RestrictedBaseController;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.onap.vid.aai.AaiGetVnfResponse;
import org.onap.vid.aai.AaiResponse;
import org.onap.vid.aai.AaiResponseTranslator.PortMirroringConfigData;
import org.onap.vid.aai.ServiceInstancesSearchResults;
-import org.onap.vid.aai.SubscriberData;
import org.onap.vid.aai.SubscriberFilteredResults;
import org.onap.vid.aai.model.AaiGetInstanceGroupsByCloudRegion;
import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList;
import org.onap.vid.roles.RoleProvider;
import org.onap.vid.roles.RoleValidator;
import org.onap.vid.services.AaiService;
-import org.onap.portalsdk.core.controller.RestrictedBaseController;
-import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.onap.portalsdk.core.util.SystemProperties;
+import org.onap.vid.utils.Unchecked;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import java.io.IOException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
import java.util.stream.Collectors;
import static org.onap.vid.utils.Logging.getMethodName;
@RestController
public class AaiController extends RestrictedBaseController {
- /**
- * The Constant dateFormat.
- */
- final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");
+
/**
* The from app id.
*/
- protected String fromAppId = "VidAaiController";
+ private String fromAppId = "VidAaiController";
/**
* The logger.
*/
/**
* The model.
*/
- private Map<String, Object> model = new HashMap<String, Object>();
+ private Map<String, Object> model = new HashMap<>();
/**
* The servlet context.
*/
*/
@RequestMapping(value = {"/subscriberSearch"}, method = RequestMethod.GET)
public ModelAndView welcome(HttpServletRequest request) {
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== AaiController welcome start");
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== AaiController welcome start");
return new ModelAndView(getViewName());
}
@RequestMapping(value = {"/aai_get_aic_zones"}, method = RequestMethod.GET)
public ResponseEntity<String> getAicZones(HttpServletRequest request) throws IOException {
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== getAicZones controller start");
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== getAicZones controller start");
AaiResponse response = aaiService.getAaiZones();
return aaiResponseToResponseEntity(response);
}
@RequestMapping(value = {"/aai_get_aic_zone_for_pnf/{globalCustomerId}/{serviceType}/{serviceId}"}, method = RequestMethod.GET)
public ResponseEntity<String> getAicZoneForPnf(@PathVariable("globalCustomerId") String globalCustomerId ,@PathVariable("serviceType") String serviceType , @PathVariable("serviceId") String serviceId ,HttpServletRequest request) throws IOException {
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== getAicZoneForPnf controller start");
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== getAicZoneForPnf controller start");
AaiResponse response = aaiService.getAicZoneForPnf(globalCustomerId , serviceType , serviceId);
return aaiResponseToResponseEntity(response);
}
String userId = ControllersUtils.extractUserId(request);
- return new ResponseEntity<String>(userId, HttpStatus.OK);
+ return new ResponseEntity<>(userId, HttpStatus.OK);
}
/**
RoleValidator roleValidator = new RoleValidator(roleProvider.getUserRoles(request));
AaiResponse subscriberList = aaiService.getServices(roleValidator);
- ResponseEntity<String> responseEntity = aaiResponseToResponseEntity(subscriberList);
-
- return responseEntity;
+ return aaiResponseToResponseEntity(subscriberList);
}
@RequestMapping(value = {"/aai_get_version_by_invariant_id"}, method = RequestMethod.POST)
public ResponseEntity<String> getVersionByInvariantId(HttpServletRequest request, @RequestBody VersionByInvariantIdsRequest versions) {
- ResponseEntity<String> responseEntity;
- ObjectMapper objectMapper = new ObjectMapper();
-
Response result = aaiService.getVersionByInvariantId(versions.versions);
- return new ResponseEntity<String>(result.readEntity(String.class), HttpStatus.OK);
+ return new ResponseEntity<>(result.readEntity(String.class), HttpStatus.OK);
}
ResponseEntity<String> responseEntity;
ObjectMapper objectMapper = new ObjectMapper();
if (aaiResponseData.getHttpCode() == 200) {
- responseEntity = new ResponseEntity<String>(objectMapper.writeValueAsString(aaiResponseData.getT()), HttpStatus.OK);
+ responseEntity = new ResponseEntity<>(objectMapper.writeValueAsString(aaiResponseData.getT()), HttpStatus.OK);
} else {
- responseEntity = new ResponseEntity<String>(aaiResponseData.getErrorMessage(), HttpStatus.valueOf(aaiResponseData.getHttpCode()));
+ responseEntity = new ResponseEntity<>(aaiResponseData.getErrorMessage(), HttpStatus.valueOf(aaiResponseData.getHttpCode()));
}
return responseEntity;
}
return convertResponseToResponseEntity(resp);
}
- /**
+ /**
* Get services from a&ai.
*
* @param globalCustomerId the global customer id
@RequestMapping(value = "/get_system_prop_vnf_prov_status", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> getTargetProvStatus() {
String p = SystemProperties.getProperty("aai.vnf.provstatus");
- return new ResponseEntity<String>(p, HttpStatus.OK);
+ return new ResponseEntity<>(p, HttpStatus.OK);
}
if (response.getHttpCode() != 200) {
String errorMessage = getAaiErrorMessage(response.getErrorMessage());
if(errorMessage != null) {
- response = new AaiResponse<OperationalEnvironmentList>(response.getT(), errorMessage, response.getHttpCode());
+ response = new AaiResponse<>(response.getT(), errorMessage, response.getHttpCode());
}
}
RoleValidator roleValidator = new RoleValidator(roleProvider.getUserRoles(request));
SubscriberFilteredResults subscriberList = aaiService.getFullSubscriberList(roleValidator);
if (subscriberList.getHttpCode() == 200) {
- responseEntity = new ResponseEntity<String>(objectMapper.writeValueAsString(subscriberList.getSubscriberList()), HttpStatus.OK);
+ responseEntity = new ResponseEntity<>(objectMapper.writeValueAsString(subscriberList.getSubscriberList()), HttpStatus.OK);
} else {
- responseEntity = new ResponseEntity<String>(subscriberList.getErrorMessage(), HttpStatus.valueOf(subscriberList.getHttpCode()));
+ responseEntity = new ResponseEntity<>(subscriberList.getErrorMessage(), HttpStatus.valueOf(subscriberList.getHttpCode()));
}
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> getVnfDataByGlobalIdAndServiceType(HttpServletRequest request,
@PathVariable("globalCustomerId") String globalCustomerId,
- @PathVariable("serviceType") String serviceType) {
+ @PathVariable("serviceType") String serviceType) throws IOException {
- Response resp = aaiService.getVNFData(globalCustomerId, serviceType);
- return convertResponseToResponseEntity(resp);
+ AaiResponse<AaiGetVnfResponse> resp = aaiService.getVNFData(globalCustomerId, serviceType);
+ return aaiResponseToResponseEntity(resp);
}
*/
@RequestMapping(value = "/aai_refresh_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> doRefreshSubscriberList() {
- Response resp = getSubscribers(false);
- return convertResponseToResponseEntity(resp);
+ return refreshSubscriberList();
}
/**
*/
@RequestMapping(value = "/aai_refresh_full_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> doRefreshFullSubscriberList() {
- Response resp = getSubscribers(false);
+ return refreshSubscriberList();
+ }
+
+ protected ResponseEntity<String> refreshSubscriberList() {
+ Response resp = getSubscribers();
return convertResponseToResponseEntity(resp);
}
ResponseEntity responseEntity;
List<Role> roles = roleProvider.getUserRoles(request);
RoleValidator roleValidator = new RoleValidator(roles);
- AaiResponse<SubscriberData> subscriberData = aaiService.getSubscriberData(subscriberId, roleValidator);
+ AaiResponse subscriberData = aaiService.getSubscriberData(subscriberId, roleValidator);
String httpMessage = subscriberData.getT() != null ?
objectMapper.writeValueAsString(subscriberData.getT()) :
subscriberData.getErrorMessage();
searchResult.getErrorMessage();
- if(searchResult.getT().serviceInstances.size() == 0){
+ if(searchResult.getT().serviceInstances.isEmpty()){
responseEntity = new ResponseEntity<String>(httpMessage, HttpStatus.NOT_FOUND);
} else {
return convertResponseToResponseEntity(resp);
}
- @RequestMapping(value = "/aai_get_vnf_data/{globalCustomerId}/{serviceType}/{serviceInstanceId}", method = RequestMethod.GET)
- public AaiResponse<String> getVnfData(
- @PathVariable("globalCustomerId") String globalCustomerId,
- @PathVariable("serviceType") String serviceType,
- @PathVariable("serviceInstanceId") String serviceInstanceId) {
-
- return aaiService.getVNFData(globalCustomerId, serviceType, serviceInstanceId);
-
- }
-
-
/**
* Issue a named query to a&ai.
*
@PathVariable("cloudRegion") String cloudRegion) {
AaiResponse<String> resp = aaiService.getNodeTemplateInstances(globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegion);
- return new ResponseEntity<String>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
+ return new ResponseEntity<>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
}
@RequestMapping(value = "/aai_get_network_collection_details/{serviceInstanceId}", method = RequestMethod.GET)
String httpMessage = resp.getT() != null ?
objectMapper.writeValueAsString(resp.getT()) :
resp.getErrorMessage();
- return new ResponseEntity<String>(httpMessage, HttpStatus.valueOf(resp.getHttpCode()));
+ return new ResponseEntity<>(httpMessage, HttpStatus.valueOf(resp.getHttpCode()));
}
@RequestMapping(value = "/aai_get_instance_groups_by_cloudregion/{cloudOwner}/{cloudRegionId}/{networkFunction}", method = RequestMethod.GET)
String httpMessage = resp.getT() != null ?
objectMapper.writeValueAsString(resp.getT()) :
resp.getErrorMessage();
- return new ResponseEntity<String>(httpMessage, HttpStatus.valueOf(resp.getHttpCode()));
+ return new ResponseEntity<>(httpMessage, HttpStatus.valueOf(resp.getHttpCode()));
}
@RequestMapping(value = "/aai_get_by_uri/**", method = RequestMethod.GET)
*/
@RequestMapping(value = "/aai_get_pnfs/pnf/{pnf_id}", method = RequestMethod.GET)
public ResponseEntity getSpecificPnf(@PathVariable("pnf_id") String pnfId) {
- //logger.trace(EELFLoggerDelegate.debugLogger, "start {}({})", getMethodName(), pnfId);
AaiResponse<Pnf> resp;
ResponseEntity<Pnf> re;
try {
resp = aaiService.getSpecificPnf(pnfId);
- re = new ResponseEntity<Pnf>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
+ re = new ResponseEntity<>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
} catch (Exception e){
return new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
- //logger.trace(EELFLoggerDelegate.debugLogger, "end {}() => {}", getMethodName(), resp.getHttpCode());
return re;
}
@PathVariable("equipModel") String equipModel) {
AaiResponse<String> resp = aaiService.getPNFData(globalCustomerId, serviceType, modelVersionId, modelInvariantId, cloudRegion, equipVendor, equipModel);
- return new ResponseEntity<String>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
+ return new ResponseEntity<>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
}
@RequestMapping(value = "/aai_getPortMirroringConfigsData", method = RequestMethod.GET)
private ResponseEntity<String> convertResponseToResponseEntity(Response resp) {
ResponseEntity<String> respEnt;
- ObjectMapper objectMapper = new ObjectMapper();
if (resp == null) {
- respEnt = new ResponseEntity<String>("Failed to fetch data from A&AI, check server logs for details.", HttpStatus.INTERNAL_SERVER_ERROR);
+ respEnt = new ResponseEntity<>("Failed to fetch data from A&AI, check server logs for details.", HttpStatus.INTERNAL_SERVER_ERROR);
} else {
- respEnt = new ResponseEntity<String>(resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));
+ respEnt = new ResponseEntity<>(resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));
}
return respEnt;
}
/**
* Gets the subscribers.
*
- * @param isFullSet the is full set
* @return the subscribers
*/
- private Response getSubscribers(boolean isFullSet) {
+ private Response getSubscribers() {
String depth = "0";
Response resp = doAaiGet("business/customers?subscriber-type=INFRA&depth=" + depth, false);
if (resp != null) {
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscribers() resp=" + resp.getStatusInfo().toString());
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== getSubscribers() resp=" + resp.getStatusInfo().toString());
}
return resp;
}
- /**
- * Gets the subscriber details.
- *
- * @param subscriberId the subscriber id
- * @return the subscriber details
- */
- private Response getSubscriberDetails(String subscriberId) {
- Response resp = doAaiGet("business/customers/customer/" + subscriberId + "?depth=2", false);
- //String resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + subscriberId, false);
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscriberDetails() resp=" + resp.getStatusInfo().toString());
- return resp;
- }
-
/**
* Send a GET request to a&ai.
*
protected Response doAaiGet(String uri, boolean xml) {
String methodName = "getSubscriberList";
String transId = UUID.randomUUID().toString();
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== " + methodName + " start");
Response resp = null;
try {
- resp = aaiRestInterface.RestGet(fromAppId, transId, uri, xml).getResponse();
+ resp = aaiRestInterface.RestGet(fromAppId, transId, Unchecked.toURI(uri), xml).getResponse();
} catch (WebApplicationException e) {
final String message = e.getResponse().readEntity(String.class);
- LOGGER.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + message);
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + message);
+ LOGGER.info(EELFLoggerDelegate.errorLogger, "<== " + "." + methodName + message);
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== " + "." + methodName + message);
} catch (Exception e) {
- LOGGER.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());
+ LOGGER.info(EELFLoggerDelegate.errorLogger, "<== " + "." + methodName + e.toString());
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== " + "." + methodName + e.toString());
}
return resp;
*/
protected Response doAaiPost(String uri, String payload, boolean xml) {
String methodName = "getSubscriberList";
- String transId = UUID.randomUUID().toString();
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== " + methodName + " start");
Response resp = null;
try {
resp = aaiRestInterface.RestPost(fromAppId, uri, payload, xml);
} catch (Exception e) {
- LOGGER.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());
- LOGGER.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());
+ LOGGER.info(EELFLoggerDelegate.errorLogger, "<== " + "." + methodName + e.toString());
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "<== " + "." + methodName + e.toString());
}
return resp;