- private Mono<A1Client.A1ProtocolType> getProtocolVersion(Ric ric) {
- if (ric.getProtocolVersion() == A1ProtocolType.UNKNOWN) {
- return fetchVersion(ric, createSdnrOnapA1Client(ric)) //
- .onErrorResume(err -> fetchVersion(ric, createSdncOscA1Client(ric)))
- .onErrorResume(err -> fetchVersion(ric, new OscA1Client(ric.getConfig())))
- .onErrorResume(err -> fetchVersion(ric, createStdA1ClientImpl(ric)))
- .doOnNext(version -> ric.setProtocolVersion(version))
- .doOnNext(version -> logger.debug("Recover ric: {}, protocol version:{}", ric.name(), version)) //
- .doOnError(t -> logger.warn("Could not get protocol version from RIC: {}", ric.name())); //
- } else {
- return Mono.just(ric.getProtocolVersion());
+ private ControllerConfig getControllerConfig(Ric ric) throws ServiceException {
+ String controllerName = ric.getConfig().controllerName();
+ if (controllerName.isEmpty()) {
+ throw new ServiceException("NO controller configured for RIC: " + ric.name());