armodel 1.7.9__py3-none-any.whl → 1.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/cli/arxml_format_cli.py +1 -0
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -12
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +14 -14
- armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +2 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +36 -34
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +4 -4
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +5 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +3 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +3 -3
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +86 -9
- armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1249 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +13 -10
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +238 -225
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +5 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +46 -25
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +38 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +18 -20
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -19
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +4 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +71 -27
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +27 -17
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +172 -128
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +11 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +11 -11
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +16 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +6 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +35 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +25 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +83 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +90 -38
- armodel/models/M2/MSR/AsamHdo/AdminData.py +101 -8
- armodel/models/__init__.py +2 -0
- armodel/models/utils/__init__.py +0 -0
- armodel/models/utils/uuid_mgr.py +23 -0
- armodel/parser/abstract_arxml_parser.py +13 -5
- armodel/parser/arxml_parser.py +412 -85
- armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +116 -0
- armodel/tests/test_armodel/models/test_Identifiable.py +85 -0
- armodel/tests/test_armodel/models/test_ar_object.py +85 -86
- armodel/tests/test_armodel/models/test_ar_package.py +70 -70
- armodel/tests/test_armodel/models/test_ar_ref.py +36 -36
- armodel/tests/test_armodel/models/test_common_structure.py +37 -35
- armodel/tests/test_armodel/models/test_datatype.py +140 -142
- armodel/tests/test_armodel/models/test_general_structure.py +19 -18
- armodel/tests/test_armodel/models/test_port_interface.py +2 -6
- armodel/tests/test_armodel/parser/test_arxml_parser.py +8 -8
- armodel/writer/abstract_arxml_writer.py +6 -2
- armodel/writer/arxml_writer.py +414 -57
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/METADATA +31 -1
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/RECORD +58 -51
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/LICENSE +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/WHEEL +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/top_level.txt +0 -0
armodel/parser/arxml_parser.py
CHANGED
|
@@ -2,9 +2,7 @@ from typing import List
|
|
|
2
2
|
import xml.etree.ElementTree as ET
|
|
3
3
|
import os
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
|
|
7
|
-
from ..models.M2.MSR.AsamHdo.AdminData import AdminData
|
|
5
|
+
from ..models.M2.MSR.AsamHdo.AdminData import AdminData, DocRevision, Modification
|
|
8
6
|
from ..models.M2.MSR.AsamHdo.BaseTypes import BaseTypeDirectDefinition, SwBaseType
|
|
9
7
|
from ..models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstrRule, InternalConstrs, PhysConstrs, DataConstr
|
|
10
8
|
from ..models.M2.MSR.AsamHdo.ComputationMethod import CompuConstContent, CompuConstFormulaContent, CompuConstNumericContent, CompuMethod, Compu
|
|
@@ -29,6 +27,7 @@ from ..models.M2.MSR.Documentation.TextModel.BlockElements.ListElements import A
|
|
|
29
27
|
from ..models.M2.MSR.Documentation.TextModel.LanguageDataModel import LLongName, LOverviewParagraph, LParagraph, LanguageSpecific
|
|
30
28
|
from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph, MultiLanguageParagraph, MultiLanguagePlainText
|
|
31
29
|
from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
|
|
30
|
+
from ..models.M2.MSR.Documentation.TextModel.BlockElements.PaginationAndView import DocumentViewSelectable, Paginateable
|
|
32
31
|
|
|
33
32
|
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
34
33
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswApiOptions, BswAsynchronousServerCallPoint, BswBackgroundEvent
|
|
@@ -48,12 +47,13 @@ from ..models.M2.AUTOSARTemplates.CommonStructure.Filter import DataFilter
|
|
|
48
47
|
from ..models.M2.AUTOSARTemplates.CommonStructure.FlatMap import FlatInstanceDescriptor, FlatMap
|
|
49
48
|
from ..models.M2.AUTOSARTemplates.CommonStructure.Implementation import ImplementationProps, Code
|
|
50
49
|
from ..models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity, InternalBehavior
|
|
51
|
-
from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup,
|
|
50
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup, ModeDeclarationGroupPrototypeMapping
|
|
51
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeRequestTypeMap, ModeDeclarationGroupPrototype
|
|
52
52
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption import ResourceConsumption
|
|
53
53
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.MemorySectionUsage import MemorySection
|
|
54
54
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.StackUsage import RoughEstimateStackUsage, StackUsage
|
|
55
55
|
from ..models.M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping, SwcBswRunnableMapping
|
|
56
|
-
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagEventDebounceMonitorInternal
|
|
56
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagEventDebounceMonitorInternal, DltUserNeeds, ServiceNeeds
|
|
57
57
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticCapabilityElement, DtcStatusChangeNotificationNeeds
|
|
58
58
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticCommunicationManagerNeeds, DiagnosticEventInfoNeeds
|
|
59
59
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticEventNeeds, DiagnosticRoutineNeeds, DiagnosticValueNeeds
|
|
@@ -67,11 +67,22 @@ from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.Execut
|
|
|
67
67
|
from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming, TimingExtension
|
|
68
68
|
from ..models.M2.AUTOSARTemplates.CommonStructure.TriggerDeclaration import Trigger
|
|
69
69
|
from ..models.M2.AUTOSARTemplates.DiagnosticExtract.DiagnosticContribution import DiagnosticServiceTable
|
|
70
|
-
from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucAbstractReferenceValue, EcucContainerValue,
|
|
70
|
+
from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucAbstractReferenceValue, EcucContainerValue, EcucDefinitionElement
|
|
71
|
+
from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleDef, EcucInstanceReferenceValue
|
|
71
72
|
from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigurationValues, EcucNumericalParamValue, EcucParameterValue
|
|
72
73
|
from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucReferenceValue, EcucTextualParamValue, EcucValueCollection
|
|
73
74
|
from ..models.M2.AUTOSARTemplates.EcuResourceTemplate import HwDescriptionEntity, HwElement, HwPinGroup
|
|
74
75
|
from ..models.M2.AUTOSARTemplates.EcuResourceTemplate.HwElementCategory import HwAttributeDef, HwCategory, HwType
|
|
76
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucAbstractConfigurationClass, EcucAbstractInternalReferenceDef
|
|
77
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucFunctionNameDef, EcucReferenceDef
|
|
78
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucAbstractReferenceDef, EcucSymbolicNameReferenceDef
|
|
79
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucAbstractStringParamDef, EcucBooleanParamDef
|
|
80
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucValueConfigurationClass
|
|
81
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucCommonAttributes, EcucEnumerationLiteralDef, EcucEnumerationParamDef
|
|
82
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucFloatParamDef, EcucIntegerParamDef
|
|
83
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucChoiceContainerDef, EcucStringParamDef
|
|
84
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucContainerDef, EcucParameterDef
|
|
85
|
+
from ..models.M2.AUTOSARTemplates.ECUCParameterDefTemplate import EcucMultiplicityConfigurationClass, EcucParamConfContainerDef
|
|
75
86
|
from ..models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AnyInstanceRef
|
|
76
87
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ElementCollection import Collection
|
|
77
88
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Describable, Identifiable
|
|
@@ -112,6 +123,8 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes im
|
|
|
112
123
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationRecordElement, AutosarDataPrototype
|
|
113
124
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import DataPrototype, ParameterDataPrototype, VariableDataPrototype
|
|
114
125
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ArgumentDataPrototype, ClientServerInterface, ClientServerInterfaceMapping
|
|
126
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ModeDeclarationMapping
|
|
127
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ModeDeclarationMappingSet, ModeInterfaceMapping
|
|
115
128
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerOperation, ClientServerOperationMapping
|
|
116
129
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import DataPrototypeMapping, InvalidationPolicy, ModeSwitchInterface
|
|
117
130
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ParameterInterface, PortInterface, PortInterfaceMappingSet
|
|
@@ -248,13 +261,45 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
248
261
|
self.readSdgSdxRefs(element, sdg)
|
|
249
262
|
return sdg
|
|
250
263
|
|
|
251
|
-
def
|
|
264
|
+
def readAdminDataSdgs(self, element: ET.Element, admin_data: AdminData):
|
|
252
265
|
for child_element in self.findall(element, "SDGS/*"):
|
|
253
266
|
tag_name = self.getTagName(child_element)
|
|
254
267
|
if tag_name == "SDG":
|
|
255
268
|
admin_data.addSdg(self.getSdg(child_element))
|
|
256
269
|
else:
|
|
257
270
|
self.notImplemented("Unsupported SDG <%s>" % tag_name)
|
|
271
|
+
|
|
272
|
+
def readModification(self, element: ET.Element, modification: Modification):
|
|
273
|
+
modification.setChange(self.getMultiLanguageOverviewParagraph(element, "CHANGE")) \
|
|
274
|
+
.setReason(self.getMultiLanguageOverviewParagraph(element, "REASON"))
|
|
275
|
+
|
|
276
|
+
def readDocRevisionModifications(self, element: ET.Element, revision: DocRevision):
|
|
277
|
+
for child_element in self.findall(element, "MODIFICATIONS/*"):
|
|
278
|
+
tag_name = self.getTagName(child_element)
|
|
279
|
+
if tag_name == "MODIFICATION":
|
|
280
|
+
modification = Modification()
|
|
281
|
+
self.readModification(child_element, modification)
|
|
282
|
+
revision.addModification(modification)
|
|
283
|
+
else:
|
|
284
|
+
self.notImplemented("Unsupported Modification <%s>" % tag_name)
|
|
285
|
+
|
|
286
|
+
def readDocRevision(self, element: ET.Element, revision: DocRevision):
|
|
287
|
+
revision.setDate(self.getChildElementOptionalDataTime(element, "DATE")) \
|
|
288
|
+
.setIssuedBy(self.getChildElementOptionalLiteral(element, "ISSUED-BY")) \
|
|
289
|
+
.setRevisionLabel(self.getChildElementOptionalRevisionLabelString(element, "REVISION-LABEL")) \
|
|
290
|
+
.setState(self.getChildElementOptionalLiteral(element, "STATE"))
|
|
291
|
+
|
|
292
|
+
self.readDocRevisionModifications(element, revision)
|
|
293
|
+
|
|
294
|
+
def readAdminDataDocRevisions(self, element: ET.Element, admin_data: AdminData):
|
|
295
|
+
for child_element in self.findall(element, "DOC-REVISIONS/*"):
|
|
296
|
+
tag_name = self.getTagName(child_element)
|
|
297
|
+
if tag_name == "DOC-REVISION":
|
|
298
|
+
revision = DocRevision()
|
|
299
|
+
self.readDocRevision(child_element, revision)
|
|
300
|
+
admin_data.addDocRevision(revision)
|
|
301
|
+
else:
|
|
302
|
+
self.notImplemented("Unsupported DocRevision <%s>" % tag_name)
|
|
258
303
|
|
|
259
304
|
def getAdminData(self, element: ET.Element, key: str) -> AdminData:
|
|
260
305
|
admin_data = None
|
|
@@ -265,7 +310,8 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
265
310
|
admin_data.setLanguage(self.getChildElementOptionalLiteral(child_element, "LANGUAGE")) \
|
|
266
311
|
.setUsedLanguages(self.getMultiLanguagePlainText(child_element, "USED-LANGUAGES"))
|
|
267
312
|
|
|
268
|
-
self.
|
|
313
|
+
self.readAdminDataSdgs(child_element, admin_data)
|
|
314
|
+
self.readAdminDataDocRevisions(child_element, admin_data)
|
|
269
315
|
return admin_data
|
|
270
316
|
|
|
271
317
|
def readReferrable(self, element: ET.Element, referrable: Referrable):
|
|
@@ -367,7 +413,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
367
413
|
for child_element in self.findall(element, "%s/VARIABLE-ACCESS" % key):
|
|
368
414
|
short_name = self.getShortName(child_element)
|
|
369
415
|
|
|
370
|
-
self.logger.debug("
|
|
416
|
+
# self.logger.debug("Read VariableAccesses %s" % short_name)
|
|
371
417
|
|
|
372
418
|
if (key == "DATA-RECEIVE-POINT-BY-ARGUMENTS"):
|
|
373
419
|
variable_access = parent.createDataReceivePointByArgument(short_name)
|
|
@@ -400,7 +446,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
400
446
|
ref = self.getChildElementOptionalRefType(child_element, "BSW-MODULE-ENTRY-REF")
|
|
401
447
|
if (ref is not None):
|
|
402
448
|
parent.addImplementedEntryRef(ref)
|
|
403
|
-
self.logger.debug("ImplementedEntry <%s> of BswModuleDescription <%s> has been added", ref.value, parent.getShortName())
|
|
449
|
+
# self.logger.debug("ImplementedEntry <%s> of BswModuleDescription <%s> has been added", ref.value, parent.getShortName())
|
|
404
450
|
|
|
405
451
|
def readModeDeclarationGroupPrototype(self, element: ET.Element, prototype: ModeDeclarationGroupPrototype):
|
|
406
452
|
self.readIdentifiable(element, prototype)
|
|
@@ -429,7 +475,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
429
475
|
entity.addCanEnterExclusiveAreaRef(ref)
|
|
430
476
|
|
|
431
477
|
def readExecutableEntity(self, element: ET.Element, entity: ExecutableEntity):
|
|
432
|
-
self.logger.debug("
|
|
478
|
+
# self.logger.debug("Read ExecutableEntity %s" % entity.getShortName())
|
|
433
479
|
self.readIdentifiable(element, entity)
|
|
434
480
|
self.readCanEnterExclusiveAreaRefs(element, entity)
|
|
435
481
|
entity.setMinimumStartInterval(self.getChildElementOptionalFloatValue(element, "MINIMUM-START-INTERVAL")) \
|
|
@@ -448,7 +494,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
448
494
|
self.readBswEvent(element, event)
|
|
449
495
|
|
|
450
496
|
def readBswModeSwitchEvent(self, element: ET.Element, event: BswModeSwitchEvent):
|
|
451
|
-
self.logger.debug("Read BswModeSwitchEvent <%s>" % event.getShortName())
|
|
497
|
+
# self.logger.debug("Read BswModeSwitchEvent <%s>" % event.getShortName())
|
|
452
498
|
# Read the Inherit BswScheduleEvent
|
|
453
499
|
self.readBswScheduleEvent(element, event)
|
|
454
500
|
|
|
@@ -463,13 +509,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
463
509
|
self.logger.debug(" Period: <%f, %s>" % (event.getPeriod().getValue(), event.getPeriod().getText()))
|
|
464
510
|
|
|
465
511
|
def readBswDataReceivedEvent(self, element: ET.Element, event: BswDataReceivedEvent):
|
|
466
|
-
self.logger.debug("Read BswDataReceivedEvent <%s>" % event.getShortName())
|
|
512
|
+
# self.logger.debug("Read BswDataReceivedEvent <%s>" % event.getShortName())
|
|
467
513
|
# Read the Inherit BswScheduleEvent
|
|
468
514
|
self.readBswScheduleEvent(element, event)
|
|
469
515
|
event.setDataRef(self.getChildElementOptionalRefType(element, "DATA-REF"))
|
|
470
516
|
|
|
471
517
|
def readBswInternalTriggerOccurredEvent(self, element: ET.Element, event: BswInternalTriggerOccurredEvent):
|
|
472
|
-
self.logger.debug("Read BswInternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
518
|
+
# self.logger.debug("Read BswInternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
473
519
|
# Read the Inherit BswScheduleEvent
|
|
474
520
|
self.readBswScheduleEvent(element, event)
|
|
475
521
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
@@ -566,9 +612,12 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
566
612
|
else:
|
|
567
613
|
self.raiseError("Unsupported assigned ports <%s>" % tag_name)
|
|
568
614
|
|
|
569
|
-
def
|
|
570
|
-
self.logger.debug("Read NvBlockNeeds <%s>" % needs.getShortName())
|
|
615
|
+
def readServiceNeeds(self, element: ET.Element, needs: ServiceNeeds):
|
|
571
616
|
self.readIdentifiable(element, needs)
|
|
617
|
+
|
|
618
|
+
def readNvBlockNeeds(self, element: ET.Element, needs: NvBlockNeeds):
|
|
619
|
+
# self.logger.debug("Read NvBlockNeeds <%s>" % needs.getShortName())
|
|
620
|
+
self.readServiceNeeds(element, needs)
|
|
572
621
|
needs.setCalcRamBlockCrc(self.getChildElementOptionalBooleanValue(element, "CALC-RAM-BLOCK-CRC")) \
|
|
573
622
|
.setCheckStaticBlockId(self.getChildElementOptionalBooleanValue(element, "CHECK-STATIC-BLOCK-ID")) \
|
|
574
623
|
.setNDataSets(self.getChildElementOptionalNumericalValue(element, "N-DATA-SETS")) \
|
|
@@ -590,21 +639,21 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
590
639
|
.setWritingPriority(self.getChildElementOptionalLiteral(element, "WRITING-PRIORITY"))
|
|
591
640
|
|
|
592
641
|
def readDiagnosticCapabilityElement(self, element: ET.Element, needs: DiagnosticCapabilityElement):
|
|
593
|
-
self.
|
|
642
|
+
self.readServiceNeeds(element, needs)
|
|
594
643
|
|
|
595
644
|
def readDiagnosticCommunicationManagerNeeds(self, element: ET.Element, needs: DiagnosticCommunicationManagerNeeds):
|
|
596
|
-
self.logger.debug("Read DiagnosticCommunicationManagerNeeds <%s>" % needs.getShortName())
|
|
645
|
+
# self.logger.debug("Read DiagnosticCommunicationManagerNeeds <%s>" % needs.getShortName())
|
|
597
646
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
598
647
|
needs.setServiceRequestCallbackType(self.getChildElementOptionalLiteral(element, "SERVICE-REQUEST-CALLBACK-TYPE"))
|
|
599
648
|
|
|
600
649
|
def readDiagnosticRoutineNeeds(self, element: ET.Element, needs: DiagnosticRoutineNeeds):
|
|
601
|
-
self.logger.debug("Read DiagnosticRoutineNeeds %s" % needs.getShortName())
|
|
650
|
+
# self.logger.debug("Read DiagnosticRoutineNeeds %s" % needs.getShortName())
|
|
602
651
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
603
652
|
needs.setDiagRoutineType(self.getChildElementOptionalLiteral(element, "DIAG-ROUTINE-TYPE")) \
|
|
604
653
|
.setRidNumber(self.getChildElementOptionalIntegerValue(element, "RID-NUMBER"))
|
|
605
654
|
|
|
606
655
|
def readDiagnosticValueNeeds(self, element: ET.Element, needs: DiagnosticValueNeeds):
|
|
607
|
-
self.logger.debug("Read DiagnosticValueNeeds %s" % needs.getShortName())
|
|
656
|
+
# self.logger.debug("Read DiagnosticValueNeeds %s" % needs.getShortName())
|
|
608
657
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
609
658
|
needs.setDataLength(self.getChildElementOptionalPositiveInteger(element, "DATA-LENGTH")) \
|
|
610
659
|
.setDiagnosticValueAccess(self.getChildElementOptionalLiteral(element, "DIAGNOSTIC-VALUE-ACCESS")) \
|
|
@@ -625,32 +674,36 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
625
674
|
self.notImplemented("Unsupported DiagEventDebounceAlgorithm <%s>" % tag_name)
|
|
626
675
|
|
|
627
676
|
def readDiagnosticEventNeeds(self, element: ET.Element, needs: DiagnosticEventNeeds):
|
|
628
|
-
self.logger.debug("Read DiagnosticEventNeeds <%s>" % needs.getShortName())
|
|
677
|
+
# self.logger.debug("Read DiagnosticEventNeeds <%s>" % needs.getShortName())
|
|
629
678
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
630
679
|
self.readDiagEventDebounceAlgorithm(element, needs)
|
|
631
680
|
needs.setDtcKind(self.getChildElementOptionalLiteral(element, "DTC-KIND")) \
|
|
632
681
|
.setUdsDtcNumber(self.getChildElementOptionalIntegerValue(element, "UDS-DTC-NUMBER"))
|
|
633
682
|
|
|
634
683
|
def readDiagnosticEventInfoNeeds(self, element: ET.Element, needs: DiagnosticEventInfoNeeds):
|
|
635
|
-
self.logger.debug("Read DiagnosticEventInfoNeeds <%s>" % needs.getShortName())
|
|
684
|
+
# self.logger.debug("Read DiagnosticEventInfoNeeds <%s>" % needs.getShortName())
|
|
636
685
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
637
686
|
needs.setDtcKind(self.getChildElementOptionalLiteral(element, "DTC-KIND"))
|
|
638
687
|
needs.setUdsDtcNumber(self.getChildElementOptionalPositiveInteger(element, "UDS-DTC-NUMBER"))
|
|
639
688
|
|
|
640
689
|
def readCryptoServiceNeeds(self, element: ET.Element, needs: CryptoServiceNeeds):
|
|
641
|
-
self.logger.debug("Read CryptoServiceNeeds <%s>" % needs.getShortName())
|
|
642
|
-
self.
|
|
690
|
+
# self.logger.debug("Read CryptoServiceNeeds <%s>" % needs.getShortName())
|
|
691
|
+
self.readServiceNeeds(element, needs)
|
|
643
692
|
needs.setMaximumKeyLength(self.getChildElementOptionalPositiveInteger(element, "MAXIMUM-KEY-LENGTH"))
|
|
644
693
|
|
|
645
694
|
def readEcuStateMgrUserNeeds(self, element: ET.Element, needs: EcuStateMgrUserNeeds):
|
|
646
|
-
self.logger.debug("Read EcuStateMgrUserNeeds %s" % needs.getShortName())
|
|
647
|
-
self.
|
|
695
|
+
# self.logger.debug("Read EcuStateMgrUserNeeds %s" % needs.getShortName())
|
|
696
|
+
self.readServiceNeeds(element, needs)
|
|
648
697
|
|
|
649
698
|
def readDtcStatusChangeNotificationNeeds(self, element: ET.Element, needs: DtcStatusChangeNotificationNeeds):
|
|
650
|
-
self.logger.debug("Read DtcStatusChangeNotificationNeeds %s" % needs.getShortName())
|
|
699
|
+
# self.logger.debug("Read DtcStatusChangeNotificationNeeds %s" % needs.getShortName())
|
|
651
700
|
self.readDiagnosticCapabilityElement(element, needs)
|
|
652
701
|
needs.setDtcFormatType(self.getChildElementOptionalLiteral(element, "DTC-FORMAT-TYPE"))
|
|
653
702
|
|
|
703
|
+
def readDltUserNeeds(self, element: ET.Element, needs: DltUserNeeds):
|
|
704
|
+
# self.logger.debug("Read DltUserNeeds %s" % needs.getShortName())
|
|
705
|
+
self.readServiceNeeds(element, needs)
|
|
706
|
+
|
|
654
707
|
def readSwcServiceDependencyServiceNeeds(self, element: ET.Element, parent: SwcServiceDependency):
|
|
655
708
|
for child_element in self.findall(element, "SERVICE-NEEDS/*"):
|
|
656
709
|
tag_name = self.getTagName(child_element)
|
|
@@ -681,13 +734,16 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
681
734
|
elif tag_name == "DTC-STATUS-CHANGE-NOTIFICATION-NEEDS":
|
|
682
735
|
needs = parent.createDtcStatusChangeNotificationNeeds(self.getShortName(child_element))
|
|
683
736
|
self.readDtcStatusChangeNotificationNeeds(child_element, needs)
|
|
737
|
+
elif tag_name == "DLT-USER-NEEDS":
|
|
738
|
+
needs = parent.createDltUserNeeds(self.getShortName(child_element))
|
|
739
|
+
self.readDltUserNeeds(child_element, needs)
|
|
684
740
|
else:
|
|
685
741
|
self.notImplemented("Unsupported service needs <%s>" % tag_name)
|
|
686
742
|
|
|
687
743
|
def readSwcServiceDependency(self, element: ET.Element, parent: SwcInternalBehavior):
|
|
688
744
|
short_name = self.getShortName(element)
|
|
689
745
|
dependency = parent.createSwcServiceDependency(short_name)
|
|
690
|
-
self.logger.debug("
|
|
746
|
+
# self.logger.debug("Read SwcServiceDependency %s" % short_name)
|
|
691
747
|
self.readServiceDependency(element, dependency)
|
|
692
748
|
self.readSwcServiceDependencyAssignedData(element, dependency)
|
|
693
749
|
self.readSwcServiceDependencyAssignedPorts(element, dependency)
|
|
@@ -831,15 +887,15 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
831
887
|
self.readBswModuleEntityIssuedTriggerRefs(element, entity)
|
|
832
888
|
|
|
833
889
|
def readBswCalledEntity(self, element: ET.Element, entity: BswCalledEntity):
|
|
834
|
-
self.logger.debug("
|
|
890
|
+
# self.logger.debug("Read BswCalledEntity %s" % entity.getShortName())
|
|
835
891
|
self.readBswModuleEntity(element, entity)
|
|
836
892
|
|
|
837
893
|
def readBswSchedulableEntity(self, element: ET.Element, entity: BswSchedulableEntity):
|
|
838
|
-
self.logger.debug("
|
|
894
|
+
# self.logger.debug("Read BswSchedulableEntity %s" % entity.getShortName())
|
|
839
895
|
self.readBswModuleEntity(element, entity)
|
|
840
896
|
|
|
841
897
|
def readBswInterruptEntity(self, element: ET.Element, entity: BswInterruptEntity):
|
|
842
|
-
self.logger.debug("
|
|
898
|
+
# self.logger.debug("Read BswSchedulableEntity %s" % entity.getShortName())
|
|
843
899
|
self.readBswModuleEntity(element, entity)
|
|
844
900
|
entity.setInterruptCategory(self.getChildElementOptionalLiteral(element, "INTERRUPT-CATEGORY")) \
|
|
845
901
|
.setInterruptSource(self.getChildElementOptionalLiteral(element, "INTERRUPT-SOURCE"))
|
|
@@ -1056,8 +1112,6 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1056
1112
|
.setExecutionContext(self.getChildElementOptionalLiteral(element, "EXECUTION-CONTEXT")) \
|
|
1057
1113
|
.setSwServiceImplPolicy(self.getChildElementOptionalLiteral(element, "SW-SERVICE-IMPL-POLICY"))
|
|
1058
1114
|
|
|
1059
|
-
self.logger.debug("read BswModuleEntry %s" % entry.getShortName())
|
|
1060
|
-
|
|
1061
1115
|
def readEngineeringObject(self, element: ET.Element, engineering_obj: EngineeringObject):
|
|
1062
1116
|
self.readARObjectAttributes(element, engineering_obj)
|
|
1063
1117
|
engineering_obj.setShortLabel(self.getChildElementOptionalLiteral(element, "SHORT-LABEL")) \
|
|
@@ -1066,7 +1120,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1066
1120
|
def getAutosarEngineeringObject(self, element: ET.Element) -> AutosarEngineeringObject:
|
|
1067
1121
|
obj = AutosarEngineeringObject()
|
|
1068
1122
|
self.readEngineeringObject(element, obj)
|
|
1069
|
-
self.logger.debug("
|
|
1123
|
+
# self.logger.debug("Get AutosarEngineeringObject %s", obj.short_label)
|
|
1070
1124
|
return obj
|
|
1071
1125
|
|
|
1072
1126
|
def readArtifactDescriptor(self, element: ET.Element, code_desc: Code):
|
|
@@ -1080,7 +1134,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1080
1134
|
def readCodeDescriptor(self, element: ET.Element, impl: Implementation):
|
|
1081
1135
|
for child_element in self.findall(element, "CODE-DESCRIPTORS/CODE"):
|
|
1082
1136
|
short_name = self.getShortName(child_element)
|
|
1083
|
-
self.logger.debug("
|
|
1137
|
+
# self.logger.debug("Read CodeDescriptor %s" % short_name)
|
|
1084
1138
|
code_desc = impl.createCodeDescriptor(short_name)
|
|
1085
1139
|
self.readIdentifiable(child_element, code_desc)
|
|
1086
1140
|
self.readArtifactDescriptor(child_element, code_desc)
|
|
@@ -1101,7 +1155,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1101
1155
|
memory_section.setSize(self.getChildElementOptionalNumericalValue(child_element, "SIZE")) \
|
|
1102
1156
|
.setSwAddrMethodRef(self.getChildElementOptionalRefType(child_element, "SW-ADDRMETHOD-REF")) \
|
|
1103
1157
|
.setSymbol(self.getChildElementOptionalLiteral(child_element, "SYMBOL"))
|
|
1104
|
-
self.logger.debug("read MemorySections %s" % memory_section.getShortName())
|
|
1158
|
+
# self.logger.debug("read MemorySections %s" % memory_section.getShortName())
|
|
1105
1159
|
|
|
1106
1160
|
def readStackUsage(self, element: ET.Element, usage: StackUsage):
|
|
1107
1161
|
self.logger.debug("read StackUsage %s" % usage.getShortName())
|
|
@@ -1226,16 +1280,16 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1226
1280
|
parent.addModeIRef(mode_iref)
|
|
1227
1281
|
|
|
1228
1282
|
def readSynchronousServerCallPoint(self, element: ET.Element, parent: RunnableEntity):
|
|
1283
|
+
# self.logger.debug("readSynchronousServerCallPoint %s" % short_name)
|
|
1229
1284
|
short_name = self.getShortName(element)
|
|
1230
|
-
self.logger.debug("readSynchronousServerCallPoint %s" % short_name)
|
|
1231
1285
|
server_call_point = parent.createSynchronousServerCallPoint(short_name)
|
|
1232
1286
|
self.readIdentifiable(element, server_call_point)
|
|
1233
1287
|
server_call_point.setTimeout(self.getChildElementOptionalFloatValue(element, "TIMEOUT"))
|
|
1234
1288
|
self.readROperationIRef(element, "OPERATION-IREF", server_call_point)
|
|
1235
1289
|
|
|
1236
1290
|
def readAsynchronousServerCallPoint(self, element: ET.Element, parent: RunnableEntity):
|
|
1291
|
+
# self.logger.debug("readAsynchronousServerCallPoint %s" % short_name)
|
|
1237
1292
|
short_name = self.getShortName(element)
|
|
1238
|
-
self.logger.debug("readAsynchronousServerCallPoint %s" % short_name)
|
|
1239
1293
|
server_call_point = parent.createAsynchronousServerCallPoint(short_name)
|
|
1240
1294
|
self.readIdentifiable(element, server_call_point)
|
|
1241
1295
|
server_call_point.setTimeout(self.getChildElementOptionalFloatValue(element, "TIMEOUT"))
|
|
@@ -1388,7 +1442,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1388
1442
|
parent.setOperationIRef(operation_iref)
|
|
1389
1443
|
|
|
1390
1444
|
def readOperationInvokedEvent(self, element: ET.Element, event: OperationInvokedEvent):
|
|
1391
|
-
self.logger.debug("Read OperationInvokedEvent <%s>" % event.getShortName())
|
|
1445
|
+
# self.logger.debug("Read OperationInvokedEvent <%s>" % event.getShortName())
|
|
1392
1446
|
self.readPOperationIRef(element, "OPERATION-IREF", event)
|
|
1393
1447
|
self.readRTEEvent(element, event)
|
|
1394
1448
|
|
|
@@ -1446,43 +1500,43 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1446
1500
|
behavior.addPortAPIOption(option)
|
|
1447
1501
|
|
|
1448
1502
|
def readTimingEvent(self, element: ET.Element, event: TimingEvent):
|
|
1449
|
-
self.logger.debug("Read TimingEvent <%s>" % event.getShortName())
|
|
1503
|
+
# self.logger.debug("Read TimingEvent <%s>" % event.getShortName())
|
|
1450
1504
|
self.readRTEEvent(element, event)
|
|
1451
1505
|
event.setOffset(self.getChildElementOptionalTimeValue(element, "OFFSET")) \
|
|
1452
1506
|
.setPeriod(self.getChildElementOptionalTimeValue(element, "PERIOD"))
|
|
1453
1507
|
|
|
1454
1508
|
def readDataReceivedEvent(self, element: ET.Element, event: DataReceivedEvent):
|
|
1455
|
-
self.logger.debug("Read DataReceivedEvent <%s>" % event.getShortName())
|
|
1509
|
+
# self.logger.debug("Read DataReceivedEvent <%s>" % event.getShortName())
|
|
1456
1510
|
self.readRTEEvent(element, event)
|
|
1457
1511
|
self.readRVariableInAtomicSwcInstanceRef(element, event)
|
|
1458
1512
|
|
|
1459
1513
|
def readSwcModeSwitchEvent(self, element: ET.Element, event: SwcModeSwitchEvent):
|
|
1460
|
-
self.logger.debug("Read SwcModeSwitchEvent <%s>" % event.getShortName())
|
|
1514
|
+
# self.logger.debug("Read SwcModeSwitchEvent <%s>" % event.getShortName())
|
|
1461
1515
|
self.readRTEEvent(element, event)
|
|
1462
1516
|
event.setActivation(self.getChildElementOptionalLiteral(element, "ACTIVATION"))
|
|
1463
1517
|
self.readRModeInAtomicSwcInstanceRef(element, event)
|
|
1464
1518
|
|
|
1465
1519
|
def readInternalTriggerOccurredEvent(self, element: ET.Element, event: InternalTriggerOccurredEvent):
|
|
1466
|
-
self.logger.debug("Read InternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
1520
|
+
# self.logger.debug("Read InternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
1467
1521
|
self.readRTEEvent(element, event)
|
|
1468
1522
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1469
1523
|
|
|
1470
1524
|
def readInitEvent(self, element, event: InitEvent):
|
|
1471
|
-
self.logger.debug("Read InitEvent <%s>" % event.getShortName())
|
|
1525
|
+
# self.logger.debug("Read InitEvent <%s>" % event.getShortName())
|
|
1472
1526
|
self.readRTEEvent(element, event)
|
|
1473
1527
|
|
|
1474
1528
|
def readAsynchronousServerCallReturnsEvent(self, element, event: AsynchronousServerCallReturnsEvent):
|
|
1475
|
-
self.logger.debug("Read AsynchronousServerCallReturnsEvent <%s>" % event.getShortName())
|
|
1529
|
+
# self.logger.debug("Read AsynchronousServerCallReturnsEvent <%s>" % event.getShortName())
|
|
1476
1530
|
self.readRTEEvent(element, event)
|
|
1477
1531
|
event.setActivationReasonRepresentationRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1478
1532
|
|
|
1479
1533
|
def readModeSwitchedAckEvent(self, element, event: ModeSwitchedAckEvent):
|
|
1480
|
-
self.logger.debug("Read ModeSwitchedAckEvent <%s>" % event.getShortName())
|
|
1534
|
+
# self.logger.debug("Read ModeSwitchedAckEvent <%s>" % event.getShortName())
|
|
1481
1535
|
self.readRTEEvent(element, event)
|
|
1482
1536
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1483
1537
|
|
|
1484
1538
|
def readBackgroundEvent(self, element, event: BackgroundEvent):
|
|
1485
|
-
self.logger.debug("Read BackgroundEvent <%s>" % event.getShortName())
|
|
1539
|
+
# self.logger.debug("Read BackgroundEvent <%s>" % event.getShortName())
|
|
1486
1540
|
self.readRTEEvent(element, event)
|
|
1487
1541
|
|
|
1488
1542
|
def readSwcInternalBehaviorEvents(self, element: ET.Element, parent: SwcInternalBehavior):
|
|
@@ -1749,7 +1803,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1749
1803
|
self.readAutosarDataType(element, data_type)
|
|
1750
1804
|
|
|
1751
1805
|
def readApplicationRecordElement(self, element: ET.Element, record_element: ApplicationRecordElement):
|
|
1752
|
-
self.logger.debug("
|
|
1806
|
+
# self.logger.debug("Read ApplicationRecordElement %s" % record_element.getShortName())
|
|
1753
1807
|
self.readApplicationCompositeElementDataPrototype(element, record_element)
|
|
1754
1808
|
|
|
1755
1809
|
def readApplicationRecordDataTypeElements(self, element: ET.Element, parent: ApplicationRecordDataType):
|
|
@@ -1808,7 +1862,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1808
1862
|
return iref
|
|
1809
1863
|
|
|
1810
1864
|
def getCompositeNetworkRepresentation(self, element: ET.Element) -> CompositeNetworkRepresentation:
|
|
1811
|
-
self.logger.debug("getCompositeNetworkRepresentation")
|
|
1865
|
+
# self.logger.debug("getCompositeNetworkRepresentation")
|
|
1812
1866
|
representation = CompositeNetworkRepresentation()
|
|
1813
1867
|
representation.setLeafElementIRef(self.getApplicationCompositeElementInPortInterfaceInstanceRef(element, "LEAF-ELEMENT-IREF")) \
|
|
1814
1868
|
.setNetworkRepresentation(self.getSwDataDefProps(element, "NETWORK-REPRESENTATION"))
|
|
@@ -1839,7 +1893,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1839
1893
|
value_list = None
|
|
1840
1894
|
child_element = self.find(element, key)
|
|
1841
1895
|
if child_element is not None:
|
|
1842
|
-
self.logger.debug("
|
|
1896
|
+
# self.logger.debug("Get ValueList %s" % key)
|
|
1843
1897
|
value_list = ValueList()
|
|
1844
1898
|
self.readARObjectAttributes(child_element, value_list)
|
|
1845
1899
|
value_list.setV(self.getChildElementOptionalFloatValue(child_element, "V"))
|
|
@@ -1849,7 +1903,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1849
1903
|
cont = None
|
|
1850
1904
|
child_element = self.find(element, "SW-VALUE-CONT")
|
|
1851
1905
|
if child_element is not None:
|
|
1852
|
-
self.logger.debug("
|
|
1906
|
+
# self.logger.debug("Get SwValueCont")
|
|
1853
1907
|
cont = SwValueCont()
|
|
1854
1908
|
self.readARObjectAttributes(child_element, cont)
|
|
1855
1909
|
cont.setUnitRef(self.getChildElementOptionalRefType(child_element, "UNIT-REF")) \
|
|
@@ -1931,7 +1985,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1931
1985
|
self.readProvidedComSpec(element, prototype)
|
|
1932
1986
|
|
|
1933
1987
|
def readPPortPrototype(self, element: ET.Element, prototype: PPortPrototype):
|
|
1934
|
-
self.logger.debug("Read PPortPrototype %s" % prototype.getShortName())
|
|
1988
|
+
# self.logger.debug("Read PPortPrototype %s" % prototype.getShortName())
|
|
1935
1989
|
self.readIdentifiable(element, prototype)
|
|
1936
1990
|
self.readAbstractRequiredPortPrototype(element, prototype)
|
|
1937
1991
|
prototype.setProvidedInterfaceTRef(self.getChildElementOptionalRefType(element, "PROVIDED-INTERFACE-TREF"))
|
|
@@ -1940,13 +1994,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1940
1994
|
self.readRequiredComSpec(element, prototype)
|
|
1941
1995
|
|
|
1942
1996
|
def readRPortPrototype(self, element: ET.Element, prototype: RPortPrototype):
|
|
1943
|
-
self.logger.debug("Read RPortPrototype %s" % prototype.getShortName())
|
|
1997
|
+
# self.logger.debug("Read RPortPrototype %s" % prototype.getShortName())
|
|
1944
1998
|
self.readIdentifiable(element, prototype)
|
|
1945
1999
|
self.readAbstractProvidedPortPrototype(element, prototype)
|
|
1946
2000
|
prototype.setRequiredInterfaceTRef(self.getChildElementOptionalRefType(element, "REQUIRED-INTERFACE-TREF"))
|
|
1947
2001
|
|
|
1948
2002
|
def readPRPortPrototype(self, element: ET.Element, prototype: PRPortPrototype):
|
|
1949
|
-
self.logger.debug("Read PRPortPrototype %s" % prototype.getShortName())
|
|
2003
|
+
# self.logger.debug("Read PRPortPrototype %s" % prototype.getShortName())
|
|
1950
2004
|
self.readIdentifiable(element, prototype)
|
|
1951
2005
|
self.readAbstractRequiredPortPrototype(element, prototype)
|
|
1952
2006
|
self.readAbstractProvidedPortPrototype(element, prototype)
|
|
@@ -2093,6 +2147,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2093
2147
|
p_port_in_composition_instance_ref.setContextComponentRef(self.getChildElementOptionalRefType(element, "CONTEXT-COMPONENT-REF")) \
|
|
2094
2148
|
.setTargetPPortRef(self.getChildElementOptionalRefType(element, "TARGET-P-PORT-REF"))
|
|
2095
2149
|
|
|
2150
|
+
'''
|
|
2096
2151
|
self.logger.debug("PPortInCompositionInstanceRef")
|
|
2097
2152
|
self.logger.debug(" CONTEXT-COMPONENT-REF DEST: %s, %s"
|
|
2098
2153
|
% (p_port_in_composition_instance_ref.getContextComponentRef().getDest(),
|
|
@@ -2100,11 +2155,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2100
2155
|
self.logger.debug(" TARGET-P-PORT-REF DEST: %s, %s"
|
|
2101
2156
|
% (p_port_in_composition_instance_ref.getTargetPPortRef().getDest(),
|
|
2102
2157
|
p_port_in_composition_instance_ref.getTargetPPortRef().getValue()))
|
|
2158
|
+
'''
|
|
2103
2159
|
|
|
2104
2160
|
def readRPortInCompositionInstanceRef(self, element, r_port_in_composition_instance_ref: RPortInCompositionInstanceRef):
|
|
2105
2161
|
r_port_in_composition_instance_ref.setContextComponentRef(self.getChildElementOptionalRefType(element, "CONTEXT-COMPONENT-REF")) \
|
|
2106
2162
|
.setTargetRPortRef(self.getChildElementOptionalRefType(element, "TARGET-R-PORT-REF"))
|
|
2107
2163
|
|
|
2164
|
+
'''
|
|
2108
2165
|
self.logger.debug("RPortInCompositionInstanceRef")
|
|
2109
2166
|
self.logger.debug(" CONTEXT-COMPONENT-REF DEST: %s, %s"
|
|
2110
2167
|
% (r_port_in_composition_instance_ref.getContextComponentRef().getDest(),
|
|
@@ -2112,6 +2169,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2112
2169
|
self.logger.debug(" TARGET-P-PORT-REF DEST: %s, %s"
|
|
2113
2170
|
% (r_port_in_composition_instance_ref.getTargetRPortRef().getDest(),
|
|
2114
2171
|
r_port_in_composition_instance_ref.getTargetRPortRef().getValue()))
|
|
2172
|
+
'''
|
|
2115
2173
|
|
|
2116
2174
|
def readAssemblySwConnectorProviderIRef(self, element: ET.Element, parent: AssemblySwConnector):
|
|
2117
2175
|
child_element = self.find(element, "PROVIDER-IREF")
|
|
@@ -2134,7 +2192,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2134
2192
|
connector.setMappingRef(self.getChildElementOptionalRefType(element, "MAPPING-REF"))
|
|
2135
2193
|
|
|
2136
2194
|
def readAssemblySwConnector(self, element: ET.Element, connector: AssemblySwConnector):
|
|
2137
|
-
self.logger.debug("Read AssemblySwConnectors %s" % connector.getShortName())
|
|
2195
|
+
# self.logger.debug("Read AssemblySwConnectors %s" % connector.getShortName())
|
|
2138
2196
|
self.readSwConnector(element, connector)
|
|
2139
2197
|
self.readAssemblySwConnectorProviderIRef(element, connector)
|
|
2140
2198
|
self.readAssemblySwConnectorRequesterIRef(element, connector)
|
|
@@ -2171,7 +2229,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2171
2229
|
self.raiseError("Unsupported child element of INNER-PORT-IREF")
|
|
2172
2230
|
|
|
2173
2231
|
def readDelegationSwConnector(self, element, connector: DelegationSwConnector):
|
|
2174
|
-
self.logger.debug("Read DelegationSwConnectors %s" % connector.getShortName())
|
|
2232
|
+
# self.logger.debug("Read DelegationSwConnectors %s" % connector.getShortName())
|
|
2175
2233
|
self.readSwConnector(element, connector)
|
|
2176
2234
|
self.readDelegationSwConnectorInnerPortIRef(element, connector)
|
|
2177
2235
|
|
|
@@ -2179,7 +2237,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2179
2237
|
self.raiseError("Invalid PortPrototype of DELEGATION-SW-CONNECTOR")
|
|
2180
2238
|
|
|
2181
2239
|
connector.setOuterPortRef(self.getChildElementOptionalRefType(element, "OUTER-PORT-REF"))
|
|
2182
|
-
self.logger.debug("OUTER-PORT-REF DEST: %s, %s" % (connector.getOuterPortRef().getDest(), connector.getOuterPortRef().getValue()))
|
|
2240
|
+
# self.logger.debug("OUTER-PORT-REF DEST: %s, %s" % (connector.getOuterPortRef().getDest(), connector.getOuterPortRef().getValue()))
|
|
2183
2241
|
|
|
2184
2242
|
def readSwComponentPrototype(self, element: ET.Element, prototype: SwComponentPrototype):
|
|
2185
2243
|
self.logger.debug("Read SwComponentPrototypes <%s>" % prototype.getShortName())
|
|
@@ -2197,7 +2255,6 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2197
2255
|
|
|
2198
2256
|
def readCompositionSwComponentTypeDataTypeMappingSet(self, element: ET.Element, parent: CompositionSwComponentType):
|
|
2199
2257
|
child_element = self.find(element, "DATA-TYPE-MAPPING-REFS")
|
|
2200
|
-
self.logger.debug("readDataTypeMappingSet")
|
|
2201
2258
|
if child_element is not None:
|
|
2202
2259
|
for ref in self.getChildElementRefTypeList(child_element, "DATA-TYPE-MAPPING-REF"):
|
|
2203
2260
|
parent.addDataTypeMapping(ref)
|
|
@@ -2331,7 +2388,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2331
2388
|
self.readParameterInterfaceParameters(element, interface)
|
|
2332
2389
|
|
|
2333
2390
|
def readClientServerInterface(self, element: ET.Element, cs_interface: ClientServerInterface):
|
|
2334
|
-
self.logger.debug("Read
|
|
2391
|
+
self.logger.debug("Read ClientServerInterface <%s>" % cs_interface.getShortName())
|
|
2335
2392
|
self.readPortInterface(element, cs_interface)
|
|
2336
2393
|
self.readClientServerInterfaceOperations(element, cs_interface)
|
|
2337
2394
|
self.readPossibleErrors(element, cs_interface)
|
|
@@ -2366,7 +2423,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2366
2423
|
def readCompuConst(self, element: ET.Element, parent: CompuScale):
|
|
2367
2424
|
child_element = self.find(element, "COMPU-CONST/VT")
|
|
2368
2425
|
if (child_element is not None):
|
|
2369
|
-
self.logger.debug("
|
|
2426
|
+
# self.logger.debug("Read CompuConst VT: %s" % child_element.text)
|
|
2370
2427
|
contents = CompuScaleConstantContents()
|
|
2371
2428
|
contents.compuConst = CompuConst()
|
|
2372
2429
|
contents.compuConst.compuConstContentType = CompuConstTextContent()
|
|
@@ -2376,13 +2433,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2376
2433
|
|
|
2377
2434
|
def readCompuNominatorDenominator(self, element: ET.Element, key: str, parent: CompuNominatorDenominator):
|
|
2378
2435
|
for child_element in self.findall(element, "%s/V" % key):
|
|
2379
|
-
self.logger.debug("
|
|
2436
|
+
# self.logger.debug("Read CompuNominatorDenominator - %s: %s" % (key, child_element.text))
|
|
2380
2437
|
parent.add_v(child_element.text)
|
|
2381
2438
|
|
|
2382
2439
|
def readCompuRationCoeffs(self, element: ET.Element, parent: CompuScale):
|
|
2383
2440
|
child_element = self.find(element, "COMPU-RATIONAL-COEFFS")
|
|
2384
2441
|
if (child_element is not None):
|
|
2385
|
-
self.logger.debug("
|
|
2442
|
+
# self.logger.debug("Read CompuRationCoeffs")
|
|
2386
2443
|
contents = CompuScaleRationalFormula()
|
|
2387
2444
|
contents.compuRationalCoeffs = CompuRationalCoeffs()
|
|
2388
2445
|
contents.compuRationalCoeffs.compuDenominator = CompuNominatorDenominator()
|
|
@@ -2426,7 +2483,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2426
2483
|
return compu
|
|
2427
2484
|
|
|
2428
2485
|
def readCompuMethod(self, element: ET.Element, compu_method: CompuMethod):
|
|
2429
|
-
self.logger.debug("Read
|
|
2486
|
+
self.logger.debug("Read CompuMethod <%s>" % compu_method.getShortName())
|
|
2430
2487
|
self.readIdentifiable(element, compu_method)
|
|
2431
2488
|
compu_method.setUnitRef(self.getChildElementOptionalRefType(element, "UNIT-REF")) \
|
|
2432
2489
|
.setCompuInternalToPhys(self.getCompu(element, "COMPU-INTERNAL-TO-PHYS")) \
|
|
@@ -2440,7 +2497,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2440
2497
|
parent.addRunnableMapping(mapping)
|
|
2441
2498
|
|
|
2442
2499
|
def readSwcBswMapping(self, element: ET.Element, mapping: SwcBswMapping):
|
|
2443
|
-
self.logger.debug("
|
|
2500
|
+
self.logger.debug("Read SwcBswMapping <%s>" % mapping.getShortName())
|
|
2444
2501
|
self.readIdentifiable(element, mapping)
|
|
2445
2502
|
mapping.setBswBehaviorRef(self.getChildElementOptionalRefType(element, "BSW-BEHAVIOR-REF"))
|
|
2446
2503
|
self.readSwcBswMappingSwcBswRunnableMappings(element, mapping)
|
|
@@ -2467,7 +2524,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2467
2524
|
return value_spec
|
|
2468
2525
|
|
|
2469
2526
|
def getTextValueSpecification(self, element: ET.Element) -> TextValueSpecification:
|
|
2470
|
-
self.logger.debug("
|
|
2527
|
+
# self.logger.debug("Get TextValueSpecification")
|
|
2471
2528
|
value_spec = TextValueSpecification()
|
|
2472
2529
|
self.readValueSpecification(element, value_spec)
|
|
2473
2530
|
value_spec.setShortLabel(self.getChildElementOptionalLiteral(element, "SHORT-LABEL")) \
|
|
@@ -2475,7 +2532,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2475
2532
|
return value_spec
|
|
2476
2533
|
|
|
2477
2534
|
def getArrayValueSpecification(self, element: ET.Element) -> ArrayValueSpecification:
|
|
2478
|
-
self.logger.debug("
|
|
2535
|
+
# self.logger.debug("Get ArrayValueSpecification")
|
|
2479
2536
|
value_spec = ArrayValueSpecification()
|
|
2480
2537
|
self.readValueSpecification(element, value_spec)
|
|
2481
2538
|
child_elements = element.findall("./xmlns:ELEMENTS/*", self.nsmap)
|
|
@@ -2484,7 +2541,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2484
2541
|
return value_spec
|
|
2485
2542
|
|
|
2486
2543
|
def getConstantReference(self, element: ET.Element) -> ConstantReference:
|
|
2487
|
-
self.logger.debug("getConstantReference")
|
|
2544
|
+
# self.logger.debug("getConstantReference")
|
|
2488
2545
|
value_spec = ConstantReference()
|
|
2489
2546
|
self.readValueSpecification(element, value_spec)
|
|
2490
2547
|
value_spec.setConstantRef(self.getChildElementOptionalRefType(element, "CONSTANT-REF"))
|
|
@@ -2518,7 +2575,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2518
2575
|
return value_spec
|
|
2519
2576
|
|
|
2520
2577
|
def readConstantSpecification(self, element: ET.Element, spec: ConstantSpecification):
|
|
2521
|
-
self.logger.debug("
|
|
2578
|
+
self.logger.debug("Read ConstantSpecification <%s>" % spec.getShortName())
|
|
2522
2579
|
self.readIdentifiable(element, spec)
|
|
2523
2580
|
for child_element in self.findall(element, "VALUE-SPEC/*"):
|
|
2524
2581
|
spec.setValueSpec(self.getValueSpecification(child_element, self.getTagName(child_element)))
|
|
@@ -2533,7 +2590,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2533
2590
|
parent.internalConstrs = constrs
|
|
2534
2591
|
|
|
2535
2592
|
def readPhysConstrs(self, element: ET.Element, parent: DataConstrRule):
|
|
2536
|
-
child_element =
|
|
2593
|
+
child_element = self.find(element, "PHYS-CONSTRS")
|
|
2537
2594
|
if child_element is not None:
|
|
2538
2595
|
constrs = PhysConstrs()
|
|
2539
2596
|
self.readARObjectAttributes(child_element, constrs)
|
|
@@ -2543,8 +2600,8 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2543
2600
|
parent.physConstrs = constrs
|
|
2544
2601
|
|
|
2545
2602
|
def readDataConstrRule(self, element: ET.Element, parent: DataConstr):
|
|
2546
|
-
for child_element in
|
|
2547
|
-
self.logger.debug("
|
|
2603
|
+
for child_element in self.findall(element, "DATA-CONSTR-RULES/DATA-CONSTR-RULE"):
|
|
2604
|
+
# self.logger.debug("Read DataConstrRule")
|
|
2548
2605
|
rule = DataConstrRule()
|
|
2549
2606
|
self.readARObjectAttributes(child_element, rule)
|
|
2550
2607
|
rule.constrLevel = self.getChildElementOptionalNumericalValue(child_element, "CONSTR-LEVEL")
|
|
@@ -2553,7 +2610,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2553
2610
|
parent.addDataConstrRule(rule)
|
|
2554
2611
|
|
|
2555
2612
|
def readDataConstr(self, element: ET.Element, constr: DataConstr):
|
|
2556
|
-
self.logger.debug("Read DataConstr <%s>" % constr.getShortName())
|
|
2613
|
+
# self.logger.debug("Read DataConstr <%s>" % constr.getShortName())
|
|
2557
2614
|
self.readIdentifiable(element, constr)
|
|
2558
2615
|
self.readDataConstrRule(element, constr)
|
|
2559
2616
|
|
|
@@ -4236,6 +4293,253 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4236
4293
|
self.readARElement(element, blueprint)
|
|
4237
4294
|
blueprint.setInterfaceRef(self.getChildElementOptionalRefType(element, "INTERFACE-REF"))
|
|
4238
4295
|
|
|
4296
|
+
def readModeDeclarationMappingFirstModeRefs(self, element: ET.Element, mapping: ModeDeclarationMapping):
|
|
4297
|
+
for ref_link in self.getChildElementRefTypeList(element, "FIRST-MODE-REFS/FIRST-MODE-REF"):
|
|
4298
|
+
mapping.addFirstModeRef(ref_link)
|
|
4299
|
+
|
|
4300
|
+
def readModeDeclarationMapping(self, element: ET.Element, mapping: ModeDeclarationMapping):
|
|
4301
|
+
# self.logger.debug("Read ModeDeclarationMapping <%s>" % mapping.getShortName())
|
|
4302
|
+
self.readIdentifiable(element, mapping)
|
|
4303
|
+
self.readModeDeclarationMappingFirstModeRefs(element, mapping)
|
|
4304
|
+
mapping.setSecondModeRef(self.getChildElementOptionalRefType(element, "SECOND-MODE-REF"))
|
|
4305
|
+
|
|
4306
|
+
def readModeDeclarationMappingSetModeDeclarationMappings(self, element: ET.Element, mapping_set: ModeDeclarationMappingSet):
|
|
4307
|
+
for child_element in self.findall(element, "MODE-DECLARATION-MAPPINGS/*"):
|
|
4308
|
+
tag_name = self.getTagName(child_element)
|
|
4309
|
+
if tag_name == "MODE-DECLARATION-MAPPING":
|
|
4310
|
+
mapping = mapping_set.createModeDeclarationMapping(self.getShortName(child_element))
|
|
4311
|
+
self.readModeDeclarationMapping(child_element, mapping)
|
|
4312
|
+
else:
|
|
4313
|
+
self.notImplemented("Unsupported ModeDeclarationMapping <%s>" % tag_name)
|
|
4314
|
+
|
|
4315
|
+
def readModeDeclarationMappingSet(self, element: ET.Element, mapping_set: ModeDeclarationMappingSet):
|
|
4316
|
+
self.logger.debug("Read ModeDeclarationMappingSet <%s>" % mapping_set.getShortName())
|
|
4317
|
+
self.readARElement(element, mapping_set)
|
|
4318
|
+
self.readModeDeclarationMappingSetModeDeclarationMappings(element, mapping_set)
|
|
4319
|
+
|
|
4320
|
+
def readEcucDefinitionElement(self, element: ET.Element, def_element: EcucDefinitionElement):
|
|
4321
|
+
self.readIdentifiable(element, def_element)
|
|
4322
|
+
def_element.setLowerMultiplicity(self.getChildElementOptionalPositiveInteger(element, "LOWER-MULTIPLICITY"))
|
|
4323
|
+
def_element.setUpperMultiplicity(self.getChildElementOptionalPositiveInteger(element, "UPPER-MULTIPLICITY"))
|
|
4324
|
+
def_element.setScope(self.getChildElementOptionalLiteral(element, "SCOPE"))
|
|
4325
|
+
|
|
4326
|
+
def readEcucModuleDefSupportedConfigVariants(self, element: ET.Element, module_def: EcucModuleDef):
|
|
4327
|
+
for variant in self.getChildElementLiteralValueList(element, "SUPPORTED-CONFIG-VARIANTS/SUPPORTED-CONFIG-VARIANT"):
|
|
4328
|
+
module_def.addSupportedConfigVariant(variant)
|
|
4329
|
+
|
|
4330
|
+
def readEcucAbstractConfigurationClass(self, element: ET.Element, cfg_class: EcucAbstractConfigurationClass):
|
|
4331
|
+
self.readARObjectAttributes(element, cfg_class)
|
|
4332
|
+
cfg_class.setConfigClass(self.getChildElementOptionalLiteral(element, "CONFIG-CLASS"))
|
|
4333
|
+
cfg_class.setConfigVariant(self.getChildElementOptionalLiteral(element, "CONFIG-VARIANT"))
|
|
4334
|
+
|
|
4335
|
+
def readEcucMultiplicityConfigurationClass(self, element: ET.Element, cfg_class: EcucMultiplicityConfigurationClass):
|
|
4336
|
+
self.readEcucAbstractConfigurationClass(element, cfg_class)
|
|
4337
|
+
|
|
4338
|
+
def getEcucMultiplicityConfigurationClasses(self, element: ET.Element) -> List[EcucMultiplicityConfigurationClass]:
|
|
4339
|
+
cfg_classes = []
|
|
4340
|
+
for child_element in self.findall(element, "MULTIPLICITY-CONFIG-CLASSES/*"):
|
|
4341
|
+
tag_name = self.getTagName(child_element)
|
|
4342
|
+
if tag_name == "ECUC-MULTIPLICITY-CONFIGURATION-CLASS":
|
|
4343
|
+
cfg_class = EcucMultiplicityConfigurationClass()
|
|
4344
|
+
self.readEcucMultiplicityConfigurationClass(child_element, cfg_class)
|
|
4345
|
+
cfg_classes.append(cfg_class)
|
|
4346
|
+
else:
|
|
4347
|
+
self.notImplemented("Unsupported MultiplicityConfigClass <%s>" % tag_name)
|
|
4348
|
+
return cfg_classes
|
|
4349
|
+
|
|
4350
|
+
def readEcucContainerDef(self, element: ET.Element, container_def: EcucContainerDef):
|
|
4351
|
+
self.readEcucDefinitionElement(element, container_def)
|
|
4352
|
+
for cfg_class in self.getEcucMultiplicityConfigurationClasses(element):
|
|
4353
|
+
container_def.addMultiplicityConfigClass(cfg_class)
|
|
4354
|
+
container_def.setPostBuildVariantMultiplicity(self.getChildElementOptionalBooleanValue(element, "POST-BUILD-VARIANT-MULTIPLICITY"))
|
|
4355
|
+
container_def.setRequiresIndex(self.getChildElementOptionalBooleanValue(element, "REQUIRES-INDEX"))
|
|
4356
|
+
container_def.setMultipleConfigurationContainer(self.getChildElementOptionalBooleanValue(element, "MULTIPLE-CONFIGURATION-CONTAINER"))
|
|
4357
|
+
|
|
4358
|
+
def readEcucValueConfigurationClass(self, element: ET.Element, cfg_class: EcucValueConfigurationClass):
|
|
4359
|
+
self.readEcucAbstractConfigurationClass(element, cfg_class)
|
|
4360
|
+
|
|
4361
|
+
def getEcucValueConfigurationClasses(self, element: ET.Element) -> List[EcucValueConfigurationClass]:
|
|
4362
|
+
cfg_classes = []
|
|
4363
|
+
for child_element in self.findall(element, "VALUE-CONFIG-CLASSES/*"):
|
|
4364
|
+
tag_name = self.getTagName(child_element)
|
|
4365
|
+
if tag_name == "ECUC-VALUE-CONFIGURATION-CLASS":
|
|
4366
|
+
cfg_class = EcucValueConfigurationClass()
|
|
4367
|
+
self.readEcucValueConfigurationClass(child_element, cfg_class)
|
|
4368
|
+
cfg_classes.append(cfg_class)
|
|
4369
|
+
else:
|
|
4370
|
+
self.notImplemented("Unsupported ValueConfigClass <%s>" % tag_name)
|
|
4371
|
+
return cfg_classes
|
|
4372
|
+
|
|
4373
|
+
def readEcucCommonAttributes(self, element: ET.Element, common_attrs: EcucCommonAttributes):
|
|
4374
|
+
self.readEcucDefinitionElement(element, common_attrs)
|
|
4375
|
+
for cfg_class in self.getEcucMultiplicityConfigurationClasses(element):
|
|
4376
|
+
common_attrs.addMultiplicityConfigClass(cfg_class)
|
|
4377
|
+
common_attrs.setOrigin(self.getChildElementOptionalLiteral(element, "ORIGIN"))
|
|
4378
|
+
common_attrs.setPostBuildVariantMultiplicity(self.getChildElementOptionalBooleanValue(element, "POST-BUILD-VARIANT-MULTIPLICITY"))
|
|
4379
|
+
common_attrs.setPostBuildVariantValue(self.getChildElementOptionalBooleanValue(element, "POST-BUILD-VARIANT-VALUE"))
|
|
4380
|
+
common_attrs.setRequiresIndex(self.getChildElementOptionalBooleanValue(element, "REQUIRES-INDEX"))
|
|
4381
|
+
for cfg_class in self.getEcucValueConfigurationClasses(element):
|
|
4382
|
+
common_attrs.addValueConfigClass(cfg_class)
|
|
4383
|
+
|
|
4384
|
+
def readEcucParameterDef(self, element: ET.Element, param_def: EcucParameterDef):
|
|
4385
|
+
self.readEcucCommonAttributes(element, param_def)
|
|
4386
|
+
param_def.setDerivation(self.getChildElementOptionalLiteral(element, "DERIVATION"))
|
|
4387
|
+
param_def.setSymbolicNameValue(self.getChildElementOptionalBooleanValue(element, "SYMBOLIC-NAME-VALUE"))
|
|
4388
|
+
param_def.setWithAuto(self.getChildElementOptionalBooleanValue(element, "WITH-AUTO"))
|
|
4389
|
+
|
|
4390
|
+
def readEcucBooleanParamDef(self, element: ET.Element, param_def: EcucBooleanParamDef):
|
|
4391
|
+
self.readEcucParameterDef(element, param_def)
|
|
4392
|
+
param_def.setDefaultValue(self.getChildElementOptionalBooleanValue(element, "DEFAULT-VALUE"))
|
|
4393
|
+
|
|
4394
|
+
def readEcucAbstractStringParamDef(self, element: ET.Element, param_def: EcucAbstractStringParamDef):
|
|
4395
|
+
self.readEcucParameterDef(element, param_def)
|
|
4396
|
+
param_def.setDefaultValue(self.getChildElementOptionalLiteral(element, "DEFAULT-VALUE"))
|
|
4397
|
+
param_def.setMaxLength(self.getChildElementOptionalIntegerValue(element, "MAX-LENGTH"))
|
|
4398
|
+
param_def.setMinLength(self.getChildElementOptionalIntegerValue(element, "MIN-LENGTH"))
|
|
4399
|
+
param_def.setRegularExpression(self.getChildElementOptionalLiteral(element, "REGULAR-EXPRESSION"))
|
|
4400
|
+
|
|
4401
|
+
def readEcucStringParamDef(self, element: ET.Element, param_def: EcucStringParamDef):
|
|
4402
|
+
self.readEcucAbstractStringParamDef(element, param_def)
|
|
4403
|
+
|
|
4404
|
+
def readEcucIntegerParamDef(self, element: ET.Element, param_def: EcucIntegerParamDef):
|
|
4405
|
+
self.readEcucParameterDef(element, param_def)
|
|
4406
|
+
param_def.setDefaultValue(self.getChildElementOptionalIntegerValue(element, "DEFAULT-VALUE"))
|
|
4407
|
+
param_def.setMax(self.getChildElementOptionalIntegerValue(element, "MAX"))
|
|
4408
|
+
param_def.setMin(self.getChildElementOptionalIntegerValue(element, "MIN"))
|
|
4409
|
+
|
|
4410
|
+
def readEcucFloatParamDef(self, element: ET.Element, param_def: EcucFloatParamDef):
|
|
4411
|
+
self.readEcucParameterDef(element, param_def)
|
|
4412
|
+
param_def.setDefaultValue(self.getChildElementOptionalFloatValue(element, "DEFAULT-VALUE"))
|
|
4413
|
+
param_def.setMax(self.getChildLimitElement(element, "MAX"))
|
|
4414
|
+
param_def.setMin(self.getChildLimitElement(element, "MIN"))
|
|
4415
|
+
|
|
4416
|
+
def readEcucEnumerationLiteral(self, element: ET.Element, literal: EcucEnumerationLiteralDef):
|
|
4417
|
+
self.readIdentifiable(element, literal)
|
|
4418
|
+
literal.setOrigin(self.getChildElementOptionalLiteral(element, "ORIGIN"))
|
|
4419
|
+
|
|
4420
|
+
def readEcucEnumerationParamDefLiterals(self, element: ET.Element, literal_def: EcucEnumerationParamDef):
|
|
4421
|
+
for child_element in self.findall(element, "LITERALS/*"):
|
|
4422
|
+
tag_name = self.getTagName(child_element)
|
|
4423
|
+
if tag_name == "ECUC-ENUMERATION-LITERAL-DEF":
|
|
4424
|
+
literal = literal_def.createLiteral(self.getShortName(child_element))
|
|
4425
|
+
self.readEcucEnumerationLiteral(child_element, literal)
|
|
4426
|
+
else:
|
|
4427
|
+
self.notImplemented("Unsupported EnumerationLiteral <%s>" % tag_name)
|
|
4428
|
+
|
|
4429
|
+
def readEcucEnumerationParamDef(self, element: ET.Element, param_def: EcucEnumerationParamDef):
|
|
4430
|
+
self.readEcucParameterDef(element, param_def)
|
|
4431
|
+
param_def.setDefaultValue(self.getChildElementOptionalLiteral(element, "DEFAULT-VALUE"))
|
|
4432
|
+
self.readEcucEnumerationParamDefLiterals(element, param_def)
|
|
4433
|
+
|
|
4434
|
+
def readEcucFunctionNameDef(self, element: ET.Element, ref_def: EcucFunctionNameDef):
|
|
4435
|
+
self.readEcucAbstractStringParamDef(element, ref_def)
|
|
4436
|
+
child_element = self.find(element, "ECUC-FUNCTION-NAME-DEF-VARIANTS/ECUC-FUNCTION-NAME-DEF-CONDITIONAL")
|
|
4437
|
+
if child_element is not None:
|
|
4438
|
+
ref_def.setDefaultValue(self.getChildElementOptionalLiteral(child_element, "DEFAULT-VALUE"))
|
|
4439
|
+
ref_def.setMinLength(self.getChildElementOptionalIntegerValue(child_element, "MIN-LENGTH"))
|
|
4440
|
+
ref_def.setMaxLength(self.getChildElementOptionalIntegerValue(child_element, "MAX-LENGTH"))
|
|
4441
|
+
|
|
4442
|
+
def readEcucContainerDefParameters(self, element: ET.Element, container_def: EcucParamConfContainerDef):
|
|
4443
|
+
for child_element in self.findall(element, "PARAMETERS/*"):
|
|
4444
|
+
tag_name = self.getTagName(child_element)
|
|
4445
|
+
if tag_name == "ECUC-BOOLEAN-PARAM-DEF":
|
|
4446
|
+
param_def = container_def.createEcucBooleanParamDef(self.getShortName(child_element))
|
|
4447
|
+
self.readEcucBooleanParamDef(child_element, param_def)
|
|
4448
|
+
elif tag_name == "ECUC-STRING-PARAM-DEF":
|
|
4449
|
+
param_def = container_def.createEcucStringParamDef(self.getShortName(child_element))
|
|
4450
|
+
self.readEcucStringParamDef(child_element, param_def)
|
|
4451
|
+
elif tag_name == "ECUC-INTEGER-PARAM-DEF":
|
|
4452
|
+
param_def = container_def.createEcucIntegerParamDef(self.getShortName(child_element))
|
|
4453
|
+
self.readEcucIntegerParamDef(child_element, param_def)
|
|
4454
|
+
elif tag_name == "ECUC-FLOAT-PARAM-DEF":
|
|
4455
|
+
param_def = container_def.createEcucFloatParamDef(self.getShortName(child_element))
|
|
4456
|
+
self.readEcucFloatParamDef(child_element, param_def)
|
|
4457
|
+
elif tag_name == "ECUC-ENUMERATION-PARAM-DEF":
|
|
4458
|
+
param_def = container_def.createEcucEnumerationParamDef(self.getShortName(child_element))
|
|
4459
|
+
self.readEcucEnumerationParamDef(child_element, param_def)
|
|
4460
|
+
elif tag_name == "ECUC-FUNCTION-NAME-DEF":
|
|
4461
|
+
param_def = container_def.createEcucFunctionNameDef(self.getShortName(child_element))
|
|
4462
|
+
self.readEcucFunctionNameDef(child_element, param_def)
|
|
4463
|
+
else:
|
|
4464
|
+
self.notImplemented("Unsupported Parameter <%s>" % tag_name)
|
|
4465
|
+
|
|
4466
|
+
def readEcucAbstractReferenceDef(self, element: ET.Element, ref_def: EcucAbstractReferenceDef):
|
|
4467
|
+
self.readEcucCommonAttributes(element, ref_def)
|
|
4468
|
+
ref_def.setWithAuto(self.getChildElementOptionalBooleanValue(element, "WITH-AUTO"))
|
|
4469
|
+
|
|
4470
|
+
def readEcucAbstractInternalReferenceDef(self, element: ET.Element, ref_def: EcucAbstractInternalReferenceDef):
|
|
4471
|
+
self.readEcucAbstractReferenceDef(element, ref_def)
|
|
4472
|
+
|
|
4473
|
+
def readEcucSymbolicNameReferenceDef(self, element: ET.Element, ref_def: EcucSymbolicNameReferenceDef):
|
|
4474
|
+
self.readEcucAbstractInternalReferenceDef(element, ref_def)
|
|
4475
|
+
ref_def.setDestinationRef(self.getChildElementOptionalRefType(element, "DESTINATION-REF"))
|
|
4476
|
+
|
|
4477
|
+
def readEcucReferenceDef(self, element: ET.Element, ref_def: EcucReferenceDef):
|
|
4478
|
+
self.readEcucAbstractInternalReferenceDef(element, ref_def)
|
|
4479
|
+
ref_def.setDestinationRef(self.getChildElementOptionalRefType(element, "DESTINATION-REF"))
|
|
4480
|
+
|
|
4481
|
+
def readEcucContainerDefReferences(self, element: ET.Element, container_def: EcucParamConfContainerDef):
|
|
4482
|
+
for child_element in self.findall(element, "REFERENCES/*"):
|
|
4483
|
+
tag_name = self.getTagName(child_element)
|
|
4484
|
+
if tag_name == "ECUC-SYMBOLIC-NAME-REFERENCE-DEF":
|
|
4485
|
+
ref_def = container_def.createEcucSymbolicNameReferenceDef(self.getShortName(child_element))
|
|
4486
|
+
self.readEcucSymbolicNameReferenceDef(child_element, ref_def)
|
|
4487
|
+
elif tag_name == "ECUC-REFERENCE-DEF":
|
|
4488
|
+
ref_def = container_def.createEcucReferenceDef(self.getShortName(child_element))
|
|
4489
|
+
self.readEcucReferenceDef(child_element, ref_def)
|
|
4490
|
+
else:
|
|
4491
|
+
self.notImplemented("Unsupported EcucReferenceDef <%s>" % tag_name)
|
|
4492
|
+
|
|
4493
|
+
def readEcucContainerDefSubContainers(self, element: ET.Element, container_def: EcucParamConfContainerDef):
|
|
4494
|
+
for child_element in self.findall(element, "SUB-CONTAINERS/*"):
|
|
4495
|
+
tag_name = self.getTagName(child_element)
|
|
4496
|
+
if tag_name == "ECUC-PARAM-CONF-CONTAINER-DEF":
|
|
4497
|
+
sub_container_def = container_def.createEcucParamConfContainerDef(self.getShortName(child_element))
|
|
4498
|
+
self.readEcucParamConfContainerDef(child_element, sub_container_def)
|
|
4499
|
+
elif tag_name == "ECUC-CHOICE-CONTAINER-DEF":
|
|
4500
|
+
sub_container_def = container_def.createEcucChoiceContainerDef(self.getShortName(child_element))
|
|
4501
|
+
self.readEcucChoiceContainerDef(child_element, sub_container_def)
|
|
4502
|
+
else:
|
|
4503
|
+
self.notImplemented("Unsupported SubContainer <%s>" % tag_name)
|
|
4504
|
+
|
|
4505
|
+
def readEcucParamConfContainerDef(self, element: ET.Element, container_def: EcucParamConfContainerDef):
|
|
4506
|
+
self.readEcucContainerDef(element, container_def)
|
|
4507
|
+
self.readEcucContainerDefParameters(element, container_def)
|
|
4508
|
+
self.readEcucContainerDefReferences(element, container_def)
|
|
4509
|
+
self.readEcucContainerDefSubContainers(element, container_def)
|
|
4510
|
+
|
|
4511
|
+
def readEcucChoiceContainerDefChoices(self, element: ET.Element, container_def: EcucChoiceContainerDef):
|
|
4512
|
+
for child_element in self.findall(element, "CHOICES/*"):
|
|
4513
|
+
tag_name = self.getTagName(child_element)
|
|
4514
|
+
if tag_name == "ECUC-PARAM-CONF-CONTAINER-DEF":
|
|
4515
|
+
ref_def = container_def.createEcucParamConfContainerDef(self.getShortName(child_element))
|
|
4516
|
+
self.readEcucParamConfContainerDef(child_element, ref_def)
|
|
4517
|
+
else:
|
|
4518
|
+
self.notImplemented("Unsupported Choice <%s>" % tag_name)
|
|
4519
|
+
|
|
4520
|
+
def readEcucChoiceContainerDef(self, element: ET.Element, container_def: EcucChoiceContainerDef):
|
|
4521
|
+
self.readEcucContainerDef(element, container_def)
|
|
4522
|
+
self.readEcucChoiceContainerDefChoices(element, container_def)
|
|
4523
|
+
|
|
4524
|
+
def readEcucModuleDefContainers(self, element: ET.Element, module_def: EcucModuleDef):
|
|
4525
|
+
for child_element in self.findall(element, "CONTAINERS/*"):
|
|
4526
|
+
tag_name = self.getTagName(child_element)
|
|
4527
|
+
if tag_name == "ECUC-PARAM-CONF-CONTAINER-DEF":
|
|
4528
|
+
container_def = module_def.createEcucParamConfContainerDef(self.getShortName(child_element))
|
|
4529
|
+
self.readEcucParamConfContainerDef(child_element, container_def)
|
|
4530
|
+
elif tag_name == "ECUC-CHOICE-CONTAINER-DEF":
|
|
4531
|
+
container_def = module_def.createEcucChoiceContainerDef(self.getShortName(child_element))
|
|
4532
|
+
self.readEcucChoiceContainerDef(child_element, container_def)
|
|
4533
|
+
else:
|
|
4534
|
+
self.notImplemented("Unsupported Container <%s>" % tag_name)
|
|
4535
|
+
|
|
4536
|
+
def readEcucModuleDef(self, element: ET.Element, module_def: EcucModuleDef):
|
|
4537
|
+
self.logger.debug("Read EcucModuleDef <%s>" % module_def.getShortName())
|
|
4538
|
+
self.readEcucDefinitionElement(element, module_def)
|
|
4539
|
+
module_def.setPostBuildVariantSupport(self.getChildElementOptionalBooleanValue(element, "POST-BUILD-VARIANT-SUPPORT"))
|
|
4540
|
+
self.readEcucModuleDefSupportedConfigVariants(element, module_def)
|
|
4541
|
+
self.readEcucModuleDefContainers(element, module_def)
|
|
4542
|
+
|
|
4239
4543
|
def readCommunicationController(self, element: ET.Element, controller: CommunicationController):
|
|
4240
4544
|
controller.setWakeUpByControllerSupported(self.getChildElementOptionalBooleanValue(element, "WAKE-UP-BY-CONTROLLER-SUPPORTED"))
|
|
4241
4545
|
|
|
@@ -4685,13 +4989,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4685
4989
|
def readPhysicalDimension(self, element: ET.Element, dimension: PhysicalDimension):
|
|
4686
4990
|
self.logger.debug("Read PhysicalDimension <%s>" % dimension.getShortName())
|
|
4687
4991
|
self.readIdentifiable(element, dimension)
|
|
4688
|
-
dimension.setLengthExp(self.getChildElementOptionalNumericalValue(element, "LENGTH-EXP"))
|
|
4689
|
-
|
|
4690
|
-
|
|
4691
|
-
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4992
|
+
dimension.setLengthExp(self.getChildElementOptionalNumericalValue(element, "LENGTH-EXP"))
|
|
4993
|
+
dimension.setLuminousIntensityExp(self.getChildElementOptionalNumericalValue(element, "LUMINOUS-INTENSITY-EXP"))
|
|
4994
|
+
dimension.setMassExp(self.getChildElementOptionalNumericalValue(element, "MASS-EXP"))
|
|
4995
|
+
dimension.setMolarAmountExp(self.getChildElementOptionalNumericalValue(element, "MOLAR-AMOUNT-EXP"))
|
|
4996
|
+
dimension.setTemperatureExp(self.getChildElementOptionalNumericalValue(element, "TEMPERATURE-EXP"))
|
|
4997
|
+
dimension.setTimeExp(self.getChildElementOptionalNumericalValue(element, "TIME-EXP"))
|
|
4998
|
+
dimension.setCurrentExp(self.getChildElementOptionalNumericalValue(element, "CURRENT-EXP"))
|
|
4695
4999
|
|
|
4696
5000
|
def readISignalGroupISignalRef(self, element: ET.Element, group: ISignalGroup):
|
|
4697
5001
|
for ref_type in self.getChildElementRefTypeList(element, "I-SIGNAL-REFS/I-SIGNAL-REF"):
|
|
@@ -4810,7 +5114,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4810
5114
|
timing = None
|
|
4811
5115
|
child_element = self.find(element, key)
|
|
4812
5116
|
if child_element is not None:
|
|
4813
|
-
self.logger.debug("Get TransmissionModeTiming of <%s>" % key)
|
|
5117
|
+
# self.logger.debug("Get TransmissionModeTiming of <%s>" % key)
|
|
4814
5118
|
timing = TransmissionModeTiming()
|
|
4815
5119
|
timing.setCyclicTiming(self.getCyclicTiming(child_element, "CYCLIC-TIMING")) \
|
|
4816
5120
|
.setEventControlledTiming(self.getEventControlledTiming(child_element, "EVENT-CONTROLLED-TIMING"))
|
|
@@ -4919,7 +5223,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4919
5223
|
self.notImplemented("Unsupported Data Mapping %s" % tag_name)
|
|
4920
5224
|
|
|
4921
5225
|
def readSwcToEcuMapping(self, element: ET.Element, mapping: SwcToEcuMapping):
|
|
4922
|
-
self.logger.debug("SwcToEcuMapping %s" % mapping.getShortName())
|
|
5226
|
+
# self.logger.debug("SwcToEcuMapping %s" % mapping.getShortName())
|
|
4923
5227
|
self.readIdentifiable(element, mapping)
|
|
4924
5228
|
for child_element in self.findall(element, "COMPONENT-IREFS/COMPONENT-IREF"):
|
|
4925
5229
|
mapping.addComponentIRef(self.getComponentInSystemInstanceRef(child_element))
|
|
@@ -4964,7 +5268,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4964
5268
|
self.notImplemented("Unsupported SwImplMapping <%s>" % tag_name)
|
|
4965
5269
|
|
|
4966
5270
|
def readSystemMapping(self, element: ET.Element, mapping: SystemMapping):
|
|
4967
|
-
self.logger.debug("SystemMapping
|
|
5271
|
+
# self.logger.debug("Read SystemMapping <%s>" % mapping.getShortName())
|
|
4968
5272
|
self.readIdentifiable(element, mapping)
|
|
4969
5273
|
self.readSystemMappingDataMappings(element, mapping)
|
|
4970
5274
|
self.readSystemMappingEcuResourceMappings(element, mapping)
|
|
@@ -5100,6 +5404,20 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5100
5404
|
self.readIdentifiable(element, mapping)
|
|
5101
5405
|
self.readClientServerInterfaceMappingOperationMappings(element, mapping)
|
|
5102
5406
|
|
|
5407
|
+
def readModeInterfaceMappingModeMapping(self, element: ET.Element, mapping: ModeInterfaceMapping):
|
|
5408
|
+
child_element = self.find(element, "MODE-MAPPING")
|
|
5409
|
+
if child_element is not None:
|
|
5410
|
+
mode_mapping = ModeDeclarationGroupPrototypeMapping()
|
|
5411
|
+
mode_mapping.setFirstModeGroupRef(self.getChildElementOptionalRefType(child_element, "FIRST-MODE-GROUP-REF")) \
|
|
5412
|
+
.setModeDeclarationMappingSetRef(self.getChildElementOptionalRefType(child_element, "MODE-DECLARATION-MAPPING-SET-REF")) \
|
|
5413
|
+
.setSecondModeGroupRef(self.getChildElementOptionalRefType(child_element, "SECOND-MODE-GROUP-REF"))
|
|
5414
|
+
mapping.setModeMapping(mode_mapping)
|
|
5415
|
+
|
|
5416
|
+
def readModeInterfaceMapping(self, element: ET.Element, mapping: ModeInterfaceMapping):
|
|
5417
|
+
# self.logger.debug("Read ModeInterfaceMapping %s" % mapping.getShortName())
|
|
5418
|
+
self.readIdentifiable(element, mapping)
|
|
5419
|
+
self.readModeInterfaceMappingModeMapping(element, mapping)
|
|
5420
|
+
|
|
5103
5421
|
def readPortInterfaceMappings(self, element: ET.Element, mapping_set: PortInterfaceMappingSet):
|
|
5104
5422
|
for child_element in self.findall(element, "PORT-INTERFACE-MAPPINGS/*"):
|
|
5105
5423
|
tag_name = self.getTagName(child_element)
|
|
@@ -5109,6 +5427,9 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5109
5427
|
elif tag_name == "CLIENT-SERVER-INTERFACE-MAPPING":
|
|
5110
5428
|
mapping = mapping_set.createClientServerInterfaceMapping(self.getShortName(child_element))
|
|
5111
5429
|
self.readClientServerInterfaceMapping(child_element, mapping)
|
|
5430
|
+
elif tag_name == "MODE-INTERFACE-MAPPING":
|
|
5431
|
+
mapping = mapping_set.createModeInterfaceMapping(self.getShortName(child_element))
|
|
5432
|
+
self.readModeInterfaceMapping(child_element, mapping)
|
|
5112
5433
|
else:
|
|
5113
5434
|
self.notImplemented("Unsupported PortInterfaceMapping <%s>" % tag_name)
|
|
5114
5435
|
|
|
@@ -5352,8 +5673,14 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5352
5673
|
keyword_set = parent.createKeywordSet(self.getShortName(child_element))
|
|
5353
5674
|
self.readKeywordSet(child_element, keyword_set)
|
|
5354
5675
|
elif tag_name == "PORT-PROTOTYPE-BLUEPRINT":
|
|
5355
|
-
|
|
5356
|
-
self.readPortPrototypeBlueprint(child_element,
|
|
5676
|
+
blueprint = parent.createPortPrototypeBlueprint(self.getShortName(child_element))
|
|
5677
|
+
self.readPortPrototypeBlueprint(child_element, blueprint)
|
|
5678
|
+
elif tag_name == "MODE-DECLARATION-MAPPING-SET":
|
|
5679
|
+
mapping_set = parent.createModeDeclarationMappingSet(self.getShortName(child_element))
|
|
5680
|
+
self.readModeDeclarationMappingSet(child_element, mapping_set)
|
|
5681
|
+
elif tag_name == "ECUC-MODULE-DEF":
|
|
5682
|
+
module_def = parent.createEcucModuleDef(self.getShortName(child_element))
|
|
5683
|
+
self.readEcucModuleDef(child_element, module_def)
|
|
5357
5684
|
else:
|
|
5358
5685
|
self.notImplemented("Unsupported Element type of ARPackage <%s>" % tag_name)
|
|
5359
5686
|
|
|
@@ -5368,7 +5695,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5368
5695
|
parent.addReferenceBase(base)
|
|
5369
5696
|
|
|
5370
5697
|
def readARPackage(self, element: ET.Element, ar_package: ARPackage):
|
|
5371
|
-
self.logger.debug("Read ARPackages
|
|
5698
|
+
self.logger.debug("Read ARPackages <%s>" % ar_package.getFullName())
|
|
5372
5699
|
|
|
5373
5700
|
self.readIdentifiable(element, ar_package)
|
|
5374
5701
|
self.readARPackages(element, ar_package)
|