OSMENG-1155: Implementation of Constants and Dataclasses

Add implementation for workflows and activities

Change-Id: I58226765c41d18821724ac5763a3fe390c371ca6
Signed-off-by: Dario Faccin <dario.faccin@canonical.com>
Signed-off-by: Mark Beierl <mark.beierl@canonical.com>
diff --git a/osm_lcm/nglcm.py b/osm_lcm/nglcm.py
index bad37f7..7feb866 100644
--- a/osm_lcm/nglcm.py
+++ b/osm_lcm/nglcm.py
@@ -26,28 +26,51 @@
 
 import yaml
 from osm_common.dbbase import DbException
-from osm_common.temporal_constants import LCM_TASK_QUEUE
+from osm_common.temporal_task_queues.task_queues_mappings import LCM_TASK_QUEUE
 from osm_lcm.data_utils.database.database import Database
 from osm_lcm.data_utils.lcm_config import LcmCfg
 from osm_lcm.lcm_utils import LcmException
-from osm_lcm.temporal.juju_paas_activities import JujuPaasConnector
-from osm_lcm.temporal.lcm_activities import NsLcmActivity
-from osm_lcm.temporal.lcm_workflows import NsNoOpWorkflow
-from osm_lcm.temporal.ns_activities import NsDbActivity, NsOperations
-from osm_lcm.temporal.ns_workflows import NsInstantiateWorkflow
-from osm_lcm.temporal.vdu_workflows import VduInstantiateWorkflow
-from osm_lcm.temporal.vim_activities import VimDbActivity
+from osm_lcm.temporal.juju_paas_activities import (
+    JujuPaasConnector,
+    CreateModelImpl,
+    CheckCharmStatusImpl,
+    DeployCharmImpl,
+    TestVimConnectivityImpl,
+)
+
+from osm_lcm.temporal.lcm_activities import NsLcmNoOpImpl, UpdateNsLcmOperationStateImpl
+from osm_lcm.temporal.lcm_workflows import NsNoOpWorkflowImpl
+from osm_lcm.temporal.ns_activities import (
+    GetVnfDetailsImpl,
+    GetNsRecordImpl,
+    UpdateNsStateImpl,
+)
+from osm_lcm.temporal.ns_workflows import NsInstantiateWorkflowImpl
+from osm_lcm.temporal.vdu_workflows import VduInstantiateWorkflowImpl
+from osm_lcm.temporal.vim_activities import (
+    UpdateVimStateImpl,
+    UpdateVimOperationStateImpl,
+    DeleteVimRecordImpl,
+)
 from osm_lcm.temporal.vim_workflows import (
-    VimCreateWorkflow,
-    VimDeleteWorkflow,
-    VimUpdateWorkflow,
+    VimCreateWorkflowImpl,
+    VimDeleteWorkflowImpl,
+    VimUpdateWorkflowImpl,
 )
 from osm_lcm.temporal.vnf_activities import (
-    VnfDbActivity,
-    VnfOperations,
-    VnfSendNotifications,
+    GetTaskQueueImpl,
+    GetVnfDescriptorImpl,
+    GetVnfRecordImpl,
+    GetVimCloudImpl,
+    ChangeVnfStateImpl,
+    SetVnfModelImpl,
+    ChangeVnfInstantiationStateImpl,
+    SendNotificationForVnfImpl,
 )
-from osm_lcm.temporal.vnf_workflows import VnfInstantiateWorkflow, VnfPrepareWorkflow
+from osm_lcm.temporal.vnf_workflows import (
+    VnfInstantiateWorkflowImpl,
+    VnfPrepareWorkflowImpl,
+)
 from temporalio.client import Client
 from temporalio.worker import Worker
 
@@ -139,46 +162,39 @@
         )
         client = await Client.connect(temporal_api)
 
-        ns_operation_instance = NsOperations(self.db)
-        ns_data_activity_instance = NsDbActivity(self.db)
-        nslcm_activity_instance = NsLcmActivity(self.db)
         paas_connector_instance = JujuPaasConnector(self.db)
-        vim_data_activity_instance = VimDbActivity(self.db)
-        vnf_data_activity_instance = VnfDbActivity(self.db)
-        vnf_operation_instance = VnfOperations(self.db)
-        vnf_send_notifications_instance = VnfSendNotifications()
 
         workflows = [
-            NsInstantiateWorkflow,
-            NsNoOpWorkflow,
-            VimCreateWorkflow,
-            VimDeleteWorkflow,
-            VimUpdateWorkflow,
-            VduInstantiateWorkflow,
-            VnfInstantiateWorkflow,
-            VnfPrepareWorkflow,
+            NsInstantiateWorkflowImpl,
+            NsNoOpWorkflowImpl,
+            VimCreateWorkflowImpl,
+            VimDeleteWorkflowImpl,
+            VimUpdateWorkflowImpl,
+            VduInstantiateWorkflowImpl,
+            VnfInstantiateWorkflowImpl,
+            VnfPrepareWorkflowImpl,
         ]
         activities = [
-            ns_data_activity_instance.update_ns_state,
-            ns_operation_instance.get_vnf_details,
-            ns_operation_instance.get_ns_record,
-            nslcm_activity_instance.update_ns_lcm_operation_state,
-            nslcm_activity_instance.no_op,
-            paas_connector_instance.create_model,
-            paas_connector_instance.deploy_charm,
-            paas_connector_instance.check_charm_status,
-            paas_connector_instance.test_vim_connectivity,
-            vim_data_activity_instance.update_vim_operation_state,
-            vim_data_activity_instance.update_vim_state,
-            vim_data_activity_instance.delete_vim_record,
-            vnf_data_activity_instance.change_vnf_state,
-            vnf_data_activity_instance.change_vnf_instantiation_state,
-            vnf_operation_instance.get_task_queue,
-            vnf_operation_instance.get_vim_cloud,
-            vnf_operation_instance.get_vnf_descriptor,
-            vnf_operation_instance.get_vnf_record,
-            vnf_send_notifications_instance.send_notification_for_vnf,
-            vnf_data_activity_instance.set_vnf_model,
+            UpdateNsStateImpl(self.db).__call__,
+            GetVnfDetailsImpl(self.db).__call__,
+            GetNsRecordImpl(self.db).__call__,
+            UpdateNsLcmOperationStateImpl(self.db).__call__,
+            NsLcmNoOpImpl().__call__,
+            CreateModelImpl(self.db, paas_connector_instance).__call__,
+            DeployCharmImpl(paas_connector_instance).__call__,
+            CheckCharmStatusImpl(paas_connector_instance).__call__,
+            TestVimConnectivityImpl(paas_connector_instance).__call__,
+            UpdateVimOperationStateImpl(self.db).__call__,
+            UpdateVimStateImpl(self.db).__call__,
+            DeleteVimRecordImpl(self.db).__call__,
+            ChangeVnfStateImpl(self.db).__call__,
+            ChangeVnfInstantiationStateImpl(self.db).__call__,
+            GetTaskQueueImpl(self.db).__call__,
+            GetVimCloudImpl(self.db).__call__,
+            GetVnfDescriptorImpl(self.db).__call__,
+            GetVnfRecordImpl(self.db).__call__,
+            SendNotificationForVnfImpl().__call__,
+            SetVnfModelImpl(self.db).__call__,
         ]
 
         # Check if we are running under a debugger