import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
import org.onap.vid.aai.util.AAIRestInterface;
import org.onap.vid.model.VersionByInvariantIdsRequest;
+import org.onap.vid.properties.Features;
import org.onap.vid.roles.Role;
import org.onap.vid.roles.RoleProvider;
import org.onap.vid.roles.RoleValidator;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView;
+import org.togglz.core.manager.FeatureManager;
@RestController
private AAIRestInterface aaiRestInterface;
private RoleProvider roleProvider;
private SystemPropertiesWrapper systemPropertiesWrapper;
+ private FeatureManager featureManager;
+
@Autowired
public AaiController(AaiService aaiService,
AAIRestInterface aaiRestInterface,
RoleProvider roleProvider,
- SystemPropertiesWrapper systemPropertiesWrapper) {
+ SystemPropertiesWrapper systemPropertiesWrapper,
+ FeatureManager featureManager
+ ) {
this.aaiService = aaiService;
this.aaiRestInterface = aaiRestInterface;
this.roleProvider = roleProvider;
this.systemPropertiesWrapper = systemPropertiesWrapper;
+ this.featureManager = featureManager;
}
@RequestMapping(value = {"/subscriberSearch"}, method = RequestMethod.GET)
private ResponseEntity<String> aaiResponseToResponseEntity(AaiResponse aaiResponseData)
throws IOException {
ResponseEntity<String> responseEntity;
- ObjectMapper objectMapper = new ObjectMapper();
if (aaiResponseData.getHttpCode() == 200) {
- responseEntity = new ResponseEntity<>(objectMapper.writeValueAsString(aaiResponseData.getT()),
+ responseEntity = new ResponseEntity<>(new ObjectMapper().writeValueAsString(aaiResponseData.getT()),
HttpStatus.OK);
} else {
responseEntity = new ResponseEntity<>(aaiResponseData.getErrorMessage(),
HttpStatus.valueOf(aaiResponseData.getHttpCode()));
}
+
return responseEntity;
}
}
@RequestMapping(value = "/aai_sub_details/{subscriberId}", method = RequestMethod.GET)
- public ResponseEntity<String> GetSubscriberDetails(HttpServletRequest request,
- @PathVariable("subscriberId") String subscriberId) throws IOException {
+ public ResponseEntity<String> getSubscriberDetails(HttpServletRequest request, @PathVariable("subscriberId") String subscriberId,
+ @RequestParam(value="omitServiceInstances", required = false, defaultValue = "false") boolean omitServiceInstances) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
ResponseEntity responseEntity;
List<Role> roles = roleProvider.getUserRoles(request);
RoleValidator roleValidator = RoleValidator.by(roles);
- AaiResponse subscriberData = aaiService.getSubscriberData(subscriberId, roleValidator);
+ AaiResponse subscriberData = aaiService.getSubscriberData(subscriberId, roleValidator, featureManager.isActive(Features.FLAG_1906_AAI_SUB_DETAILS_REDUCE_DEPTH) && omitServiceInstances);
String httpMessage = subscriberData.getT() != null ?
objectMapper.writeValueAsString(subscriberData.getT()) :
subscriberData.getErrorMessage();
@RequestMapping(value = "/aai_get_pnfs/pnf/{pnf_id}", method = RequestMethod.GET)
public ResponseEntity getSpecificPnf(@PathVariable("pnf_id") String pnfId) {
- AaiResponse<Pnf> resp;
ResponseEntity<Pnf> re;
try {
- resp = aaiService.getSpecificPnf(pnfId);
+ AaiResponse<Pnf> resp = aaiService.getSpecificPnf(pnfId);
re = new ResponseEntity<>(resp.getT(), HttpStatus.valueOf(resp.getHttpCode()));
} catch (Exception e) {
- return new ResponseEntity<String>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+ return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
return re;
}