X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fviews%2Focloud_view.py;fp=o2ims%2Fviews%2Focloud_view.py;h=ae8b204edc74402e3ecf430cbab373bbf841cccf;hb=730b4043e3512893704b4ec66492812dd3f0adc1;hp=386f8f57dab371fcd5a25773cdca83f069a9c152;hpb=f2998d71e3fe6c455d5ea5070866d927e59a65c9;p=pti%2Fo2.git diff --git a/o2ims/views/ocloud_view.py b/o2ims/views/ocloud_view.py index 386f8f5..ae8b204 100644 --- a/o2ims/views/ocloud_view.py +++ b/o2ims/views/ocloud_view.py @@ -12,9 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. +import logging import uuid +from datetime import datetime -from o2common.service import unit_of_work +from o2common.service import unit_of_work, messagebus +from o2ims.domain import events from o2ims.views.ocloud_dto import RegistrationDTO, SubscriptionDTO from o2ims.domain.subscription_obj import Registration, Subscription @@ -131,14 +134,21 @@ def registration_one(registrationId: str, def registration_create(registrationDto: RegistrationDTO.registration, - uow: unit_of_work.AbstractUnitOfWork): + bus: messagebus.MessageBus): reg_uuid = str(uuid.uuid4()) registration = Registration( reg_uuid, registrationDto['callback']) - with uow: + with bus.uow as uow: uow.registrations.add(registration) + logging.debug('before event length {}'.format( + len(registration.events))) + registration.events.append(events.RegistrationChanged( + reg_uuid, + datetime.now())) + logging.debug('after event length {}'.format(len(registration.events))) uow.commit() + _handle_events(bus) return {"registrationId": reg_uuid} @@ -148,3 +158,11 @@ def registration_delete(registrationId: str, uow.registrations.delete(registrationId) uow.commit() return True + + +def _handle_events(bus: messagebus.MessageBus): + # handle events + events = bus.uow.collect_new_events() + for event in events: + bus.handle(event) + return True