@Override @Transactional public VNFRecordDependency addVnfRecordDependency( VNFRecordDependency vnfRecordDependencyd, String id) { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd 'at' HH:mm:ss z"); NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById(id); nsr.setUpdatedAt(format.format(new Date())); vnfRecordDependencyd = vnfRecordDependencyRepository.save(vnfRecordDependencyd); nsr.getVnf_dependency().add(vnfRecordDependencyd); return vnfRecordDependencyd; } }
@Override @Transactional public void deleteVNFDependency(String idNsr, String idVnfd) { SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd 'at' HH:mm:ss z"); NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById(idNsr); nsr.setUpdatedAt(format.format(new Date())); nsr.getVnf_dependency().remove(vnfRecordDependencyRepository.findFirstById(idVnfd)); vnfRecordDependencyRepository.delete(idVnfd); }
/** * Returns a set of VNFDependency objects belonging to a specific NSR. * * @param id : the ID of NSR * @return the list of VNFDependency objects of the NSR */ @ApiOperation( value = "Retrieve the VNF Dependencies of a NSR", notes = "Retrieves the VNF Dependencies of the NSR, the id of which is specified in the URL") @RequestMapping( value = "{id}/vnfdependencies", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.OK) public Set<VNFRecordDependency> getVNFDependencies( @PathVariable("id") String id, @RequestHeader(value = "project-id") String projectId) throws NotFoundException { NetworkServiceRecord nsr = networkServiceRecordManagement.query(id, projectId); return nsr.getVnf_dependency(); }
@ApiOperation( value = "Retrieve VNF Dependencies from VNFR", notes = "Returns all VNF Dependencies that reference the specified VNFR") @RequestMapping( value = "{id}/vnfdependencies/{id_vnfr}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.OK) public VNFRecordDependency getVNFDependency( @PathVariable("id") String id, @PathVariable("id_vnfr") String id_vnfr, @RequestHeader(value = "project-id") String projectId) throws NotFoundException { NetworkServiceRecord nsr = networkServiceRecordManagement.query(id, projectId); return findVNFD(nsr.getVnf_dependency(), id_vnfr); }
@ApiOperation( value = "Add a VNF Dependency to a NSR", notes = "Adds a new VNF Dependency to the specified NSR") @RequestMapping( value = "{id}/vnfdependencies/", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.CREATED) public VNFRecordDependency postVNFDependency( @RequestBody @Valid VNFRecordDependency vnfDependency, @PathVariable("id") String id, @RequestHeader(value = "project-id") String projectId) throws NotFoundException { NetworkServiceRecord nsr = networkServiceRecordManagement.query(id, projectId); nsr.getVnf_dependency().add(vnfDependency); networkServiceRecordManagement.update(nsr, id, projectId); return vnfDependency; }
@ApiOperation( value = "Updates a VNF Dependency in an NSR", notes = "Updates a VNF Dependency based on the id of the VNF it concerns") @RequestMapping( value = "{id}/vnfdependencies/{id_vnfd}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.ACCEPTED) public VNFRecordDependency updateVNFD( @RequestBody @Valid VNFRecordDependency vnfDependency, @PathVariable("id") String id, @PathVariable("id_vnfd") String id_vnfd, @RequestHeader(value = "project-id") String projectId) throws NotFoundException { NetworkServiceRecord nsr = networkServiceRecordManagement.query(id, projectId); nsr.getVnf_dependency().add(vnfDependency); networkServiceRecordManagement.update(nsr, id, projectId); return vnfDependency; }
/** * Removes a VNFDependency from an NSR. * * @param idNsr ID of the NSR * @param idVnfd ID of the VNFDependency * @param projectId the current projectId */ @Override public void deleteVNFDependency(String idNsr, String idVnfd, String projectId) throws NotFoundException { NetworkServiceRecord nsr = query(idNsr, projectId); VNFRecordDependency vnfDependency = null; for (VNFRecordDependency vnfdep : nsr.getVnf_dependency()) { if (vnfdep.getId().equals(idVnfd)) { vnfDependency = vnfdep; } } if (vnfDependency == null) { throw new NotFoundException( "No VNFDependency with ID " + idVnfd + " found in NSR with ID " + idNsr); } nsr.getVnf_dependency().remove(vnfDependency); nsrRepository.saveCascade(nsr); }
@ApiOperation( value = "Retrieve a list of Dependency objects from the NSR", notes = "Returns all the Dependency object of the specified NSR") @RequestMapping( value = "{id}/vnfdependenciesList", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseStatus(HttpStatus.OK) public Set<DependencyObject> getVNFDependenciesList( @PathVariable("id") String id, @RequestHeader(value = "project-id") String projectId) throws NotFoundException { NetworkServiceRecord nsr = networkServiceRecordManagement.query(id, projectId); Set<DependencyObject> result = new HashSet<>(); for (VNFRecordDependency vnfDependency : nsr.getVnf_dependency()) { for (Entry<String, VNFCDependencyParameters> entry : vnfDependency.getVnfcParameters().entrySet()) { for (Entry<String, DependencyParameters> parameters : entry.getValue().getParameters().entrySet()) { DependencyObject dependencyObject = new DependencyObject(); dependencyObject.setTarget(vnfDependency.getTarget()); String source = getVNFCHostname(nsr, parameters.getKey()); dependencyObject.setSource(source); result.add(dependencyObject); } } } return result; }
@Override public List<VNFRecordDependency> getDependencyForAVNFRecordSource( VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { List<VNFRecordDependency> res = new ArrayList<>(); NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); if (nsr.getStatus().ordinal() != Status.ERROR.ordinal()) { Set<VNFRecordDependency> vnfRecordDependencies = nsr.getVnf_dependency(); for (VNFRecordDependency vnfRecordDependency : vnfRecordDependencies) { vnfRecordDependency = vnfrDependencyRepository.findOne(vnfRecordDependency.getId()); log.trace( "Checking if " + virtualNetworkFunctionRecord.getName() + " is source for " + vnfRecordDependency); if (vnfRecordDependency.getIdType().containsKey(virtualNetworkFunctionRecord.getName())) { res.add(vnfRecordDependency); } } } return res; } }
@Override public VNFRecordDependency getDependencyForAVNFRecordTarget( VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); if (nsr.getStatus().ordinal() != Status.ERROR.ordinal()) { Set<VNFRecordDependency> vnfRecordDependencies = nsr.getVnf_dependency(); for (VNFRecordDependency vnfRecordDependency : vnfRecordDependencies) { vnfRecordDependency = vnfrDependencyRepository.findOne(vnfRecordDependency.getId()); if (vnfRecordDependency.getTarget().equals(virtualNetworkFunctionRecord.getName())) { return vnfRecordDependency; } } } return null; }
for (VNFDependency vnfDependency : vnfDependencies) { boolean found = false; for (VNFRecordDependency vnfRecordDependency : networkServiceRecord.getVnf_dependency()) { if (vnfRecordDependency .getTarget() networkServiceRecord.getVnf_dependency().add(vnfRecordDependency);
int dep = 0; Set<VNFRecordDependency> vnfRecordDependencies = nsr.getVnf_dependency(); for (VNFRecordDependency vnfRecordDependency : vnfRecordDependencies) { log.trace(vnfRecordDependency.getTarget() + " == " + virtualNetworkFunctionRecord.getName());
for (VNFRecordDependency vnfrd : networkServiceRecord.getVnf_dependency()) { if (vnfrd.getTarget().equals(vnfd.getName())) { for (String vnfrSourceName : vnfrd.getIdType().keySet()) {
log.debug("Setting VNFR Dependency for RESUMED VNFR"); for (VNFRecordDependency vnfRecordDependency : networkServiceRecord.getVnf_dependency()) { if (vnfRecordDependency.getTarget().equals(failedVnfr.getName())) { log.debug( for (VNFRecordDependency vnfrDependency : networkServiceRecord.getVnf_dependency()) {