- if (serviceModel.getVfModules() == null) {
- throw createAsdcCatalogVfModuleModelUUIDNotFoundException(serviceModelUuid, vfModuleModelUUID);
- }
-
- return serviceModel.getVfModules()
- .values()
- .stream()
- .filter(vfModule -> StringUtils.equals(vfModule.getUuid(), vfModuleModelUUID))
- .findFirst()
- .orElseThrow(() -> createAsdcCatalogVfModuleModelUUIDNotFoundException(serviceModelUuid, vfModuleModelUUID))
- .getProperties()
- .getBaseModule();
+ return emptyIfNull(serviceModel.getVfModules())
+ .values().stream()
+ .filter(toscaModelInfo -> modelsMatch(vfModuleModelInfo, toscaModelInfo))
+ .map(Group::getProperties)
+ .map(GroupProperties::getBaseModule)
+ .findAny().orElseGet(() -> {
+ Logger.debug(EELFLoggerDelegate.debugLogger,
+ "Could not find vfModule in model with uuid {}, assuming not base module ({})",
+ serviceModelUuid, vfModuleModelInfo);
+ return false;
+ });