diff --git a/FreeTAKServer/components/core/cot_parser/xml_serializer.py b/FreeTAKServer/components/core/cot_parser/xml_serializer.py index 6c1431e9..be25dcaa 100644 --- a/FreeTAKServer/components/core/cot_parser/xml_serializer.py +++ b/FreeTAKServer/components/core/cot_parser/xml_serializer.py @@ -49,7 +49,7 @@ class XmlSerializer(SerializerAbstract): def serialize_model_to_CoT(self, modelObject, tagName="event", level=0): from lxml.etree import Element # pylint: disable=no-name-in-module - if modelObject.__class__.__name__ == "Event": + if modelObject.__class__.__name__ == "event": request = ObjectFactory.get_new_instance("request") request.set_action("ConvertHumanReadableToMachineReadable") request.set_context("MEMORY") @@ -222,7 +222,7 @@ def from_fts_object_to_format( """ # this function is responsible for converting the base type from # human readable back to machine readable - if FTSObject.__class__.__name__ == "Event": + if FTSObject.__class__.__name__ == "event": request = ObjectFactory.get_new_instance("request") request.set_action("ConvertHumanReadableToMachineReadable") request.set_context("MEMORY") diff --git a/FreeTAKServer/components/core/domain/configuration/external_action_mapping.ini b/FreeTAKServer/components/core/domain/configuration/external_action_mapping.ini deleted file mode 100644 index 38514803..00000000 --- a/FreeTAKServer/components/core/domain/configuration/external_action_mapping.ini +++ /dev/null @@ -1,38 +0,0 @@ -[actionmapping] -??GetNodeParent = FreeTAKServer.components.core.domain.domain_facade.Domain.get_parent - -??CreateNode = FreeTAKServer.components.core.domain.domain_facade.Domain.create_node - -??DictToNode = FreeTAKServer.components.core.domain.domain_facade.Domain.convert_dict_to_node - -??SerializeToNode = FreeTAKServer.components.core.domain.controllers.serialization.serializer.Serializer.serialize_to_node - -??SerializeFromNode = FreeTAKServer.components.core.domain.controllers.serialization.serializer.Serializer.serialize_from_node - -??HealthCheck = FreeTAKServer.components.core.domain.domain_facade.Domain.get_health - -??GetMetrics = FreeTAKServer.components.core.domain.domain_facade.Domain.get_metrics - -??TestMetrics = FreeTAKServer.components.core.domain.domain_facade.Domain.test_metrics - -??GetTraces = FreeTAKServer.components.core.domain.domain_facade.Domain.get_traces - -??TestTracing = FreeTAKServer.components.core.domain.domain_facade.Domain.test_tracing - -[Request] -__class = digitalpy.core.zmanager.impl.default_request.DefaultRequest - -[ActionMapper] -__class = digitalpy.core.zmanager.impl.default_action_mapper.DefaultActionMapper - -[event_manager] -__class = digitalpy.core.main.impl.default_event_manager.DefaultEventManager - -[Response] -__class = digitalpy.core.zmanager.impl.default_response.DefaultResponse - -[Domain] -__class = FreeTAKServer.components.core.domain.domain_facade.Domain - -[DomainMetrics] -__class = digitalpy.core.component_management.impl.opentel_metrics.OpenTelMetrics \ No newline at end of file diff --git a/FreeTAKServer/components/core/domain/__init__.py b/FreeTAKServer/components/core/fts_domain/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/__init__.py rename to FreeTAKServer/components/core/fts_domain/__init__.py diff --git a/FreeTAKServer/components/core/domain/base/__init__.py b/FreeTAKServer/components/core/fts_domain/base/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/base/__init__.py rename to FreeTAKServer/components/core/fts_domain/base/__init__.py diff --git a/FreeTAKServer/components/core/domain/base/domain_action_mapper.py b/FreeTAKServer/components/core/fts_domain/base/domain_action_mapper.py similarity index 100% rename from FreeTAKServer/components/core/domain/base/domain_action_mapper.py rename to FreeTAKServer/components/core/fts_domain/base/domain_action_mapper.py diff --git a/FreeTAKServer/components/core/domain/base/domain_health_check.py b/FreeTAKServer/components/core/fts_domain/base/domain_health_check.py similarity index 100% rename from FreeTAKServer/components/core/domain/base/domain_health_check.py rename to FreeTAKServer/components/core/fts_domain/base/domain_health_check.py diff --git a/FreeTAKServer/components/core/domain/base/domain_metrics_controller.py b/FreeTAKServer/components/core/fts_domain/base/domain_metrics_controller.py similarity index 100% rename from FreeTAKServer/components/core/domain/base/domain_metrics_controller.py rename to FreeTAKServer/components/core/fts_domain/base/domain_metrics_controller.py diff --git a/FreeTAKServer/components/core/domain/configuration/__init__.py b/FreeTAKServer/components/core/fts_domain/configuration/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/configuration/__init__.py rename to FreeTAKServer/components/core/fts_domain/configuration/__init__.py diff --git a/FreeTAKServer/components/core/domain/configuration/business_rules/serialization_business_rules.json b/FreeTAKServer/components/core/fts_domain/configuration/business_rules/serialization_business_rules.json similarity index 100% rename from FreeTAKServer/components/core/domain/configuration/business_rules/serialization_business_rules.json rename to FreeTAKServer/components/core/fts_domain/configuration/business_rules/serialization_business_rules.json diff --git a/FreeTAKServer/components/core/domain/configuration/domain_constants.py b/FreeTAKServer/components/core/fts_domain/configuration/domain_constants.py similarity index 97% rename from FreeTAKServer/components/core/domain/configuration/domain_constants.py rename to FreeTAKServer/components/core/fts_domain/configuration/domain_constants.py index 032a82bb..13190437 100644 --- a/FreeTAKServer/components/core/domain/configuration/domain_constants.py +++ b/FreeTAKServer/components/core/fts_domain/configuration/domain_constants.py @@ -45,4 +45,4 @@ pathlib.PurePath(CURRENT_COMPONENT_PATH, "configuration/manifest.ini") ) -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" diff --git a/FreeTAKServer/components/core/fts_domain/configuration/external_action_mapping.ini b/FreeTAKServer/components/core/fts_domain/configuration/external_action_mapping.ini new file mode 100644 index 00000000..9d92ee51 --- /dev/null +++ b/FreeTAKServer/components/core/fts_domain/configuration/external_action_mapping.ini @@ -0,0 +1,38 @@ +[actionmapping] +??GetNodeParent = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.get_parent + +??CreateNode = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.create_node + +??DictToNode = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.convert_dict_to_node + +??SerializeToNode = FreeTAKServer.components.core.fts_domain.controllers.serialization.serializer.Serializer.serialize_to_node + +??SerializeFromNode = FreeTAKServer.components.core.fts_domain.controllers.serialization.serializer.Serializer.serialize_from_node + +??HealthCheck = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.get_health + +??GetMetrics = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.get_metrics + +??TestMetrics = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.test_metrics + +??GetTraces = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.get_traces + +??TestTracing = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain.test_tracing + +[Request] +__class = digitalpy.core.zmanager.impl.default_request.DefaultRequest + +[ActionMapper] +__class = digitalpy.core.zmanager.impl.default_action_mapper.DefaultActionMapper + +[event_manager] +__class = digitalpy.core.main.impl.default_event_manager.DefaultEventManager + +[Response] +__class = digitalpy.core.zmanager.impl.default_response.DefaultResponse + +[FtsDomain] +__class = FreeTAKServer.components.core.fts_domain.fts_domain_facade.FtsDomain + +[DomainMetrics] +__class = digitalpy.core.component_management.impl.opentel_metrics.OpenTelMetrics \ No newline at end of file diff --git a/FreeTAKServer/components/core/domain/configuration/internal_action_mapping.ini b/FreeTAKServer/components/core/fts_domain/configuration/internal_action_mapping.ini similarity index 100% rename from FreeTAKServer/components/core/domain/configuration/internal_action_mapping.ini rename to FreeTAKServer/components/core/fts_domain/configuration/internal_action_mapping.ini diff --git a/FreeTAKServer/components/core/domain/configuration/logging.conf b/FreeTAKServer/components/core/fts_domain/configuration/logging.conf similarity index 100% rename from FreeTAKServer/components/core/domain/configuration/logging.conf rename to FreeTAKServer/components/core/fts_domain/configuration/logging.conf diff --git a/FreeTAKServer/components/core/domain/configuration/manifest.ini b/FreeTAKServer/components/core/fts_domain/configuration/manifest.ini similarity index 50% rename from FreeTAKServer/components/core/domain/configuration/manifest.ini rename to FreeTAKServer/components/core/fts_domain/configuration/manifest.ini index b13f0d49..5dcb6630 100644 --- a/FreeTAKServer/components/core/domain/configuration/manifest.ini +++ b/FreeTAKServer/components/core/fts_domain/configuration/manifest.ini @@ -1,4 +1,4 @@ -[DomainManifest] -name=domain +[fts_domainmanifest] +name=fts_domain requiredAlfaVersion=0.2.7 version=0.1 \ No newline at end of file diff --git a/FreeTAKServer/components/core/fts_domain/configuration/message_keys.py b/FreeTAKServer/components/core/fts_domain/configuration/message_keys.py new file mode 100644 index 00000000..5b5f51f0 --- /dev/null +++ b/FreeTAKServer/components/core/fts_domain/configuration/message_keys.py @@ -0,0 +1 @@ +DICTIONARY = "dictionary" \ No newline at end of file diff --git a/FreeTAKServer/components/core/domain/configuration/metrics.txt b/FreeTAKServer/components/core/fts_domain/configuration/metrics.txt similarity index 100% rename from FreeTAKServer/components/core/domain/configuration/metrics.txt rename to FreeTAKServer/components/core/fts_domain/configuration/metrics.txt diff --git a/FreeTAKServer/components/core/domain/controllers/__init__.py b/FreeTAKServer/components/core/fts_domain/controllers/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/__init__.py rename to FreeTAKServer/components/core/fts_domain/controllers/__init__.py diff --git a/FreeTAKServer/components/core/domain/controllers/cot2525_controller.py b/FreeTAKServer/components/core/fts_domain/controllers/cot2525_controller.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/cot2525_controller.py rename to FreeTAKServer/components/core/fts_domain/controllers/cot2525_controller.py diff --git a/FreeTAKServer/components/core/domain/controllers/dict_to_node_controller.py b/FreeTAKServer/components/core/fts_domain/controllers/dict_to_node_controller.py similarity index 98% rename from FreeTAKServer/components/core/domain/controllers/dict_to_node_controller.py rename to FreeTAKServer/components/core/fts_domain/controllers/dict_to_node_controller.py index 8b207100..22fe3e43 100644 --- a/FreeTAKServer/components/core/domain/controllers/dict_to_node_controller.py +++ b/FreeTAKServer/components/core/fts_domain/controllers/dict_to_node_controller.py @@ -4,7 +4,7 @@ from digitalpy.core.zmanager.response import Response from digitalpy.core.zmanager.action_mapper import ActionMapper from digitalpy.core.digipy_configuration.configuration import Configuration -from digitalpy.core.parsing.load_configuration import Configuration as LoadConf +from digitalpy.core.parsing.load_configuration import ModelConfiguration as LoadConf from digitalpy.core.domain.node import Node from .domain import Domain from lxml import etree diff --git a/FreeTAKServer/components/core/domain/controllers/domain.py b/FreeTAKServer/components/core/fts_domain/controllers/domain.py similarity index 97% rename from FreeTAKServer/components/core/domain/controllers/domain.py rename to FreeTAKServer/components/core/fts_domain/controllers/domain.py index 24a1ec11..be0bcee5 100644 --- a/FreeTAKServer/components/core/domain/controllers/domain.py +++ b/FreeTAKServer/components/core/fts_domain/controllers/domain.py @@ -4,7 +4,7 @@ from digitalpy.core.digipy_configuration.configuration import Configuration from digitalpy.core.zmanager.request import Request from digitalpy.core.zmanager.response import Response -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from digitalpy.core.domain.node import Node from digitalpy.core.main.controller import Controller from digitalpy.core.main.object_factory import ObjectFactory @@ -40,7 +40,7 @@ def add_child(self, node: Node, child: Node, **kwargs) -> None: """ return node.add_child(child) - def create_node(self, configuration: Configuration, object_class_name: str, id:str=None, **kwargs) -> Node: + def create_node(self, configuration: ModelConfiguration, object_class_name: str, id:str=None, **kwargs) -> Node: """this method creates a new node object Args: diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/__init__.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/__init__.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/__init__.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/abstract_serializer.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/abstract_serializer.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/abstract_serializer.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/abstract_serializer.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/serializer.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/serializer.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/serializer.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/serializer.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/__init__.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/__init__.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/__init__.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_element.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_element.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_element.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_element.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_serialization_orchestrator.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_serialization_orchestrator.py similarity index 100% rename from FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_serialization_orchestrator.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_serialization_orchestrator.py diff --git a/FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_serializer.py b/FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_serializer.py similarity index 99% rename from FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_serializer.py rename to FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_serializer.py index de6af17f..761d5442 100644 --- a/FreeTAKServer/components/core/domain/controllers/serialization/xml_serialization/xml_serializer.py +++ b/FreeTAKServer/components/core/fts_domain/controllers/serialization/xml_serialization/xml_serializer.py @@ -52,7 +52,7 @@ class XmlSerializer(SerializerAbstract): def serialize_model_to_CoT(self, modelObject, tagName="event", level=0): from lxml.etree import Element # pylint: disable=no-name-in-module - if modelObject.__class__.__name__ == "Event": + if modelObject.__class__.__name__ == "event": request = ObjectFactory.get_new_instance("request") request.set_action("ConvertHumanReadableToMachineReadable") request.set_context("MEMORY") @@ -225,7 +225,7 @@ def from_fts_object_to_format( """ # this function is responsible for converting the base type from # human readable back to machine readable - if FTSObject.__class__.__name__ == "Event": + if FTSObject.__class__.__name__ == "event": request = ObjectFactory.get_new_instance("request") request.set_action("ConvertHumanReadableToMachineReadable") request.set_context("MEMORY") diff --git a/FreeTAKServer/components/core/domain/domain/__init__.py b/FreeTAKServer/components/core/fts_domain/domain/__init__.py similarity index 98% rename from FreeTAKServer/components/core/domain/domain/__init__.py rename to FreeTAKServer/components/core/fts_domain/domain/__init__.py index 04ffc09d..0c409924 100644 --- a/FreeTAKServer/components/core/domain/domain/__init__.py +++ b/FreeTAKServer/components/core/fts_domain/domain/__init__.py @@ -2,7 +2,7 @@ should be defined as follows, _name.py containing a class Name with the class exported here as Name. The class must be exported here as it is used by the domain controller class to get classes based on the object configurations""" -from ._event import Event as Event +from ._event import event as event from ._detail import detail as detail from ._link import link as link from ._contact import contact as contact diff --git a/FreeTAKServer/components/core/domain/domain/_contact.py b/FreeTAKServer/components/core/fts_domain/domain/_contact.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_contact.py rename to FreeTAKServer/components/core/fts_domain/domain/_contact.py diff --git a/FreeTAKServer/components/core/domain/domain/_content_resource.py b/FreeTAKServer/components/core/fts_domain/domain/_content_resource.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_content_resource.py rename to FreeTAKServer/components/core/fts_domain/domain/_content_resource.py diff --git a/FreeTAKServer/components/core/domain/domain/_content_uid.py b/FreeTAKServer/components/core/fts_domain/domain/_content_uid.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_content_uid.py rename to FreeTAKServer/components/core/fts_domain/domain/_content_uid.py diff --git a/FreeTAKServer/components/core/domain/domain/_creator_uid.py b/FreeTAKServer/components/core/fts_domain/domain/_creator_uid.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_creator_uid.py rename to FreeTAKServer/components/core/fts_domain/domain/_creator_uid.py diff --git a/FreeTAKServer/components/core/domain/domain/_dest.py b/FreeTAKServer/components/core/fts_domain/domain/_dest.py similarity index 86% rename from FreeTAKServer/components/core/domain/domain/_dest.py rename to FreeTAKServer/components/core/fts_domain/domain/_dest.py index 76ffa095..67d3df7b 100644 --- a/FreeTAKServer/components/core/domain/domain/_dest.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_dest.py @@ -1,12 +1,12 @@ from FreeTAKServer.model.FTSModel.fts_protocol_object import FTSProtocolObject from FreeTAKServer.model.FTSModelVariables.DestVariables import DestVariables as vars from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode class dest(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["callsign"] = None self.cot_attributes["mission"] = None diff --git a/FreeTAKServer/components/core/domain/domain/_detail.py b/FreeTAKServer/components/core/fts_domain/domain/_detail.py similarity index 97% rename from FreeTAKServer/components/core/domain/domain/_detail.py rename to FreeTAKServer/components/core/fts_domain/domain/_detail.py index bcd40a38..34c29b46 100644 --- a/FreeTAKServer/components/core/domain/domain/_detail.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_detail.py @@ -21,8 +21,8 @@ class detail(CoTNode): __index = -1 - def __init__(self, configuration, model): - super().__init__(self.__class__.__name__, configuration, model) + def __init__(self, configuration, model, oid=None): + super().__init__(self.__class__.__name__, configuration, model, oid) @CoTProperty def marti(self) -> 'marti': diff --git a/FreeTAKServer/components/core/domain/domain/_emergency.py b/FreeTAKServer/components/core/fts_domain/domain/_emergency.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_emergency.py rename to FreeTAKServer/components/core/fts_domain/domain/_emergency.py diff --git a/FreeTAKServer/components/core/domain/domain/_event.py b/FreeTAKServer/components/core/fts_domain/domain/_event.py similarity index 97% rename from FreeTAKServer/components/core/domain/domain/_event.py rename to FreeTAKServer/components/core/fts_domain/domain/_event.py index 0cfb1c88..7609e02f 100644 --- a/FreeTAKServer/components/core/domain/domain/_event.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from .model_constants import EventVariables as vars import uuid from typing import TYPE_CHECKING @@ -13,7 +13,7 @@ DATETIME_FMT = "%Y-%m-%dT%H:%M:%S.%fZ" DEFAULT_STALE_TIME = 60 -class Event(CoTNode): +class event(CoTNode): # TODO: fix emergency methods # Event.py """Python implementation of the Class Event @@ -29,7 +29,7 @@ class Event(CoTNode): # default constructor - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) # modify the xml object to be event instead of Event diff --git a/FreeTAKServer/components/core/domain/domain/_expiration.py b/FreeTAKServer/components/core/fts_domain/domain/_expiration.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_expiration.py rename to FreeTAKServer/components/core/fts_domain/domain/_expiration.py diff --git a/FreeTAKServer/components/core/domain/domain/_group_vector.py b/FreeTAKServer/components/core/fts_domain/domain/_group_vector.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_group_vector.py rename to FreeTAKServer/components/core/fts_domain/domain/_group_vector.py diff --git a/FreeTAKServer/components/core/domain/domain/_hash.py b/FreeTAKServer/components/core/fts_domain/domain/_hash.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_hash.py rename to FreeTAKServer/components/core/fts_domain/domain/_hash.py diff --git a/FreeTAKServer/components/core/domain/domain/_is_federated_change.py b/FreeTAKServer/components/core/fts_domain/domain/_is_federated_change.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_is_federated_change.py rename to FreeTAKServer/components/core/fts_domain/domain/_is_federated_change.py diff --git a/FreeTAKServer/components/core/domain/domain/_link.py b/FreeTAKServer/components/core/fts_domain/domain/_link.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_link.py rename to FreeTAKServer/components/core/fts_domain/domain/_link.py diff --git a/FreeTAKServer/components/core/domain/domain/_marti.py b/FreeTAKServer/components/core/fts_domain/domain/_marti.py similarity index 87% rename from FreeTAKServer/components/core/domain/domain/_marti.py rename to FreeTAKServer/components/core/fts_domain/domain/_marti.py index 9ff54232..3e4bf373 100644 --- a/FreeTAKServer/components/core/domain/domain/_marti.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_marti.py @@ -2,7 +2,7 @@ from FreeTAKServer.model.FTSModel.fts_protocol_object import FTSProtocolObject from FreeTAKServer.model.FTSModel.Dest import Dest as DestObject -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty @@ -20,10 +20,10 @@ class marti( ): # ignore this because the class name must match that of the CoT ignore pylint: disable=invalid-name __counter = counter() - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model, oid=None): # self.__dest = [DestObject(self.__counter)] # self.__tempdest = self.__dest - super().__init__(self.__class__.__name__, configuration, model) + super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["dest"] = [] self.__index = 0 # self.__firstrun = True diff --git a/FreeTAKServer/components/core/domain/domain/_mime_type.py b/FreeTAKServer/components/core/fts_domain/domain/_mime_type.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mime_type.py rename to FreeTAKServer/components/core/fts_domain/domain/_mime_type.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission.py b/FreeTAKServer/components/core/fts_domain/domain/_mission.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_change.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_change.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_change.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_change.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_change_record.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_change_record.py similarity index 97% rename from FreeTAKServer/components/core/domain/domain/_mission_change_record.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_change_record.py index d32feef7..daf5d9f5 100644 --- a/FreeTAKServer/components/core/domain/domain/_mission_change_record.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_mission_change_record.py @@ -5,7 +5,7 @@ from FreeTAKServer.components.extended.mission.domain import details if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import MissionContentData + from FreeTAKServer.components.core.fts_domain.domain import MissionContentData from FreeTAKServer.components.extended.mission.domain import externalData class MissionChangeRecord(CoTNode): diff --git a/FreeTAKServer/components/core/domain/domain/_mission_changes.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_changes.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_changes.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_changes.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_content.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_content.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_content.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_content.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_content_data.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_content_data.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_content_data.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_content_data.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_cot.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_cot.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_cot.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_cot.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_data.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_data.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_data.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_data.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_external_data.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_external_data.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_external_data.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_external_data.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_info.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_info.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_info.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_info.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_info_single.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_info_single.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_info_single.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_info_single.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_log.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_log.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_log.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_log.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_name.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_name.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_name.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_name.py diff --git a/FreeTAKServer/components/core/domain/domain/_mission_subscription.py b/FreeTAKServer/components/core/fts_domain/domain/_mission_subscription.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_mission_subscription.py rename to FreeTAKServer/components/core/fts_domain/domain/_mission_subscription.py diff --git a/FreeTAKServer/components/core/domain/domain/_name.py b/FreeTAKServer/components/core/fts_domain/domain/_name.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_name.py rename to FreeTAKServer/components/core/fts_domain/domain/_name.py diff --git a/FreeTAKServer/components/core/domain/domain/_point.py b/FreeTAKServer/components/core/fts_domain/domain/_point.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_point.py rename to FreeTAKServer/components/core/fts_domain/domain/_point.py diff --git a/FreeTAKServer/components/core/domain/domain/_remarks.py b/FreeTAKServer/components/core/fts_domain/domain/_remarks.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_remarks.py rename to FreeTAKServer/components/core/fts_domain/domain/_remarks.py diff --git a/FreeTAKServer/components/core/domain/domain/_role.py b/FreeTAKServer/components/core/fts_domain/domain/_role.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_role.py rename to FreeTAKServer/components/core/fts_domain/domain/_role.py diff --git a/FreeTAKServer/components/core/domain/domain/_size.py b/FreeTAKServer/components/core/fts_domain/domain/_size.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_size.py rename to FreeTAKServer/components/core/fts_domain/domain/_size.py diff --git a/FreeTAKServer/components/core/domain/domain/_submission_time.py b/FreeTAKServer/components/core/fts_domain/domain/_submission_time.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_submission_time.py rename to FreeTAKServer/components/core/fts_domain/domain/_submission_time.py diff --git a/FreeTAKServer/components/core/domain/domain/_submitter.py b/FreeTAKServer/components/core/fts_domain/domain/_submitter.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_submitter.py rename to FreeTAKServer/components/core/fts_domain/domain/_submitter.py diff --git a/FreeTAKServer/components/core/domain/domain/_timestamp.py b/FreeTAKServer/components/core/fts_domain/domain/_timestamp.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_timestamp.py rename to FreeTAKServer/components/core/fts_domain/domain/_timestamp.py diff --git a/FreeTAKServer/components/core/domain/domain/_type.py b/FreeTAKServer/components/core/fts_domain/domain/_type.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_type.py rename to FreeTAKServer/components/core/fts_domain/domain/_type.py diff --git a/FreeTAKServer/components/core/domain/domain/_uid.py b/FreeTAKServer/components/core/fts_domain/domain/_uid.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/_uid.py rename to FreeTAKServer/components/core/fts_domain/domain/_uid.py diff --git a/FreeTAKServer/components/core/domain/domain/_usericon.py b/FreeTAKServer/components/core/fts_domain/domain/_usericon.py similarity index 88% rename from FreeTAKServer/components/core/domain/domain/_usericon.py rename to FreeTAKServer/components/core/fts_domain/domain/_usericon.py index d3629ee7..d9f5b8e2 100644 --- a/FreeTAKServer/components/core/domain/domain/_usericon.py +++ b/FreeTAKServer/components/core/fts_domain/domain/_usericon.py @@ -12,10 +12,10 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class usericon(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["iconsetpath"] = None diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/ContactVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/ContactVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/ContactVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/ContactVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/DetailVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/DetailVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/DetailVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/DetailVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/EmergencyVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/EmergencyVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/EmergencyVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/EmergencyVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/EventVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/EventVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/EventVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/EventVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/LinkVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/LinkVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/LinkVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/LinkVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/PointVariables.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/PointVariables.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/PointVariables.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/PointVariables.py diff --git a/FreeTAKServer/components/core/domain/domain/model_constants/__init__.py b/FreeTAKServer/components/core/fts_domain/domain/model_constants/__init__.py similarity index 100% rename from FreeTAKServer/components/core/domain/domain/model_constants/__init__.py rename to FreeTAKServer/components/core/fts_domain/domain/model_constants/__init__.py diff --git a/FreeTAKServer/components/core/domain/domain_facade.py b/FreeTAKServer/components/core/fts_domain/fts_domain_facade.py similarity index 96% rename from FreeTAKServer/components/core/domain/domain_facade.py rename to FreeTAKServer/components/core/fts_domain/fts_domain_facade.py index e353dee3..57c53564 100644 --- a/FreeTAKServer/components/core/domain/domain_facade.py +++ b/FreeTAKServer/components/core/fts_domain/fts_domain_facade.py @@ -1,6 +1,6 @@ from digitalpy.core.component_management.impl.default_facade import DefaultFacade from FreeTAKServer.core.configuration.MainConfig import MainConfig -from FreeTAKServer.components.core.domain.configuration.domain_constants import ( +from FreeTAKServer.components.core.fts_domain.configuration.domain_constants import ( ACTION_MAPPING_PATH, LOGGING_CONFIGURATION_PATH, INTERNAL_ACTION_MAPPING_PATH, @@ -14,7 +14,7 @@ config = MainConfig.instance() -class Domain(DefaultFacade): +class FtsDomain(DefaultFacade): """This is the facade class for the domain component, it is responsible for handling all public routing and forwards all requests to the internal routing """ diff --git a/FreeTAKServer/components/core/xml_serializer/configuration/model_definitions/component_name.json b/FreeTAKServer/components/core/xml_serializer/configuration/model_definitions/component_name.json index 8e035056..c4af0ee5 100644 --- a/FreeTAKServer/components/core/xml_serializer/configuration/model_definitions/component_name.json +++ b/FreeTAKServer/components/core/xml_serializer/configuration/model_definitions/component_name.json @@ -7,13 +7,13 @@ "type": "object", "anyOf": [ { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/event" } ] } }, "definitions": { - "Event": { + "event": { "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.", "properties": { diff --git a/FreeTAKServer/components/core/xml_serializer/configuration/xml_serializer_constants.py b/FreeTAKServer/components/core/xml_serializer/configuration/xml_serializer_constants.py index 5b2dbdc6..11f945ff 100644 --- a/FreeTAKServer/components/core/xml_serializer/configuration/xml_serializer_constants.py +++ b/FreeTAKServer/components/core/xml_serializer/configuration/xml_serializer_constants.py @@ -54,7 +54,7 @@ pathlib.PurePath(CURRENT_COMPONENT_PATH, "persistence/xml_serializer.json") ) -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" XML_SERIALIZER = "xml_serializer" diff --git a/FreeTAKServer/components/extended/companion_parrot/domain/_event.py b/FreeTAKServer/components/extended/companion_parrot/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/companion_parrot/domain/_event.py +++ b/FreeTAKServer/components/extended/companion_parrot/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/cotmanager/configuration/cotmanager_constants.py b/FreeTAKServer/components/extended/cotmanager/configuration/cotmanager_constants.py index 40967abd..cf442b66 100644 --- a/FreeTAKServer/components/extended/cotmanager/configuration/cotmanager_constants.py +++ b/FreeTAKServer/components/extended/cotmanager/configuration/cotmanager_constants.py @@ -6,7 +6,7 @@ CONFIGURATION_FORMAT = "json" -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" CURRENT_COMPONENT_PATH = pathlib.Path(__file__).parent.parent.absolute() diff --git a/FreeTAKServer/components/extended/cotmanager/configuration/model_definitions/cotmanager.json b/FreeTAKServer/components/extended/cotmanager/configuration/model_definitions/cotmanager.json index 5835c87e..f09117e5 100644 --- a/FreeTAKServer/components/extended/cotmanager/configuration/model_definitions/cotmanager.json +++ b/FreeTAKServer/components/extended/cotmanager/configuration/model_definitions/cotmanager.json @@ -7,13 +7,13 @@ "type": "object", "anyOf": [ { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/event" } ] } }, "definitions": { - "Event": { + "event": { "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.", "properties": { diff --git a/FreeTAKServer/components/extended/cotmanager/domain/_event.py b/FreeTAKServer/components/extended/cotmanager/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/cotmanager/domain/_event.py +++ b/FreeTAKServer/components/extended/cotmanager/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/emergency/configuration/emergency_constants.py b/FreeTAKServer/components/extended/emergency/configuration/emergency_constants.py index 4a0a9271..df7f9e68 100644 --- a/FreeTAKServer/components/extended/emergency/configuration/emergency_constants.py +++ b/FreeTAKServer/components/extended/emergency/configuration/emergency_constants.py @@ -70,7 +70,7 @@ ) -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" EMERGENCY_OFF = "emergency_delete" diff --git a/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_alert.json b/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_alert.json index 74e6c192..e944c841 100644 Binary files a/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_alert.json and b/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_alert.json differ diff --git a/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_delete.json b/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_delete.json index 23b82ce5..3ff94241 100644 Binary files a/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_delete.json and b/FreeTAKServer/components/extended/emergency/configuration/model_definitions/emergency_delete.json differ diff --git a/FreeTAKServer/components/extended/emergency/controllers/emergency_general_controller.py b/FreeTAKServer/components/extended/emergency/controllers/emergency_general_controller.py index aa4b8b80..ad51bca0 100644 --- a/FreeTAKServer/components/extended/emergency/controllers/emergency_general_controller.py +++ b/FreeTAKServer/components/extended/emergency/controllers/emergency_general_controller.py @@ -8,7 +8,7 @@ DEST_CLASS, ) -from FreeTAKServer.components.core.domain.domain._event import Event +from FreeTAKServer.components.core.fts_domain.domain._event import event from FreeTAKServer.core.configuration.MainConfig import MainConfig import pickle from geopy import distance @@ -59,7 +59,7 @@ def convert_type(self, model_object, **kwargs)->None: response = self.execute_sub_action("ConvertHumanReadableToMachineReadable") model_object.type = response.get_value("machine_readable_type") - def filter_by_distance(self, emergency: Event): + def filter_by_distance(self, emergency: event): """filter who receives this emergency based on their distance from the emergency""" if config.EmergencyRadius==0: self.request.set_value('recipients', "*") @@ -69,7 +69,7 @@ def filter_by_distance(self, emergency: Event): if self.validate_user_distance(emergency, connection_obj): self.request.get_value('recipients').append(str(connection_obj.get_oid())) - def validate_user_distance(self, emergency: Event, connection): + def validate_user_distance(self, emergency: event, connection): connection_model_object = connection.model_object connection_location = connection_model_object.point diff --git a/FreeTAKServer/components/extended/emergency/controllers/emergency_on_controller.py b/FreeTAKServer/components/extended/emergency/controllers/emergency_on_controller.py index 3b8c4467..deca097f 100644 --- a/FreeTAKServer/components/extended/emergency/controllers/emergency_on_controller.py +++ b/FreeTAKServer/components/extended/emergency/controllers/emergency_on_controller.py @@ -9,9 +9,9 @@ DefaultBusinessRuleController, ) from digitalpy.core.telemetry.tracer import Tracer -from digitalpy.core.parsing.load_configuration import Configuration, ConfigurationEntry +from digitalpy.core.parsing.load_configuration import ModelConfiguration, ConfigurationEntry -from FreeTAKServer.components.core.domain.domain._event import Event +from FreeTAKServer.components.core.fts_domain.domain._event import event from ..domain import emergency from ..configuration.emergency_constants import ( diff --git a/FreeTAKServer/components/extended/excheck/configuration/excheck_constants.py b/FreeTAKServer/components/extended/excheck/configuration/excheck_constants.py index 1329140b..4abb5ad8 100644 --- a/FreeTAKServer/components/extended/excheck/configuration/excheck_constants.py +++ b/FreeTAKServer/components/extended/excheck/configuration/excheck_constants.py @@ -61,4 +61,4 @@ BASE_OBJECT_NAME = "MissionInfo" -EVENT = "Event" \ No newline at end of file +EVENT = "event" \ No newline at end of file diff --git a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/COT_Excheck_Notification_Update.json b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/COT_Excheck_Notification_Update.json index 63122bee..6dea69f0 100644 Binary files a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/COT_Excheck_Notification_Update.json and b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/COT_Excheck_Notification_Update.json differ diff --git a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_update.json b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_update.json index 0327dc2d..d53b2772 100644 Binary files a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_update.json and b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_update.json differ diff --git a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_updateb.json b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_updateb.json index c9de3910..0f2a223d 100644 Binary files a/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_updateb.json and b/FreeTAKServer/components/extended/excheck/configuration/model_definitions/checklist_updateb.json differ diff --git a/FreeTAKServer/components/extended/excheck/controllers/excheck_mission_controller.py b/FreeTAKServer/components/extended/excheck/controllers/excheck_mission_controller.py index 09b41e6c..8536df4a 100644 --- a/FreeTAKServer/components/extended/excheck/controllers/excheck_mission_controller.py +++ b/FreeTAKServer/components/extended/excheck/controllers/excheck_mission_controller.py @@ -16,10 +16,10 @@ from FreeTAKServer.core.configuration.MainConfig import MainConfig -from FreeTAKServer.components.core.domain.domain import MissionInfo -from FreeTAKServer.components.core.domain.domain import MissionData -from FreeTAKServer.components.core.domain.domain import MissionContent -from FreeTAKServer.components.core.domain.domain import MissionContentData +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionData +from FreeTAKServer.components.core.fts_domain.domain import MissionContent +from FreeTAKServer.components.core.fts_domain.domain import MissionContentData from .excheck_persistency_controller import ExCheckPersistencyController diff --git a/FreeTAKServer/components/extended/excheck/controllers/excheck_template_controller.py b/FreeTAKServer/components/extended/excheck/controllers/excheck_template_controller.py index 9122c31d..1b5cc23e 100644 --- a/FreeTAKServer/components/extended/excheck/controllers/excheck_template_controller.py +++ b/FreeTAKServer/components/extended/excheck/controllers/excheck_template_controller.py @@ -21,10 +21,10 @@ from FreeTAKServer.core.configuration.MainConfig import MainConfig -from FreeTAKServer.components.core.domain.domain import MissionInfo -from FreeTAKServer.components.core.domain.domain import MissionData -from FreeTAKServer.components.core.domain.domain import MissionContentData -from FreeTAKServer.components.core.domain.domain import MissionContent +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionData +from FreeTAKServer.components.core.fts_domain.domain import MissionContentData +from FreeTAKServer.components.core.fts_domain.domain import MissionContent from .excheck_persistency_controller import ExCheckPersistencyController diff --git a/FreeTAKServer/components/extended/excheck/domain/mission.py b/FreeTAKServer/components/extended/excheck/domain/mission.py index a1018529..7406b585 100644 --- a/FreeTAKServer/components/extended/excheck/domain/mission.py +++ b/FreeTAKServer/components/extended/excheck/domain/mission.py @@ -1,9 +1,9 @@ from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode class mission(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["type"] = None self.cot_attributes["tool"] = None diff --git a/FreeTAKServer/components/extended/excheck/domain/mission_data.py b/FreeTAKServer/components/extended/excheck/domain/mission_data.py index 81ee4a64..fa3b0fff 100644 --- a/FreeTAKServer/components/extended/excheck/domain/mission_data.py +++ b/FreeTAKServer/components/extended/excheck/domain/mission_data.py @@ -1,7 +1,7 @@ from typing import List from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from FreeTAKServer.components.core.domain.domain import MissionExternalData +from FreeTAKServer.components.core.fts_domain.domain import MissionExternalData class MissionData(CoTNode): def __init__(self, configuration, model, oid=None): diff --git a/FreeTAKServer/components/extended/federation/configuration/federation_constants.py b/FreeTAKServer/components/extended/federation/configuration/federation_constants.py index 4dace0af..6ee86d67 100644 --- a/FreeTAKServer/components/extended/federation/configuration/federation_constants.py +++ b/FreeTAKServer/components/extended/federation/configuration/federation_constants.py @@ -6,7 +6,7 @@ CONFIGURATION_FORMAT = "json" -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" CURRENT_COMPONENT_PATH = pathlib.Path(__file__).parent.parent.absolute() diff --git a/FreeTAKServer/components/extended/federation/configuration/model_definitions/federation.json b/FreeTAKServer/components/extended/federation/configuration/model_definitions/federation.json index 4a7825b2..8dbb8249 100644 --- a/FreeTAKServer/components/extended/federation/configuration/model_definitions/federation.json +++ b/FreeTAKServer/components/extended/federation/configuration/model_definitions/federation.json @@ -7,13 +7,13 @@ "type": "object", "anyOf": [ { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/event" } ] } }, "definitions": { - "Event": { + "event": { "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.", "properties": { diff --git a/FreeTAKServer/components/extended/federation/domain/_event.py b/FreeTAKServer/components/extended/federation/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/federation/domain/_event.py +++ b/FreeTAKServer/components/extended/federation/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/master_parrot/domain/_event.py b/FreeTAKServer/components/extended/master_parrot/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/master_parrot/domain/_event.py +++ b/FreeTAKServer/components/extended/master_parrot/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission.json b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission.json index dfc269ba..16123382 100644 --- a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission.json +++ b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission.json @@ -7,13 +7,13 @@ "type": "object", "anyOf": [ { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/event" } ] } }, "definitions": { - "Event": { + "event": { "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.", "properties": { diff --git a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_change_notification.json b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_change_notification.json index c46db093..1eff8b4e 100644 --- a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_change_notification.json +++ b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_change_notification.json @@ -9,7 +9,7 @@ "type": "object", "anyOf": [ - { "$ref": "#/definitions/Event" }, + { "$ref": "#/definitions/event" }, { "$ref": "#/definitions/MissionChange" }, { "$ref": "#/definitions/MissionChanges" }, { "$ref": "#/definitions/content" }, @@ -40,7 +40,7 @@ }, "definitions": { - "Event" : + "event" : { "type": "object", "description" : "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation", diff --git a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_external_data_notification.json b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_external_data_notification.json index c663b4c3..5d78a768 100644 --- a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_external_data_notification.json +++ b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_external_data_notification.json @@ -9,7 +9,7 @@ "type": "object", "anyOf": [ - { "$ref": "#/definitions/Event" }, + { "$ref": "#/definitions/event" }, { "$ref": "#/definitions/MissionChange" }, { "$ref": "#/definitions/MissionChanges" }, { "$ref": "#/definitions/content" }, @@ -40,7 +40,7 @@ }, "definitions": { - "Event" : + "event" : { "type": "object", "description" : "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation", diff --git a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_invitation_notification.json b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_invitation_notification.json index 647d3566..58eb9f63 100644 --- a/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_invitation_notification.json +++ b/FreeTAKServer/components/extended/mission/configuration/model_definitions/mission_invitation_notification.json @@ -1,13 +1,13 @@ { "$schema": "http://json-schema.org/draft-04/schema#", "id": "http://iec.ch/TC57/Mission Invite#", - "title": "Event", + "title": "event", "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation", "properties": { }, "definitions": { - "Event":{ + "event":{ "type": "object", "properties": { "access": { diff --git a/FreeTAKServer/components/extended/mission/configuration/model_definitions/new_mission_notification.json b/FreeTAKServer/components/extended/mission/configuration/model_definitions/new_mission_notification.json index f6955f1c..ccf5e427 100644 --- a/FreeTAKServer/components/extended/mission/configuration/model_definitions/new_mission_notification.json +++ b/FreeTAKServer/components/extended/mission/configuration/model_definitions/new_mission_notification.json @@ -9,7 +9,7 @@ "type": "object", "anyOf": [ - { "$ref": "#/definitions/Event" }, + { "$ref": "#/definitions/event" }, { "$ref": "#/definitions/detail" }, { "$ref": "#/definitions/point" }, { "$ref": "#/definitions/mission" } @@ -18,7 +18,7 @@ }, "definitions": { - "Event" : + "event" : { "type": "object", "description" : "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation\n", diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_external_data_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_external_data_builder.py index 66ec4716..d519fa86 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_external_data_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_external_data_builder.py @@ -5,12 +5,12 @@ from FreeTAKServer.components.extended.mission.domain import detail from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionChangeExternalDataBuilder(Builder): diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_list_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_list_builder.py index 42bed452..df7e1318 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_list_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_change_list_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_COLLECTION from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo from FreeTAKServer.core.util.time_utils import get_dtg from FreeTAKServer.core.configuration.MainConfig import MainConfig diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_content_change_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_content_change_builder.py index 37ae6017..f518243b 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_content_change_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_content_change_builder.py @@ -5,12 +5,12 @@ from FreeTAKServer.components.extended.mission.domain import detail from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionContentChangeBuilder(Builder): @@ -68,7 +68,7 @@ def add_object_data(self, mapped_object: MissionChange): if mapped_object.cot_detail_uid != None: self.request.set_value("cot_id", mapped_object.cot_detail_uid) - cot: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot: 'event' = self.execute_sub_action("GetCoT").get_value("cot") self.result.details.callsign = cot.detail.contact.callsign self.result.details.type = cot.type diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_change_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_change_builder.py index bd7d0dba..a7d6235a 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_change_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_change_builder.py @@ -4,11 +4,11 @@ from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain import detail from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionCoTChangeBuilder(Builder): @@ -29,7 +29,7 @@ def build_empty_object(self, config_loader, *args, **kwargs): def add_object_data(self, mapped_object: MissionCoT): """adds the data from the mapped object to the mission """ self.request.set_value("cot_id", mapped_object.uid) - cot: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot: 'event' = self.execute_sub_action("GetCoT").get_value("cot") # set hardcoded values self.result.isFederatedChange = False diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_content_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_content_builder.py index 1c931d22..c0e36ccb 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_content_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_cot_content_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_COT_CONTENT from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain import details, location from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionContent +from FreeTAKServer.components.core.fts_domain.domain import MissionContent from FreeTAKServer.core.util.time_utils import get_dtg class MissionCoTContentBuilder(Builder): @@ -25,7 +25,7 @@ def build_empty_object(self, config_loader, *args, **kwargs): def add_object_data(self, mapped_object: MissionCoT): """adds the data from the mapped object to the result object""" self.request.set_value("cot_id", mapped_object.uid) - cot: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot: 'event' = self.execute_sub_action("GetCoT").get_value("cot") # set hardcoded values self.result.creatorUid = "" diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_change_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_change_builder.py index 06f958eb..67eb4b1d 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_change_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_change_builder.py @@ -5,12 +5,12 @@ from FreeTAKServer.components.extended.mission.domain import detail, externalData from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionExternalDataChangeBuilder(Builder): diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_notification.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_notification.py index 45add3b7..7e836603 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_notification.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_external_data_notification.py @@ -7,12 +7,12 @@ from FreeTAKServer.components.extended.mission.persistence.external_data import ExternalData from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject from FreeTAKServer.core.util.time_utils import get_current_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionExternalDataNotificationBuilder(Builder): @@ -24,11 +24,11 @@ def __init__(self, *args, **kwargs): def build_empty_object(self, config_loader, *args, **kwargs): """Builds a mission change object""" - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(MISSION_EXTERNAL_DATA_NOTIFICATION) - self.result: Event = super()._create_model_object(configuration, extended_domain={"notes": notes, "externalData": externalData, "tool": tool, "urlData": urlData, "urlView": urlView}) + self.result: event = super()._create_model_object(configuration, extended_domain={"notes": notes, "externalData": externalData, "tool": tool, "urlData": urlData, "urlView": urlView}) def add_object_data(self, mapped_object: ExternalData): """adds the data from the mapped object to the mission """ diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_list_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_list_builder.py index 0b104504..3b361cc9 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_list_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_list_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_INVITATION_LIST from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo from FreeTAKServer.core.util.time_utils import get_dtg from FreeTAKServer.core.configuration.MainConfig import MainConfig from FreeTAKServer.components.extended.mission.domain import MissionInvitationList diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_notification_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_notification_builder.py index 7f95d276..537bef38 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_notification_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_invitation_notification_builder.py @@ -1,15 +1,15 @@ from uuid import uuid4 -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from ...domain import MissionInvitationList from ...domain import permissions as ModelPermissions, permission as ModelPermission -from FreeTAKServer.components.core.domain.domain._role import role +from FreeTAKServer.components.core.fts_domain.domain._role import role from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_INVITATION_NOTIFICATION from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo from FreeTAKServer.components.extended.mission.persistence.mission_invitation import MissionInvitation from FreeTAKServer.core.util.time_utils import get_dtg from FreeTAKServer.core.configuration.MainConfig import MainConfig @@ -21,11 +21,11 @@ class MissionInvitationNotificationBuilder(Builder): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.result: Event = None + self.result: event = None def build_empty_object(self, config_loader, *args, **kwargs): """Builds a mission list change object""" - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(MISSION_INVITATION_NOTIFICATION) diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_builder.py index 1fc02c11..a5349c64 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_COLLECTION from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo from FreeTAKServer.core.util.time_utils import get_dtg from FreeTAKServer.core.configuration.MainConfig import MainConfig diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_cot_content_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_cot_content_builder.py index d1686957..50a4ca25 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_cot_content_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_cot_content_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_LIST_COT_CONTENT from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionContent +from FreeTAKServer.components.core.fts_domain.domain import MissionContent from FreeTAKServer.core.util.time_utils import get_dtg class MissionListCoTContentBuilder(Builder): @@ -25,7 +25,7 @@ def build_empty_object(self, config_loader, *args, **kwargs): def add_object_data(self, mapped_object: MissionCoT): """adds the data from the mapped object to the result object""" self.request.set_value("cot_id", mapped_object.uid) - cot: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot: 'event' = self.execute_sub_action("GetCoT").get_value("cot") # set hardcoded values self.result.creatorUid = "" diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_record_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_record_builder.py index 08b52f60..55ec09f0 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_record_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_list_record_builder.py @@ -2,7 +2,7 @@ from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain import detail from FreeTAKServer.components.extended.mission.persistence.mission import Mission as DBMission -from FreeTAKServer.components.core.domain.domain import MissionData +from FreeTAKServer.components.core.fts_domain.domain import MissionData from FreeTAKServer.core.util.time_utils import get_dtg class MissionListRecordBuilder(Builder): diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_permission_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_permission_builder.py index e0a0eeee..ede055a6 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_permission_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_permission_builder.py @@ -1,11 +1,11 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from ...domain import permission as ModelPermission from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_PERMISSION from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain import details, location from FreeTAKServer.components.extended.mission.domain import permission as MissionPermission -from FreeTAKServer.components.core.domain.domain import role +from FreeTAKServer.components.core.fts_domain.domain import role from FreeTAKServer.components.extended.mission.persistence.permission import Permission from FreeTAKServer.components.extended.mission.persistence.role import Role from FreeTAKServer.core.util.time_utils import get_dtg diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_role_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_role_builder.py index 23504a4c..99a56ff4 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_role_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_role_builder.py @@ -1,10 +1,10 @@ -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_COT_CONTENT from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain import details, location from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import role +from FreeTAKServer.components.core.fts_domain.domain import role from FreeTAKServer.components.extended.mission.persistence.role import Role from FreeTAKServer.core.util.time_utils import get_dtg diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_change_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_change_builder.py index 32f01f8c..831a41ab 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_change_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_change_builder.py @@ -5,12 +5,12 @@ from FreeTAKServer.components.extended.mission.domain import detail from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionSimpleChangeBuilder(Builder): diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_cot_change_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_cot_change_builder.py index 496e7562..27b49a35 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_cot_change_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_simple_cot_change_builder.py @@ -5,11 +5,11 @@ from FreeTAKServer.components.extended.mission.domain import details from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionSimpleCoTChangeBuilder(Builder): @@ -30,7 +30,7 @@ def build_empty_object(self, config_loader, *args, **kwargs): def add_object_data(self, mapped_object: MissionChange): """adds the data from the mapped object to the mission """ self.request.set_value("cot_id", mapped_object.cot_detail_uid) - cot: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot: 'event' = self.execute_sub_action("GetCoT").get_value("cot") self.result.type = "ADD_CONTENT" self.result.contentUid = cot.uid diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_content_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_content_builder.py index 546e88e1..441a7a01 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_content_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_content_builder.py @@ -1,13 +1,13 @@ from typing import TYPE_CHECKING -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_CONTENT from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.domain.mission_list_cot_content import MissionListCoTContent from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange from FreeTAKServer.components.extended.mission.persistence.mission_content import MissionContent as DBMissionContent from FreeTAKServer.components.extended.mission.persistence.mission_cot import MissionCoT -from FreeTAKServer.components.core.domain.domain import MissionContent, MissionContentData +from FreeTAKServer.components.core.fts_domain.domain import MissionContent, MissionContentData from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: diff --git a/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_external_data_builder.py b/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_external_data_builder.py index 9f8ef538..66b07e61 100644 --- a/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_external_data_builder.py +++ b/FreeTAKServer/components/extended/mission/controllers/builders/mission_standard_external_data_builder.py @@ -3,11 +3,11 @@ from FreeTAKServer.components.extended.mission.configuration.mission_constants import MISSION_EXTERNAL_DATA from FreeTAKServer.components.extended.mission.controllers.builders.builder import Builder from FreeTAKServer.components.extended.mission.persistence.external_data import ExternalData -from FreeTAKServer.components.core.domain.domain import MissionExternalData +from FreeTAKServer.components.core.fts_domain.domain import MissionExternalData from FreeTAKServer.core.util.time_utils import get_dtg if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event class MissionStandardExternalDataBuilder(Builder): diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_cot_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_cot_controller.py index 52346121..995b3941 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_cot_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_cot_controller.py @@ -14,7 +14,7 @@ from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import ( MissionPersistenceController, ) -from FreeTAKServer.components.core.domain.domain import mission +from FreeTAKServer.components.core.fts_domain.domain import mission from FreeTAKServer.core.util.serialization_utils import serialize_to_json from FreeTAKServer.core.util.time_utils import ( get_datetime_from_dtg, @@ -32,7 +32,7 @@ from lxml import etree if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event config = MainConfig.instance() @@ -73,11 +73,11 @@ def get_mission_cots(self, mission_id, config_loader, *args, **kwargs): events = self.domain_controller.create_events(config_loader) - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") for cot in mission_cots: self.request.set_value("cot_id", cot.uid) - cot_obj: 'Event' = self.execute_sub_action("GetCoT").get_value("cot") + cot_obj: 'event' = self.execute_sub_action("GetCoT").get_value("cot") self.request.set_value("node", cot_obj) diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_domain_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_domain_controller.py index d7afc3f1..8003343b 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_domain_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_domain_controller.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING -from FreeTAKServer.components.core.domain.domain import MissionInfoSingle +from FreeTAKServer.components.core.fts_domain.domain import MissionInfoSingle -from FreeTAKServer.components.core.domain.domain import MissionLog +from FreeTAKServer.components.core.fts_domain.domain import MissionLog from FreeTAKServer.components.extended.excheck.domain.mission_changes import MissionChanges from FreeTAKServer.components.extended.mission.controllers.mission_director import Director from FreeTAKServer.components.extended.mission.persistence.mission_change import MissionChange @@ -13,8 +13,8 @@ from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject -from FreeTAKServer.components.core.domain.domain import Event -from FreeTAKServer.components.core.domain.domain import MissionSubscription +from FreeTAKServer.components.core.fts_domain.domain import event +from FreeTAKServer.components.core.fts_domain.domain import MissionSubscription from FreeTAKServer.core.configuration.MainConfig import MainConfig from digitalpy.core.main.controller import Controller @@ -24,15 +24,15 @@ from digitalpy.core.digipy_configuration.configuration import Configuration from digitalpy.core.parsing.load_configuration import LoadConfiguration -from FreeTAKServer.components.core.domain.domain import MissionInfo -from FreeTAKServer.components.core.domain.domain import MissionData -from FreeTAKServer.components.core.domain.domain import MissionExternalData -from FreeTAKServer.components.core.domain.domain import role -from FreeTAKServer.components.core.domain.domain import MissionContentData -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord -from FreeTAKServer.components.core.domain.domain import MissionChangeRecord -from FreeTAKServer.components.core.domain.domain import MissionContent -from FreeTAKServer.components.core.domain.domain import mission as DomainMissionCot +from FreeTAKServer.components.core.fts_domain.domain import MissionInfo +from FreeTAKServer.components.core.fts_domain.domain import MissionData +from FreeTAKServer.components.core.fts_domain.domain import MissionExternalData +from FreeTAKServer.components.core.fts_domain.domain import role +from FreeTAKServer.components.core.fts_domain.domain import MissionContentData +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionChangeRecord +from FreeTAKServer.components.core.fts_domain.domain import MissionContent +from FreeTAKServer.components.core.fts_domain.domain import mission as DomainMissionCot from ..persistence.mission import Mission as DBMission from ..persistence.mission_content import MissionContent as DBMissionContent @@ -127,7 +127,7 @@ def complete_mission_change_record(self, mission_change_record: MissionChangeRec return mission_change_record - def complete_mission_change_notification(self, mission_change_notification: Event, mission_change_db: 'MissionChange', config_loader, *args, **kwargs) -> MissionChangeRecord: + def complete_mission_change_notification(self, mission_change_notification: event, mission_change_db: 'MissionChange', config_loader, *args, **kwargs) -> MissionChangeRecord: """complete a mission change record from a db object""" mission_change = mission_change_notification.detail.mission.MissionChanges.MissionChange[0] mission_change.type.text = mission_change_db.type @@ -259,14 +259,14 @@ def complete_mission_record_db(self, mission_domain_object: MissionData, mission def create_mission_notification(self, config_loader,*args, **kwargs): """create a new mission notification object""" - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(MISSION_NOTIFICATION) return self.create_model_object(configuration) def create_mission_change_notification(self, config_loader, *args, **kwargs): - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(MISSION_CHANGE_NOTIFICATION) @@ -302,7 +302,7 @@ def complete_mission_content_data(self, mission_content_data_domain: MissionCont mission_content_data_domain.expiration = mission_content_db.expiration return mission_content_data_domain - def complete_mission_creation_notification(self, mission_notification: Event, mission: MissionData, *args, **kwargs) -> Event: + def complete_mission_creation_notification(self, mission_notification: event, mission: MissionData, *args, **kwargs) -> event: """complete a mission creation notification object based on a mission domain object Args: @@ -413,7 +413,7 @@ def complete_mission_cot_change(self, cot_record: MissionCoT, detailobj: detail, return detailobj - def complete_mission_cot_notification(self, notification_details: details, cot_record: Event, *args, **kwargs): + def complete_mission_cot_notification(self, notification_details: details, cot_record: event, *args, **kwargs): notification_details.callsign = cot_record.detail.contact.callsign notification_details.type = cot_record.type notification_details.iconsetPath = cot_record.detail.usericon.iconsetpath diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_external_data_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_external_data_controller.py index a0f78c8f..836b74d3 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_external_data_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_external_data_controller.py @@ -1,9 +1,9 @@ from typing import Dict -from FreeTAKServer.components.core.domain.domain import MissionExternalData +from FreeTAKServer.components.core.fts_domain.domain import MissionExternalData from FreeTAKServer.components.extended.mission.controllers.mission_change_controller import MissionChangeController from FreeTAKServer.components.extended.mission.controllers.mission_domain_controller import MissionDomainController from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import MissionPersistenceController -from FreeTAKServer.components.core.domain.domain import MissionInfoSingle +from FreeTAKServer.components.core.fts_domain.domain import MissionInfoSingle from FreeTAKServer.components.extended.mission.persistence.external_data import ExternalData from FreeTAKServer.core.util.serialization_utils import serialize_to_json from digitalpy.core.main.controller import Controller diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_general_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_general_controller.py index 43c785b2..e64132f3 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_general_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_general_controller.py @@ -10,7 +10,7 @@ from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import MissionPersistenceController from FreeTAKServer.components.extended.mission.controllers.mission_domain_controller import MissionDomainController from FreeTAKServer.components.extended.mission.controllers.mission_token_controller import MissionTokenController -from FreeTAKServer.components.core.domain.domain import mission +from FreeTAKServer.components.core.fts_domain.domain import mission from FreeTAKServer.components.extended.mission.persistence.subscription import Subscription from FreeTAKServer.core.domain.node import Node from FreeTAKServer.core.enterprise_sync.persistence.sqlalchemy.enterprise_sync_data_object import EnterpriseSyncDataObject @@ -137,7 +137,7 @@ def put_mission(self, mission_id, mission_data: bytes, mission_data_args: Dict, def create_new_mission_notification(self, mission_id, creator_uid, config_loader, *args, **kwargs): """create a new mission notification object""" - self.request.set_value("object_class_name", "Event") + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(MISSION_NOTIFICATION) diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_logs_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_logs_controller.py index 2c9cab89..09bd2582 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_logs_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_logs_controller.py @@ -6,7 +6,7 @@ from FreeTAKServer.components.extended.mission.controllers.mission_domain_controller import MissionDomainController from FreeTAKServer.components.extended.mission.controllers.mission_general_controller import MissionGeneralController from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import MissionPersistenceController -from FreeTAKServer.components.core.domain.domain import MissionLog +from FreeTAKServer.components.core.fts_domain.domain import MissionLog from FreeTAKServer.components.extended.mission.persistence.log import Log from FreeTAKServer.components.extended.mission.persistence.mission_log import MissionLog as DBMissionLog from FreeTAKServer.core.domain.node import Node diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_notification_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_notification_controller.py index b7c9eae5..d82050a6 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_notification_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_notification_controller.py @@ -4,7 +4,7 @@ from FreeTAKServer.components.extended.mission.controllers.directors.mission_invitation_notification_director import MissionInvitationNotificationDirector if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.extended.mission.controllers.mission_domain_controller import MissionDomainController from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import MissionPersistenceController @@ -145,7 +145,7 @@ def send_invitation_notification(self, invitation_id: str, config_loader, *args, def send_cot_created_notification(self, mission_cot_id: str, config_loader, *args, **kwargs): mission_cot_db: MissionCoT = self.persistence_controller.get_mission_cot(mission_cot_id) self.request.set_value("cot_id", mission_cot_db.uid) - cot_element: Event = self.execute_sub_action("GetCoT").get_value("cot") + cot_element: event = self.execute_sub_action("GetCoT").get_value("cot") mission_cot_notification = self.domain_controller.create_mission_change_notification(config_loader) mission_cot_notification.detail.mission.MissionChanges.MissionChange[0].contentResource = None diff --git a/FreeTAKServer/components/extended/mission/controllers/mission_subscription_controller.py b/FreeTAKServer/components/extended/mission/controllers/mission_subscription_controller.py index 8a50cd29..a39c8008 100644 --- a/FreeTAKServer/components/extended/mission/controllers/mission_subscription_controller.py +++ b/FreeTAKServer/components/extended/mission/controllers/mission_subscription_controller.py @@ -4,8 +4,8 @@ from FreeTAKServer.components.extended.mission.controllers.mission_persistence_controller import MissionPersistenceController from FreeTAKServer.components.extended.mission.controllers.mission_domain_controller import MissionDomainController from FreeTAKServer.components.extended.mission.controllers.mission_token_controller import MissionTokenController -from FreeTAKServer.components.core.domain.domain import MissionInfoSingle -from FreeTAKServer.components.core.domain.domain import role +from FreeTAKServer.components.core.fts_domain.domain import MissionInfoSingle +from FreeTAKServer.components.core.fts_domain.domain import role from FreeTAKServer.components.extended.mission.persistence.permission import Permission from FreeTAKServer.components.extended.mission.persistence.role_permission import RolePermission from FreeTAKServer.components.extended.mission.persistence.subscription import Subscription diff --git a/FreeTAKServer/components/extended/mission/domain/_detail.py b/FreeTAKServer/components/extended/mission/domain/_detail.py index d962bf1b..97e2113d 100644 --- a/FreeTAKServer/components/extended/mission/domain/_detail.py +++ b/FreeTAKServer/components/extended/mission/domain/_detail.py @@ -1,9 +1,9 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class detail(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["callsign"] = None self.cot_attributes["type"] = None diff --git a/FreeTAKServer/components/extended/mission/domain/_details.py b/FreeTAKServer/components/extended/mission/domain/_details.py index 6324bc29..276124a1 100644 --- a/FreeTAKServer/components/extended/mission/domain/_details.py +++ b/FreeTAKServer/components/extended/mission/domain/_details.py @@ -1,11 +1,11 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from ._location import location class details(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["type"] = None self.cot_attributes["callsign"] = None diff --git a/FreeTAKServer/components/extended/mission/domain/_events.py b/FreeTAKServer/components/extended/mission/domain/_events.py index 8ffb90eb..6d9e96c9 100644 --- a/FreeTAKServer/components/extended/mission/domain/_events.py +++ b/FreeTAKServer/components/extended/mission/domain/_events.py @@ -1,7 +1,7 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class events(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) \ No newline at end of file diff --git a/FreeTAKServer/components/extended/mission/domain/_externalData.py b/FreeTAKServer/components/extended/mission/domain/_externalData.py index 10b14585..164abb8c 100644 --- a/FreeTAKServer/components/extended/mission/domain/_externalData.py +++ b/FreeTAKServer/components/extended/mission/domain/_externalData.py @@ -1,9 +1,9 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class externalData(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) diff --git a/FreeTAKServer/components/extended/mission/domain/_location.py b/FreeTAKServer/components/extended/mission/domain/_location.py index 9e6b5cac..3a21bcf9 100644 --- a/FreeTAKServer/components/extended/mission/domain/_location.py +++ b/FreeTAKServer/components/extended/mission/domain/_location.py @@ -1,9 +1,9 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class location(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["lat"] = None self.cot_attributes["lon"] = None diff --git a/FreeTAKServer/components/extended/mission/domain/_mission_invitation.py b/FreeTAKServer/components/extended/mission/domain/_mission_invitation.py index b3e4a8c7..dab9aece 100644 --- a/FreeTAKServer/components/extended/mission/domain/_mission_invitation.py +++ b/FreeTAKServer/components/extended/mission/domain/_mission_invitation.py @@ -1,10 +1,10 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from FreeTAKServer.components.core.domain.domain._role import role -from digitalpy.core.parsing.load_configuration import Configuration +from FreeTAKServer.components.core.fts_domain.domain._role import role +from digitalpy.core.parsing.load_configuration import ModelConfiguration class MissionInvitation(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["missionName"] = None self.cot_attributes["invitee"] = None diff --git a/FreeTAKServer/components/extended/mission/domain/_mission_invitation_list.py b/FreeTAKServer/components/extended/mission/domain/_mission_invitation_list.py index af61c0da..854f2acb 100644 --- a/FreeTAKServer/components/extended/mission/domain/_mission_invitation_list.py +++ b/FreeTAKServer/components/extended/mission/domain/_mission_invitation_list.py @@ -2,10 +2,10 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty from ._mission_invitation import MissionInvitation -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class MissionInvitationList(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["version"] = None self.cot_attributes["type"] = None diff --git a/FreeTAKServer/components/extended/mission/domain/mission_list_cot_content.py b/FreeTAKServer/components/extended/mission/domain/mission_list_cot_content.py index a66cd246..05425e97 100644 --- a/FreeTAKServer/components/extended/mission/domain/mission_list_cot_content.py +++ b/FreeTAKServer/components/extended/mission/domain/mission_list_cot_content.py @@ -1,9 +1,9 @@ from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.components.core.abstract_component.cot_property import CoTProperty -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration class MissionListCoTContent(CoTNode): - def __init__(self, configuration: Configuration, model, oid=None): + def __init__(self, configuration: ModelConfiguration, model, oid=None): super().__init__(self.__class__.__name__, configuration, model, oid) self.cot_attributes["data"] = None self.cot_attributes["timestamp"] = None diff --git a/FreeTAKServer/components/extended/repeater/configuration/model_definitions/repeater.json b/FreeTAKServer/components/extended/repeater/configuration/model_definitions/repeater.json index cbcfed98..258a9a26 100644 --- a/FreeTAKServer/components/extended/repeater/configuration/model_definitions/repeater.json +++ b/FreeTAKServer/components/extended/repeater/configuration/model_definitions/repeater.json @@ -7,13 +7,13 @@ "type": "object", "anyOf": [ { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/event" } ] } }, "definitions": { - "Event": { + "event": { "type": "object", "description": "represents a TAK event: this class is instantiated with a standard set of values.", "properties": { diff --git a/FreeTAKServer/components/extended/repeater/configuration/repeater_constants.py b/FreeTAKServer/components/extended/repeater/configuration/repeater_constants.py index 1e6056eb..acb2bca7 100644 --- a/FreeTAKServer/components/extended/repeater/configuration/repeater_constants.py +++ b/FreeTAKServer/components/extended/repeater/configuration/repeater_constants.py @@ -6,7 +6,7 @@ CONFIGURATION_FORMAT = "json" -BASE_OBJECT_NAME = "Event" +BASE_OBJECT_NAME = "event" CURRENT_COMPONENT_PATH = pathlib.Path(__file__).parent.parent.absolute() diff --git a/FreeTAKServer/components/extended/repeater/domain/_event.py b/FreeTAKServer/components/extended/repeater/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/repeater/domain/_event.py +++ b/FreeTAKServer/components/extended/repeater/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/report/domain/_event.py b/FreeTAKServer/components/extended/report/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/report/domain/_event.py +++ b/FreeTAKServer/components/extended/report/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/components/extended/track_manager/domain/_event.py b/FreeTAKServer/components/extended/track_manager/domain/_event.py index ceba9785..13902546 100644 --- a/FreeTAKServer/components/extended/track_manager/domain/_event.py +++ b/FreeTAKServer/components/extended/track_manager/domain/_event.py @@ -1,4 +1,4 @@ -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration import uuid from datetime import datetime as dt from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode @@ -6,7 +6,7 @@ class Event(CoTNode): - def __init__(self, configuration: Configuration, model): + def __init__(self, configuration: ModelConfiguration, model): super().__init__(self.__class__.__name__, configuration, model) self.cot_attributes["version"] = None self.cot_attributes["uid"] = None diff --git a/FreeTAKServer/configuration/routing/service_configurations.ini b/FreeTAKServer/configuration/routing/service_configurations.ini new file mode 100644 index 00000000..22227d37 --- /dev/null +++ b/FreeTAKServer/configuration/routing/service_configurations.ini @@ -0,0 +1,18 @@ +[TCPCoTService] +default_status = Running +service_id = fts_core.TCPCoTService +name = TCPCoTService +description = "TCP CoT Service" +network = TCPNetwork +protocol = XML +port = 8087 +host = 0.0.0.0 + +[SSLCoTService] +default_status = Running +service_id = fts_core.SSLCoTService +name = SSLCoTService +description = "SSL CoT Service" +network = SSLNetwork +protocol = XML +port = 8089 diff --git a/FreeTAKServer/controllers/services/FTS.py b/FreeTAKServer/controllers/services/FTS.py index 0c7fadbf..0c1101c3 100644 --- a/FreeTAKServer/controllers/services/FTS.py +++ b/FreeTAKServer/controllers/services/FTS.py @@ -16,6 +16,7 @@ from digitalpy.core.component_management.impl.component_registration_handler import ComponentRegistrationHandler from digitalpy.core.zmanager.subject import Subject from digitalpy.core.main.DigitalPy import DigitalPy +from digitalpy.core.service_management.controllers.service_management_main import ServiceManagementMain from FreeTAKServer.core.configuration.CreateStartupFilesController import ( CreateStartupFilesController, @@ -111,6 +112,7 @@ def start_rest_api_service(self, FTSServiceStartupConfigObject): :return: """ try: + # define configureation for the tcp cot service self.configuration.set_value( key="subject_address", value=f"{FTSServiceStartupConfigObject.RoutingProxyService.RoutingProxySubscriberIP}", @@ -154,6 +156,24 @@ def start_rest_api_service(self, FTSServiceStartupConfigObject): section="RestAPIService" ) + # TODO: this service should be instantiated via the service manager, this section is a temporary fix + self.configuration.set_value( + key="port", + value="RestAPIService", + section="RestAPIService" + ) + self.configuration.set_value(key="default_status", value="Running", section="RestAPIService") + self.configuration.set_value(key="name", value="rest_api", section="RestAPIService") + self.configuration.set_value(key="description", value="the basic rest api exposed by freetakserver", section="RestAPIService") + self.configuration.set_value(key="port", value=19023, section="RestAPIService") + self.configuration.set_value(key="host", value="0.0.0.0", section="RestAPIService") + self.configuration.set_value(key="service_id", value="FreeTAKServer-rest_api", section="RestAPIService") + self.configuration.set_value(key="protocol", value="JSON", section="RestAPIService") + self.configuration.set_value(key="network", value="", section="RestAPIService") + self.configuration.set_value(key="blueprint_path", value="blueprints/", section="RestAPIService") + self.configuration.set_value(key="blueprint_import_base", value="digitalpy.blueprints", section="RestAPIService") + rest_service_description = ServiceManagementMain._create_service_description("RestAPIService") + self.RestAPIPipe = Queue() restapicommandsthread = Queue() restapicommandsmain = Queue() @@ -168,7 +188,7 @@ def start_rest_api_service(self, FTSServiceStartupConfigObject): self.receive_Rest = threading.Thread( target=self.receive_Rest_commands, args=(self.receive_Rest_stopper,) ) - rest_api_service = ObjectFactory.get_instance("RestAPIService") + rest_api_service = ObjectFactory.get_instance("RestAPIService", dynamic_configuration={"service_desc": rest_service_description}) self.RestAPIProcess = multiprocessing.Process( target=rest_api_service.start, args=( @@ -177,7 +197,8 @@ def start_rest_api_service(self, FTSServiceStartupConfigObject): FTSServiceStartupConfigObject.RestAPIService.RestAPIServiceIP, FTSServiceStartupConfigObject.RestAPIService.RestAPIServicePort, self.StartupTime, - ObjectFactory.get_instance("factory") + ObjectFactory.get_instance("factory"), + ObjectFactory.get_instance("tracingprovider") ), ) self.receive_Rest.start() @@ -748,7 +769,7 @@ def stop_federation_server_service(self): except: return -1 - def configure(self, FTSServiceStartupConfigObject: FTSObj): + def configure_fts(self, FTSServiceStartupConfigObject: FTSObj): """Set or modify the configuration of the application Args: @@ -876,7 +897,7 @@ def _configure_routing_worker(self, FTSServiceStartupConfigObject: FTSObj): _configure_integration_manager(self, FTSServiceStartupConfigObject) - def register_components(self, FTSServiceStartupConfigObject: FTSObj): + def register_fts_components(self, FTSServiceStartupConfigObject: FTSObj): """this method is responsible for registering all FTS components""" super().register_components() @@ -1533,50 +1554,49 @@ def startup( StartupObject.SSLCoTService.SSLCoTServiceStatus = "start" StartupObject.SSLCoTService.SSLCoTServiceIP = SSLCoTIP StartupObject.SSLCoTService.SSLCoTServicePort = SSLCoTPort - self.configure(StartupObject) - self.register_components(StartupObject) - self.start_services() + self.configure_fts(StartupObject) + self.register_fts_components(StartupObject) self.start_rest_api_service(StartupObject) self.start_all(StartupObject) - - start_timer = time.time() - 60 - threading.Thread(target=self.checkPipes).start() - while True: - try: - if time.time() > start_timer + 15: - start_timer = time.time() - logger.debug(str(self.user_dict)) - logger.debug( - f"number of CoT messages received by services: {str(self.data_from_services)}" - ) - self.data_from_services = 0 - except Exception as e: - logger.error( - "the periodic debug message has thrown an error " + str(e) - ) - try: - self.user_dict = self.receive_data_froCoT_service_thread( - self.service_tcp_user_queue_send, - self.user_dict, - self.core_tcp_user_queue_send, - ) - except Exception as e: - logger.error( - "error thrown receiving clients from tcp CoT pipe " + str(e) - ) - try: - self.user_dict = self.receive_data_froCoT_service_thread( - self.service_ssl_user_queue_send, - self.user_dict, - self.core_ssl_user_queue_send, - ) - except Exception as e: - logger.error( - "error thrown receiving clients from SSL CoT pipe " + str(e) - ) + self.start() + except Exception as e: logger.error("exception in the startup of FTS " + str(e)) + def start(self): + threading.Thread(target=self.checkPipes).start() + super().start() + + def event_loop(self): + """the main event loop of the FTS server core""" + try: + start_timer = time.time() - 60 + if time.time() > start_timer + 15: + start_timer = time.time() + logger.debug(str(self.user_dict)) + logger.debug( + "number of CoT messages received by services: %s", + str(self.data_from_services) + ) + self.data_from_services = 0 + except Exception as ex: + logger.error( + "the periodic debug message has thrown an error %s", + str(ex) + ) + logger.error("error thrown receiving clients from tcp CoT pipe %s", str(ex)) + try: + self.user_dict = self.receive_data_froCoT_service_thread( + self.service_ssl_user_queue_send, + self.user_dict, + self.core_ssl_user_queue_send, + ) + except Exception as ex: + logger.error( + "error thrown receiving clients from SSL CoT pipe %s", str(ex) + ) + + import time diff --git a/FreeTAKServer/core/configuration/MainConfig.py b/FreeTAKServer/core/configuration/MainConfig.py index bf024399..0cfd153f 100644 --- a/FreeTAKServer/core/configuration/MainConfig.py +++ b/FreeTAKServer/core/configuration/MainConfig.py @@ -16,7 +16,7 @@ ROOTPATH = "/" MAINPATH = Path(__file__).parent.parent.parent USERPATH = rf"{ROOTPATH}usr/local/lib/" -PERSISTENCE_PATH = r'/opt/fts' +PERSISTENCE_PATH = r'C:\Users\Natha Paquette\work\FreeTakServer\persistence' class MainConfig: """ diff --git a/FreeTAKServer/core/cot_management/configuration/cot_management_constants.py b/FreeTAKServer/core/cot_management/configuration/cot_management_constants.py index f3d210d5..6868908e 100644 --- a/FreeTAKServer/core/cot_management/configuration/cot_management_constants.py +++ b/FreeTAKServer/core/cot_management/configuration/cot_management_constants.py @@ -62,4 +62,4 @@ pathlib.PurePath(CURRENT_COMPONENT_PATH, "configuration/manifest.ini") ) -BASE_OBJECT_NAME = "Event" \ No newline at end of file +BASE_OBJECT_NAME = "event" \ No newline at end of file diff --git a/FreeTAKServer/core/cot_management/configuration/model_definitions/base_object.json b/FreeTAKServer/core/cot_management/configuration/model_definitions/base_object.json index f25a5531..1de2c399 100644 --- a/FreeTAKServer/core/cot_management/configuration/model_definitions/base_object.json +++ b/FreeTAKServer/core/cot_management/configuration/model_definitions/base_object.json @@ -9,7 +9,7 @@ "type": "object", "anyOf": [ - { "$ref": "#/definitions/Event" }, + { "$ref": "#/definitions/event" }, { "$ref": "#/definitions/marti" }, { "$ref": "#/definitions/dest" }, { "$ref": "#/definitions/detail" }, @@ -20,7 +20,7 @@ }, "definitions": { - "Event" : + "event" : { "type": "object", "description" : "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation\n", diff --git a/FreeTAKServer/core/cot_management/configuration/model_definitions/deletegeoobject.json b/FreeTAKServer/core/cot_management/configuration/model_definitions/deletegeoobject.json index 429d18b3..0e0868af 100644 Binary files a/FreeTAKServer/core/cot_management/configuration/model_definitions/deletegeoobject.json and b/FreeTAKServer/core/cot_management/configuration/model_definitions/deletegeoobject.json differ diff --git a/FreeTAKServer/core/cot_management/configuration/model_definitions/geoobject.json b/FreeTAKServer/core/cot_management/configuration/model_definitions/geoobject.json index 1c2a913e..ba643bc3 100644 Binary files a/FreeTAKServer/core/cot_management/configuration/model_definitions/geoobject.json and b/FreeTAKServer/core/cot_management/configuration/model_definitions/geoobject.json differ diff --git a/FreeTAKServer/core/cot_management/configuration/model_definitions/video_feed.json b/FreeTAKServer/core/cot_management/configuration/model_definitions/video_feed.json index 59920bd2..0a6f565c 100644 --- a/FreeTAKServer/core/cot_management/configuration/model_definitions/video_feed.json +++ b/FreeTAKServer/core/cot_management/configuration/model_definitions/video_feed.json @@ -9,7 +9,7 @@ "type": "object", "anyOf": [ - { "$ref": "#/definitions/Event" }, + { "$ref": "#/definitions/event" }, { "$ref": "#/definitions/Marti" }, { "$ref": "#/definitions/Precisionlocation" }, { "$ref": "#/definitions/color" }, @@ -26,7 +26,7 @@ }, "definitions": { - "Event" : + "event" : { "type": "object", "description" : "represents a TAK event: this class is instantiated with a standard set of values.\n The opex field is intended to indicate that the event is part of a live operation, an exercise, or a simulation. For backward compatibility, absence of the opex indicates \"no statement\", which will be interpreted in an installation specific manner.\n \n opex=\"o-<name>\" or \"e-<nickname>\" or \"s-<nickname>\",\n where \"-<name>\" is optional. That is, it is permissible to specify only \"o\", \"e\", or \"s\" for the opex value.\n\n s = simulation\n", diff --git a/FreeTAKServer/core/cot_management/controllers/cot_management_domain_controller.py b/FreeTAKServer/core/cot_management/controllers/cot_management_domain_controller.py index ff8c3479..79f451c3 100644 --- a/FreeTAKServer/core/cot_management/controllers/cot_management_domain_controller.py +++ b/FreeTAKServer/core/cot_management/controllers/cot_management_domain_controller.py @@ -7,7 +7,7 @@ from lxml import etree -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from ..persistence.detail import Detail as DBDetail from ..persistence.event import Event as DBEvent @@ -28,15 +28,15 @@ def execute(self, method=None): getattr(self, method)(**self.request.get_values()) return self.response - def create_standard_xml(self, config_loader, *args, **kwargs) -> Event: - self.request.set_value("object_class_name", "Event") + def create_standard_xml(self, config_loader, *args, **kwargs) -> event: + self.request.set_value("object_class_name", "event") configuration = config_loader.find_configuration(BASE_OBJECT) return self.create_model_object(configuration, extended_domain = {}) - def complete_standard_xml(self, event: Event, db_event: DBEvent): + def complete_standard_xml(self, event: event, db_event: DBEvent): """ This method completes the standard XML for an event object. """ diff --git a/FreeTAKServer/core/cot_management/controllers/cot_management_persistence_controller.py b/FreeTAKServer/core/cot_management/controllers/cot_management_persistence_controller.py index 453f8d4f..0b6ab54d 100644 --- a/FreeTAKServer/core/cot_management/controllers/cot_management_persistence_controller.py +++ b/FreeTAKServer/core/cot_management/controllers/cot_management_persistence_controller.py @@ -10,7 +10,7 @@ from FreeTAKServer.core.cot_management.persistence.usericon import Usericon if TYPE_CHECKING: - from FreeTAKServer.components.core.domain.domain import Event + from FreeTAKServer.components.core.fts_domain.domain import event from FreeTAKServer.components.core.abstract_component.cot_node import CoTNode from FreeTAKServer.core.cot_management.persistence import CoTManagementBase @@ -63,7 +63,7 @@ def create_db_session(self) -> Session: return SessionClass() # TODO add logic to update dests - def update_cot(self, cot_id: str, cot: 'Event'): + def update_cot(self, cot_id: str, cot: 'event'): cot_item = self.get_cot(cot_id) if cot_item is None: raise ValueError("Invalid COT provided.") @@ -119,7 +119,7 @@ def get_cot(self, cot_id: str) -> DBEvent: except Exception as ex: raise ex - def create_or_update_cot(self, cot: 'Event'): + def create_or_update_cot(self, cot: 'event'): try: cot_item = self.get_cot(cot.uid) if cot_item is None: @@ -129,7 +129,7 @@ def create_or_update_cot(self, cot: 'Event'): except Exception as ex: raise ex - def create_cot(self, cot: 'Event'): + def create_cot(self, cot: 'event'): try: cot_item = DBEvent() cot_item.uid = cot.uid diff --git a/FreeTAKServer/core/cot_management/controllers/cot_management_repeater_controller.py b/FreeTAKServer/core/cot_management/controllers/cot_management_repeater_controller.py index 4080b902..33a06923 100644 --- a/FreeTAKServer/core/cot_management/controllers/cot_management_repeater_controller.py +++ b/FreeTAKServer/core/cot_management/controllers/cot_management_repeater_controller.py @@ -10,7 +10,7 @@ from FreeTAKServer.core.cot_management.controllers.cot_management_repeater_persistence import CotManagementRepeaterPersistence # used for type hinting -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event class CotManagementRepeaterController(Controller): """this class is responsible for handling the business logic regarding the repeated messages @@ -77,7 +77,7 @@ def get_repeated_messages(self, **kwargs): for key, value in self.request.get_values().items(): self.response.set_value(key, value) - def create_repeated_messages(self, message: List[Event], **kwargs): + def create_repeated_messages(self, message: List[event], **kwargs): """add a message to be repeated Args: diff --git a/FreeTAKServer/core/domain/node.py b/FreeTAKServer/core/domain/node.py index 52f402c8..74a5428a 100644 --- a/FreeTAKServer/core/domain/node.py +++ b/FreeTAKServer/core/domain/node.py @@ -2,7 +2,7 @@ import re from typing import Dict, Any from digitalpy.core.persistence.impl.default_persistent_object import DefaultPersistentObject -from digitalpy.core.parsing.load_configuration import Configuration +from digitalpy.core.parsing.load_configuration import ModelConfiguration from digitalpy.core.domain.object_id import ObjectId from digitalpy.core.persistence.persistent_object import PersistentObject from digitalpy.core.persistence.persistent_object_proxy import PersistentObjectProxy @@ -31,7 +31,7 @@ class Node(DefaultPersistentObject): def __init__( self, node_type, - configuration: Configuration, + configuration: ModelConfiguration, model, oid: ObjectId = None, initial_data=None, @@ -44,7 +44,7 @@ def __init__( self._relationship_definition = configuration.elements[self.__class__.__name__] self._add_relationships(configuration, model) - def _add_relationships(self, configuration: Configuration, model) -> None: + def _add_relationships(self, configuration: ModelConfiguration, model) -> None: for ( relationship_name, relationship_def, diff --git a/FreeTAKServer/core/enterprise_sync/configuration/enterprise_sync_constants.py b/FreeTAKServer/core/enterprise_sync/configuration/enterprise_sync_constants.py index 3980ef75..6ae2f40a 100644 --- a/FreeTAKServer/core/enterprise_sync/configuration/enterprise_sync_constants.py +++ b/FreeTAKServer/core/enterprise_sync/configuration/enterprise_sync_constants.py @@ -51,4 +51,4 @@ pathlib.PurePath(CURRENT_COMPONENT_PATH, "configuration/manifest.ini") ) -BASE_OBJECT_NAME = "Event" \ No newline at end of file +BASE_OBJECT_NAME = "event" \ No newline at end of file diff --git a/FreeTAKServer/core/services/RestAPI.py b/FreeTAKServer/core/services/RestAPI.py index be04a150..6c03bad1 100644 --- a/FreeTAKServer/core/services/RestAPI.py +++ b/FreeTAKServer/core/services/RestAPI.py @@ -23,6 +23,9 @@ from markupsafe import escape from digitalpy.core.service_management.digitalpy_service import DigitalPyService +from digitalpy.core.service_management.controllers.service_management_main import ServiceManagementMain +from digitalpy.core.network.network_interface import NetworkInterface + from digitalpy.core.main.object_factory import ObjectFactory from digitalpy.core.zmanager.response import Response from digitalpy.core.zmanager.request import Request @@ -1871,8 +1874,10 @@ def emitUpdates(Updates): class RestAPI(DigitalPyService, FlaskView): route_base = '/' - def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter): - super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter) + def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter, + network: NetworkInterface, protocol: str, service_desc: ServiceManagementMain): + super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter, + network, protocol, service_desc) # a dictionary cotaining the request_id and response objects for all received requests # to prevent confusion between endpoints self.responses: Dict[str, Response] = {} diff --git a/FreeTAKServer/services/http_tak_api_service/http_tak_api_service_main.py b/FreeTAKServer/services/http_tak_api_service/http_tak_api_service_main.py index 798e923a..1607dffc 100644 --- a/FreeTAKServer/services/http_tak_api_service/http_tak_api_service_main.py +++ b/FreeTAKServer/services/http_tak_api_service/http_tak_api_service_main.py @@ -368,7 +368,17 @@ class HTTPTakAPI(DigitalPyService): responses: Dict[str, Response] = {} def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter): - super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter) + super().__init__( + service_id, + subject_address, + subject_port, + subject_protocol, + integration_manager_address, + integration_manager_port, + integration_manager_protocol, + formatter, + network=None, + protocol=APPLICATION_PROTOCOL) def get_response_in_responses(self, id): # check if the response has already been received diff --git a/FreeTAKServer/services/https_tak_api_service/https_tak_api_service_main.py b/FreeTAKServer/services/https_tak_api_service/https_tak_api_service_main.py index 99a8acdb..ba4e2fed 100644 --- a/FreeTAKServer/services/https_tak_api_service/https_tak_api_service_main.py +++ b/FreeTAKServer/services/https_tak_api_service/https_tak_api_service_main.py @@ -344,7 +344,18 @@ class HTTPSTakAPI(DigitalPyService): responses: Dict[str, Response] = {} def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter): - super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter) + super().__init__( + service_id, + subject_address, + subject_port, + subject_protocol, + integration_manager_address, + integration_manager_port, + integration_manager_protocol, + formatter, + network=None, + protocol=APPLICATION_PROTOCOL + ) def get_response_in_responses(self, id): # check if the response has already been received diff --git a/FreeTAKServer/services/rest_api_service/rest_api_service_main.py b/FreeTAKServer/services/rest_api_service/rest_api_service_main.py index 3f598997..3eb9de37 100644 --- a/FreeTAKServer/services/rest_api_service/rest_api_service_main.py +++ b/FreeTAKServer/services/rest_api_service/rest_api_service_main.py @@ -24,6 +24,9 @@ from digitalpy.core.zmanager.response import Response from digitalpy.core.zmanager.request import Request from digitalpy.core.parsing.formatter import Formatter +from digitalpy.core.telemetry.tracing_provider import TracingProvider +from digitalpy.core.service_management.controllers.service_management_main import ServiceManagementMain +from digitalpy.core.network.network_interface import NetworkInterface from FreeTAKServer.core.configuration.CreateLoggerController import CreateLoggerController @@ -1840,8 +1843,11 @@ class RestAPI(DigitalPyService): # to prevent confusion between endpoints responses: Dict[str, Response] = {} - def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter): - super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter) + def __init__(self, service_id: str, subject_address: str, subject_port: int, subject_protocol, integration_manager_address: str, integration_manager_port: int, integration_manager_protocol: str, formatter: Formatter, + network: NetworkInterface, protocol: str, service_desc: ServiceManagementMain): + + super().__init__(service_id, subject_address, subject_port, subject_protocol, integration_manager_address, integration_manager_port, integration_manager_protocol, formatter, + None, protocol, service_desc) def get_response_in_responses(self, id): # check if the response has already been received @@ -1898,15 +1904,12 @@ def stop(self): super().stop() socketio.stop() - def start(self, APIPipea, CommandPipea, IP, Port, starttime, factory): + def start(self, APIPipea, CommandPipea, IP, Port, starttime, object_factory, tracing_provider: TracingProvider, host: str = "", port: int = 0): print('running api') - #ObjectFactory.configure(factory) - #tracing_provider = ObjectFactory.get_instance("TracingProvider") - #super().start(factory, tracing_provider) - super().start() + super().start(object_factory=object_factory, tracing_provider=tracing_provider) self.initialize_connections(APPLICATION_PROTOCOL) - ObjectFactory.configure(factory) + ObjectFactory.configure(object_factory) from .controllers import persistency persistency.init_config(app) global APIPipe, CommandPipe, StartTime @@ -1918,6 +1921,10 @@ def start(self, APIPipea, CommandPipea, IP, Port, starttime, factory): # try below if something breaks # socketio.run(app, host='0.0.0.0', port=10984, debug=True, use_reloader=False) + def event_loop(self): + responses = self.broker_receive(blocking=True) + self.response_handler(responses=responses) + def register_blueprints(self, app): from .blueprints import geoobject_blueprint, emergency_blueprint, user_management_blueprint, datapackages_blueprint, missions_blueprint, excheck_blueprint app.register_blueprint(geoobject_blueprint.page) diff --git a/FreeTAKServer/services/ssl_cot_service/model/ssl_cot_connection.py b/FreeTAKServer/services/ssl_cot_service/model/ssl_cot_connection.py index 8ebf34ad..df1a42bd 100644 --- a/FreeTAKServer/services/ssl_cot_service/model/ssl_cot_connection.py +++ b/FreeTAKServer/services/ssl_cot_service/model/ssl_cot_connection.py @@ -4,7 +4,7 @@ from digitalpy.core.IAM.model.connection import Connection # direct import only to type hinting on line 20 -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from ..configuration.ssl_cot_service_constants import SERVICE_NAME, XML @@ -13,7 +13,7 @@ def __init__(self, oid=None) -> None: super().__init__("ssl_cot_connection", oid) self._service_id = SERVICE_NAME self._protocol = XML - self._model_object: Event = None + self._model_object: event = None self._sock: socket = None @property @@ -21,7 +21,7 @@ def model_object(self): return self._model_object @model_object.setter - def model_object(self, model_obj: Event): + def model_object(self, model_obj: event): self._model_object = model_obj @property diff --git a/FreeTAKServer/services/ssl_cot_service/ssl_cot_service_main.py b/FreeTAKServer/services/ssl_cot_service/ssl_cot_service_main.py index 2c308622..a71ed179 100644 --- a/FreeTAKServer/services/ssl_cot_service/ssl_cot_service_main.py +++ b/FreeTAKServer/services/ssl_cot_service/ssl_cot_service_main.py @@ -79,7 +79,7 @@ def __init__( integration_manager_address, integration_manager_port, integration_manager_protocol, - formatter: Formatter, + formatter: Formatter ): super().__init__( service_id, @@ -89,7 +89,9 @@ def __init__( integration_manager_address, integration_manager_port, integration_manager_protocol, - formatter + formatter, + network=None, + protocol=APPLICATION_PROTOCOL ) self.logger = logger diff --git a/FreeTAKServer/services/tcp_cot_service/model/tcp_cot_connection.py b/FreeTAKServer/services/tcp_cot_service/model/tcp_cot_connection.py index 6836abf5..bee58095 100644 --- a/FreeTAKServer/services/tcp_cot_service/model/tcp_cot_connection.py +++ b/FreeTAKServer/services/tcp_cot_service/model/tcp_cot_connection.py @@ -5,7 +5,7 @@ from digitalpy.core.IAM.model.connection import Connection # direct import only to type hinting on line 20 -from FreeTAKServer.components.core.domain.domain import Event +from FreeTAKServer.components.core.fts_domain.domain import event from ..configuration.tcp_cot_service_constants import SERVICE_NAME, XML @@ -14,7 +14,7 @@ def __init__(self, oid=None) -> None: super().__init__("tcp_cot_connection", oid) self._service_id = SERVICE_NAME self._protocol = XML - self._model_object: Event = None + self._model_object: event = None self._sock: socket = None @property @@ -22,7 +22,7 @@ def model_object(self): return self._model_object @model_object.setter - def model_object(self, model_obj: Event): + def model_object(self, model_obj: event): self._model_object = model_obj @property diff --git a/FreeTAKServer/services/tcp_cot_service/tcp_cot_service_main.py b/FreeTAKServer/services/tcp_cot_service/tcp_cot_service_main.py index 1aaf11df..308c7278 100644 --- a/FreeTAKServer/services/tcp_cot_service/tcp_cot_service_main.py +++ b/FreeTAKServer/services/tcp_cot_service/tcp_cot_service_main.py @@ -93,7 +93,9 @@ def __init__( integration_manager_address, integration_manager_port, integration_manager_protocol, - formatter + formatter, + network=None, + protocol=APPLICATION_PROTOCOL ) self.logger = logger