private List<String> getIds(List<String> market_ids, String project_id)
throws NotFoundException, IOException, PluginException, VimException, IncompatibleVNFPackage,
AlreadyExistingException, NetworkServiceIntegrityException, BadRequestException,
InterruptedException, BadFormatException {
List<String> not_found_ids = new ArrayList<>();
not_found_ids.addAll(market_ids);
List<String> vnfdIds = new ArrayList<>();
for (String id : market_ids) {
for (VirtualNetworkFunctionDescriptor vnfd : vnfdRepository.findByProjectId(project_id)) {
String localId = vnfd.getVendor() + "/" + vnfd.getName() + "/" + vnfd.getHbVersion();
String vnfdId = vnfd.getId();
log.debug(localId);
if (localId.toLowerCase().equals(id.toLowerCase())) {
log.info("The vnfd " + localId + " was found onboarded on the same project.");
vnfdIds.add(vnfdId);
not_found_ids.remove(id);
}
}
}
log.debug("VNFDs found on the catalogue: " + vnfdIds);
for (String id : not_found_ids) {
String link = "http://" + marketIp + ":" + marketPort + "/api/v1/vnf-packages/" + id + "/tar";
VirtualNetworkFunctionDescriptor vnfd =
vnfPackageManagement.onboardFromMarket(link, project_id);
log.info(
"Onboarded from marketplace VNFD " + vnfd.getName() + " local id is: " + vnfd.getId());
vnfdIds.add(vnfd.getId());
}
return vnfdIds;
}