X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Falarm_repository.py;h=483c73c2902f35695cbfe06498caac2149d861f4;hb=6841e2e68f72068374d333723f5b5275bfb98933;hp=ef7ae26e02cbecc9f400c18acf61908fe0236a53;hpb=f7ef52a5b4ead0472b1b5828471b28c88d2a0aea;p=pti%2Fo2.git diff --git a/o2ims/adapter/alarm_repository.py b/o2ims/adapter/alarm_repository.py index ef7ae26..483c73c 100644 --- a/o2ims/adapter/alarm_repository.py +++ b/o2ims/adapter/alarm_repository.py @@ -17,7 +17,7 @@ from typing import List, Tuple from o2ims.domain import alarm_obj from o2ims.domain.alarm_repo import AlarmDefinitionRepository, \ AlarmEventRecordRepository, AlarmSubscriptionRepository, \ - AlarmProbableCauseRepository + AlarmProbableCauseRepository, AlarmDictionaryRepository from o2common.helper import o2logging logger = o2logging.get_logger(__name__) @@ -34,12 +34,13 @@ class AlarmEventRecordSqlAlchemyRepository(AlarmEventRecordRepository): return self.session.query(alarm_obj.AlarmEventRecord).filter_by( alarmEventRecordId=alarm_event_record_id).first() - def _list(self, **kwargs) -> Tuple[int, List[alarm_obj.AlarmEventRecord]]: + def _list(self, *args, **kwargs) -> Tuple[ + int, List[alarm_obj.AlarmEventRecord]]: size = kwargs.pop('limit') if 'limit' in kwargs else None offset = kwargs.pop('start') if 'start' in kwargs else 0 - result = self.session.query(alarm_obj.AlarmEventRecord).filter_by( - **kwargs).order_by('alarmEventRecordId') + result = self.session.query(alarm_obj.AlarmEventRecord).filter( + *args).order_by('alarmEventRecordId') count = result.count() if size is not None and size != -1: return (count, result.limit(size).offset(offset)) @@ -76,6 +77,26 @@ class AlarmDefinitionSqlAlchemyRepository(AlarmDefinitionRepository): alarmDefinitionId=alarm_definition_id).delete() +class AlarmDictionarySqlAlchemyRepository(AlarmDictionaryRepository): + def __init__(self, session): + super().__init__() + self.session = session + + def _add(self, alarm_dict: alarm_obj.AlarmDictionary): + self.session.add(alarm_dict) + + def _get(self, dictionary_id) -> alarm_obj.AlarmDictionary: + return self.session.query(alarm_obj.AlarmDictionary).filter_by( + id=dictionary_id).first() + + def _list(self) -> List[alarm_obj.AlarmDictionary]: + return self.session.query(alarm_obj.AlarmDictionary) + + def _delete(self, dictionary_id): + self.session.query(alarm_obj.AlarmDictionary).filter_by( + id=dictionary_id).delete() + + class AlarmSubscriptionSqlAlchemyRepository(AlarmSubscriptionRepository): def __init__(self, session): super().__init__() @@ -88,12 +109,13 @@ class AlarmSubscriptionSqlAlchemyRepository(AlarmSubscriptionRepository): return self.session.query(alarm_obj.AlarmSubscription).filter_by( alarmSubscriptionId=subscription_id).first() - def _list(self, **kwargs) -> Tuple[int, List[alarm_obj.AlarmSubscription]]: + def _list(self, *args, **kwargs) -> Tuple[ + int, List[alarm_obj.AlarmSubscription]]: size = kwargs.pop('limit') if 'limit' in kwargs else None offset = kwargs.pop('start') if 'start' in kwargs else 0 - result = self.session.query(alarm_obj.AlarmSubscription).filter_by( - **kwargs).order_by('alarmSubscriptionId') + result = self.session.query(alarm_obj.AlarmSubscription).filter( + *args).order_by('alarmSubscriptionId') count = result.count() if size is not None and size != -1: return (count, result.limit(size).offset(offset))