Move all business logic code under template folder
[oam.git] / code / network-generator / model / python / top.py
index 184e225..82701e5 100644 (file)
 An abstract Class for all classes
 """
 import uuid
-from abc import ABC, abstractmethod
-from typing import Any
+from abc import ABC
 from model.python.type_definitions import (
-    AddressType,
     AdministrativeState,
     OperationalState,
     UsageState,
@@ -29,7 +27,6 @@ from model.python.type_definitions import (
     LifeCycleState,
     AlarmState,
 )
-from model.python.geo_location import GeoLocation
 
 
 # Define the ITop interface
@@ -57,31 +54,33 @@ class ITop:
 
 # Define the Top class
 class Top(ABC, ITop):
-    def __init__(self, data: [dict[str, Any] | None] = None):
-        self._id = data.id if data and data.id else str(uuid.uuid4())
+    def __init__(self, data: [dict[str, dict] | None] = None):
+        self._id = data["id"] if data and "id" in data else str(uuid.uuid4())
         self._name = (
-            data.name if data and data.name else " ".join(["Name", "of", self._id])
+            data["name"]
+            if data and "name" in data
+            else " ".join(["Name", "of", self._id])
         )
         self._administrativeState = (
-            data.administrativeState
-            if data and data.administrativeState
+            data["administrativeState"]
+            if data and "administrativeState" in data
             else AdministrativeState.LOCKED
         )
         self._operationalState = (
-            data.operationalState
-            if data and data.operationalState
+            data["operationalState"]
+            if data and "operationalState" in data
             else OperationalState.DISABLED
         )
         self._lifeCycleState = (
-            data.lifeCycleState
-            if data and data.lifeCycleState
+            data["lifeCycleState"]
+            if data and "lifeCycleState" in data
             else LifeCycleState.PLANNED
         )
-        self._alarmState = data.alarmState if data and data.alarmState else 0
+        self._alarmState = data["alarmState"] if data and "alarmState" in data else 0
         self._usageState = (
-            data.usageState if data and data.usageState else UsageState.UNUSED
+            data["usageState"] if data and "usageState" in data else UsageState.UNUSED
         )
-        self._utilization = data.utilization if data and data.utilization else 0
+        self._utilization = data["utilization"] if data and "utilization" in data else 0
 
     @property
     def id(self) -> str:
@@ -147,7 +146,7 @@ class Top(ABC, ITop):
     def utilization(self, value: Utilization):
         self._utilization = value
 
-    def json(self) -> dict[str, Any]:
+    def json(self) -> dict[str, dict]:
         return {
             "id": self.id,
             "name": self.name,