diff --git a/src/kpi_manager/database/Kpi_DB.py b/src/kpi_manager/database/Kpi_DB.py index dcd28489ba12586373d06ffbedaa02ddce0adae4..4b60640707c8d0c2ce90e5ab135ddf6fd4c91f63 100644 --- a/src/kpi_manager/database/Kpi_DB.py +++ b/src/kpi_manager/database/Kpi_DB.py @@ -85,8 +85,9 @@ class KpiDB: # LOGGER.debug(f"{model.__name__} ID found: {str(entity)}") return entity else: - LOGGER.debug(f"{model.__name__} ID not found: {str(id_to_search)}") - raise NotFoundException (model.__name__, id_to_search, extra_details=["Row not found with ID"] ) + LOGGER.debug(f"{model.__name__} ID not found, No matching row: {str(id_to_search)}") + print("{:} ID not found, No matching row: {:}".format(model.__name__, id_to_search)) + return None except Exception as e: session.rollback() LOGGER.debug(f"Failed to retrieve {model.__name__} ID. {str(e)}") diff --git a/src/kpi_manager/service/KpiManagerServiceServicerImpl.py b/src/kpi_manager/service/KpiManagerServiceServicerImpl.py index bea2c78b491fe473584aa01a716d7a58eda8b2b7..fd22474829ea0dfb6b1a25e70bbb4d5440c0216b 100644 --- a/src/kpi_manager/service/KpiManagerServiceServicerImpl.py +++ b/src/kpi_manager/service/KpiManagerServiceServicerImpl.py @@ -52,8 +52,13 @@ class KpiManagerServiceServicerImpl(KpiManagerServiceServicer): try: kpi_id_to_search = request.kpi_id.uuid row = self.kpi_db_obj.search_db_row_by_id(KpiModel, 'kpi_id', kpi_id_to_search) - response = KpiModel.convert_row_to_KpiDescriptor(row) - return response + if row is None: + print ('No matching row found for kpi id: {:}'.format(kpi_id_to_search)) + LOGGER.info('No matching row found kpi id: {:}'.format(kpi_id_to_search)) + return Empty() + else: + response = KpiModel.convert_row_to_KpiDescriptor(row) + return response except Exception as e: print ('Unable to search kpi id. {:}'.format(e)) LOGGER.info('Unable to search kpi id. {:}'.format(e))