armodel 1.7.8__py3-none-any.whl → 1.8.0__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 +71 -11
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +102 -12
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +80 -9
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +17 -10
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +10 -8
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +30 -28
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +7 -5
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +38 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +96 -18
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +73 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +45 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +27 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +33 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +73 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +40 -14
- armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +151 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +4 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +55 -12
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +80 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +11 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +34 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +11 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +18 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +8 -2
- 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 +84 -32
- armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +10 -1
- armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +163 -0
- armodel/models/M2/MSR/Documentation/BlockElements/__init__.py +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +5 -3
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +22 -1
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +94 -9
- armodel/models/__init__.py +4 -0
- armodel/models/utils/__init__.py +0 -0
- armodel/models/utils/uuid_mgr.py +23 -0
- armodel/parser/abstract_arxml_parser.py +10 -2
- armodel/parser/arxml_parser.py +332 -104
- armodel/tests/test_armodel/models/test_datatype.py +136 -138
- armodel/tests/test_armodel/parser/test_sw_components.py +266 -4
- armodel/writer/arxml_writer.py +337 -74
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/METADATA +35 -1
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/RECORD +51 -40
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/LICENSE +0 -0
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/WHEEL +0 -0
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.8.dist-info → armodel-1.8.0.dist-info}/top_level.txt +0 -0
armodel/parser/arxml_parser.py
CHANGED
|
@@ -2,6 +2,8 @@ from typing import List
|
|
|
2
2
|
import xml.etree.ElementTree as ET
|
|
3
3
|
import os
|
|
4
4
|
|
|
5
|
+
from armodel.models.M2.MSR.Documentation.TextModel.BlockElements.PaginationAndView import DocumentViewSelectable, Paginateable
|
|
6
|
+
|
|
5
7
|
from ..models.M2.MSR.AsamHdo.AdminData import AdminData
|
|
6
8
|
from ..models.M2.MSR.AsamHdo.BaseTypes import BaseTypeDirectDefinition, SwBaseType
|
|
7
9
|
from ..models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstrRule, InternalConstrs, PhysConstrs, DataConstr
|
|
@@ -21,20 +23,22 @@ from ..models.M2.MSR.DataDictionary.RecordLayout import SwRecordLayoutGroup
|
|
|
21
23
|
from ..models.M2.MSR.DataDictionary.CalibrationParameter import SwCalprmAxisSet
|
|
22
24
|
from ..models.M2.MSR.DataDictionary.ServiceProcessTask import SwServiceArg
|
|
23
25
|
from ..models.M2.MSR.Documentation.Annotation import Annotation, GeneralAnnotation
|
|
26
|
+
from ..models.M2.MSR.Documentation.BlockElements.Figure import Graphic, LGraphic, MlFigure
|
|
24
27
|
from ..models.M2.MSR.Documentation.TextModel.BlockElements import DocumentationBlock
|
|
25
|
-
from ..models.M2.MSR.Documentation.TextModel.BlockElements.ListElements import
|
|
28
|
+
from ..models.M2.MSR.Documentation.TextModel.BlockElements.ListElements import ARList
|
|
26
29
|
from ..models.M2.MSR.Documentation.TextModel.LanguageDataModel import LLongName, LOverviewParagraph, LParagraph, LanguageSpecific
|
|
27
30
|
from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph, MultiLanguageParagraph, MultiLanguagePlainText
|
|
28
31
|
from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
|
|
29
32
|
|
|
30
33
|
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
31
|
-
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswApiOptions,
|
|
32
|
-
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import
|
|
34
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswApiOptions, BswAsynchronousServerCallPoint, BswBackgroundEvent
|
|
35
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswCalledEntity, BswDataReceivedEvent, BswModuleCallPoint
|
|
36
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswInternalTriggeringPoint, BswOperationInvokedEvent
|
|
33
37
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswDataReceptionPolicy, BswExternalTriggerOccurredEvent, BswInternalBehavior
|
|
34
38
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswInternalTriggerOccurredEvent, BswInterruptEntity, BswModeSwitchEvent
|
|
35
39
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswModuleEntity, BswQueuedDataReceptionPolicy, BswSchedulableEntity
|
|
36
40
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswScheduleEvent, BswModeSenderPolicy, BswTimingEvent, BswVariableAccess
|
|
37
|
-
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
|
|
41
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleClientServerEntry, BswModuleEntry
|
|
38
42
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
|
|
39
43
|
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
|
|
40
44
|
from ..models.M2.AUTOSARTemplates.CommonStructure import ApplicationValueSpecification, ArrayValueSpecification, ConstantReference
|
|
@@ -49,11 +53,14 @@ from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption import Res
|
|
|
49
53
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.MemorySectionUsage import MemorySection
|
|
50
54
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.StackUsage import RoughEstimateStackUsage, StackUsage
|
|
51
55
|
from ..models.M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping, SwcBswRunnableMapping
|
|
52
|
-
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagEventDebounceMonitorInternal
|
|
56
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagEventDebounceMonitorInternal, DltUserNeeds, ServiceNeeds
|
|
57
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticCapabilityElement, DtcStatusChangeNotificationNeeds
|
|
53
58
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticCommunicationManagerNeeds, DiagnosticEventInfoNeeds
|
|
54
59
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticEventNeeds, DiagnosticRoutineNeeds, DiagnosticValueNeeds
|
|
55
60
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import EcuStateMgrUserNeeds, NvBlockNeeds, RoleBasedDataAssignment
|
|
56
61
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import RoleBasedDataTypeAssignment, ServiceDependency
|
|
62
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.StandardizationTemplate.BlueprintDedicated.PortPrototypeBlueprint import PortPrototypeBlueprint
|
|
63
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.StandardizationTemplate.Keyword import Keyword, KeywordSet
|
|
57
64
|
from ..models.M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
|
|
58
65
|
from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
|
|
59
66
|
from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.ExecutionOrderConstraint import ExecutionOrderConstraint
|
|
@@ -66,12 +73,13 @@ from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucReferenceVa
|
|
|
66
73
|
from ..models.M2.AUTOSARTemplates.EcuResourceTemplate import HwDescriptionEntity, HwElement, HwPinGroup
|
|
67
74
|
from ..models.M2.AUTOSARTemplates.EcuResourceTemplate.HwElementCategory import HwAttributeDef, HwCategory, HwType
|
|
68
75
|
from ..models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AnyInstanceRef
|
|
76
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ElementCollection import Collection
|
|
69
77
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Describable, Identifiable
|
|
70
78
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Referrable, MultilanguageReferrable
|
|
71
79
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.EngineeringObject import AutosarEngineeringObject, EngineeringObject
|
|
72
80
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage, ReferenceBase
|
|
73
81
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, ARLiteral
|
|
74
|
-
from ..models.M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfoSet
|
|
82
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfo, LifeCycleInfoSet, LifeCyclePeriod
|
|
75
83
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationPrimitiveDataType, ApplicationRecordDataType
|
|
76
84
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationCompositeDataType
|
|
77
85
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, AutosarDataType, DataTypeMap, DataTypeMappingSet
|
|
@@ -103,7 +111,8 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition import Assembl
|
|
|
103
111
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationCompositeElementDataPrototype
|
|
104
112
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationRecordElement, AutosarDataPrototype
|
|
105
113
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import DataPrototype, ParameterDataPrototype, VariableDataPrototype
|
|
106
|
-
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ArgumentDataPrototype, ClientServerInterface,
|
|
114
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ArgumentDataPrototype, ClientServerInterface, ClientServerInterfaceMapping
|
|
115
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerOperation, ClientServerOperationMapping
|
|
107
116
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import DataPrototypeMapping, InvalidationPolicy, ModeSwitchInterface
|
|
108
117
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ParameterInterface, PortInterface, PortInterfaceMappingSet
|
|
109
118
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import SenderReceiverInterface, TriggerInterface, DataInterface
|
|
@@ -358,7 +367,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
358
367
|
for child_element in self.findall(element, "%s/VARIABLE-ACCESS" % key):
|
|
359
368
|
short_name = self.getShortName(child_element)
|
|
360
369
|
|
|
361
|
-
self.logger.debug("
|
|
370
|
+
# self.logger.debug("Read VariableAccesses %s" % short_name)
|
|
362
371
|
|
|
363
372
|
if (key == "DATA-RECEIVE-POINT-BY-ARGUMENTS"):
|
|
364
373
|
variable_access = parent.createDataReceivePointByArgument(short_name)
|
|
@@ -391,7 +400,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
391
400
|
ref = self.getChildElementOptionalRefType(child_element, "BSW-MODULE-ENTRY-REF")
|
|
392
401
|
if (ref is not None):
|
|
393
402
|
parent.addImplementedEntryRef(ref)
|
|
394
|
-
self.logger.debug("ImplementedEntry <%s> of BswModuleDescription <%s> has been added", ref.value, parent.getShortName())
|
|
403
|
+
# self.logger.debug("ImplementedEntry <%s> of BswModuleDescription <%s> has been added", ref.value, parent.getShortName())
|
|
395
404
|
|
|
396
405
|
def readModeDeclarationGroupPrototype(self, element: ET.Element, prototype: ModeDeclarationGroupPrototype):
|
|
397
406
|
self.readIdentifiable(element, prototype)
|
|
@@ -420,7 +429,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
420
429
|
entity.addCanEnterExclusiveAreaRef(ref)
|
|
421
430
|
|
|
422
431
|
def readExecutableEntity(self, element: ET.Element, entity: ExecutableEntity):
|
|
423
|
-
self.logger.debug("
|
|
432
|
+
# self.logger.debug("Read ExecutableEntity %s" % entity.getShortName())
|
|
424
433
|
self.readIdentifiable(element, entity)
|
|
425
434
|
self.readCanEnterExclusiveAreaRefs(element, entity)
|
|
426
435
|
entity.setMinimumStartInterval(self.getChildElementOptionalFloatValue(element, "MINIMUM-START-INTERVAL")) \
|
|
@@ -439,7 +448,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
439
448
|
self.readBswEvent(element, event)
|
|
440
449
|
|
|
441
450
|
def readBswModeSwitchEvent(self, element: ET.Element, event: BswModeSwitchEvent):
|
|
442
|
-
self.logger.debug("Read BswModeSwitchEvent <%s>" % event.getShortName())
|
|
451
|
+
# self.logger.debug("Read BswModeSwitchEvent <%s>" % event.getShortName())
|
|
443
452
|
# Read the Inherit BswScheduleEvent
|
|
444
453
|
self.readBswScheduleEvent(element, event)
|
|
445
454
|
|
|
@@ -454,13 +463,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
454
463
|
self.logger.debug(" Period: <%f, %s>" % (event.getPeriod().getValue(), event.getPeriod().getText()))
|
|
455
464
|
|
|
456
465
|
def readBswDataReceivedEvent(self, element: ET.Element, event: BswDataReceivedEvent):
|
|
457
|
-
self.logger.debug("Read BswDataReceivedEvent <%s>" % event.getShortName())
|
|
466
|
+
# self.logger.debug("Read BswDataReceivedEvent <%s>" % event.getShortName())
|
|
458
467
|
# Read the Inherit BswScheduleEvent
|
|
459
468
|
self.readBswScheduleEvent(element, event)
|
|
460
469
|
event.setDataRef(self.getChildElementOptionalRefType(element, "DATA-REF"))
|
|
461
470
|
|
|
462
471
|
def readBswInternalTriggerOccurredEvent(self, element: ET.Element, event: BswInternalTriggerOccurredEvent):
|
|
463
|
-
self.logger.debug("Read BswInternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
472
|
+
# self.logger.debug("Read BswInternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
464
473
|
# Read the Inherit BswScheduleEvent
|
|
465
474
|
self.readBswScheduleEvent(element, event)
|
|
466
475
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
@@ -557,9 +566,12 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
557
566
|
else:
|
|
558
567
|
self.raiseError("Unsupported assigned ports <%s>" % tag_name)
|
|
559
568
|
|
|
560
|
-
def
|
|
561
|
-
self.logger.debug("Read NvBlockNeeds <%s>" % needs.getShortName())
|
|
569
|
+
def readServiceNeeds(self, element: ET.Element, needs: ServiceNeeds):
|
|
562
570
|
self.readIdentifiable(element, needs)
|
|
571
|
+
|
|
572
|
+
def readNvBlockNeeds(self, element: ET.Element, needs: NvBlockNeeds):
|
|
573
|
+
# self.logger.debug("Read NvBlockNeeds <%s>" % needs.getShortName())
|
|
574
|
+
self.readServiceNeeds(element, needs)
|
|
563
575
|
needs.setCalcRamBlockCrc(self.getChildElementOptionalBooleanValue(element, "CALC-RAM-BLOCK-CRC")) \
|
|
564
576
|
.setCheckStaticBlockId(self.getChildElementOptionalBooleanValue(element, "CHECK-STATIC-BLOCK-ID")) \
|
|
565
577
|
.setNDataSets(self.getChildElementOptionalNumericalValue(element, "N-DATA-SETS")) \
|
|
@@ -580,20 +592,23 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
580
592
|
.setWritingFrequency(self.getChildElementOptionalPositiveInteger(element, "WRITING-FREQUENCY")) \
|
|
581
593
|
.setWritingPriority(self.getChildElementOptionalLiteral(element, "WRITING-PRIORITY"))
|
|
582
594
|
|
|
583
|
-
def
|
|
584
|
-
self.
|
|
585
|
-
|
|
595
|
+
def readDiagnosticCapabilityElement(self, element: ET.Element, needs: DiagnosticCapabilityElement):
|
|
596
|
+
self.readServiceNeeds(element, needs)
|
|
597
|
+
|
|
598
|
+
def readDiagnosticCommunicationManagerNeeds(self, element: ET.Element, needs: DiagnosticCommunicationManagerNeeds):
|
|
599
|
+
# self.logger.debug("Read DiagnosticCommunicationManagerNeeds <%s>" % needs.getShortName())
|
|
600
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
586
601
|
needs.setServiceRequestCallbackType(self.getChildElementOptionalLiteral(element, "SERVICE-REQUEST-CALLBACK-TYPE"))
|
|
587
602
|
|
|
588
603
|
def readDiagnosticRoutineNeeds(self, element: ET.Element, needs: DiagnosticRoutineNeeds):
|
|
589
|
-
self.logger.debug("Read DiagnosticRoutineNeeds %s" % needs.getShortName())
|
|
590
|
-
self.
|
|
604
|
+
# self.logger.debug("Read DiagnosticRoutineNeeds %s" % needs.getShortName())
|
|
605
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
591
606
|
needs.setDiagRoutineType(self.getChildElementOptionalLiteral(element, "DIAG-ROUTINE-TYPE")) \
|
|
592
607
|
.setRidNumber(self.getChildElementOptionalIntegerValue(element, "RID-NUMBER"))
|
|
593
608
|
|
|
594
609
|
def readDiagnosticValueNeeds(self, element: ET.Element, needs: DiagnosticValueNeeds):
|
|
595
|
-
self.logger.debug("Read DiagnosticValueNeeds %s" % needs.getShortName())
|
|
596
|
-
self.
|
|
610
|
+
# self.logger.debug("Read DiagnosticValueNeeds %s" % needs.getShortName())
|
|
611
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
597
612
|
needs.setDataLength(self.getChildElementOptionalPositiveInteger(element, "DATA-LENGTH")) \
|
|
598
613
|
.setDiagnosticValueAccess(self.getChildElementOptionalLiteral(element, "DIAGNOSTIC-VALUE-ACCESS")) \
|
|
599
614
|
.setDidNumber(self.getChildElementOptionalIntegerValue(element, "DID-NUMBER")) \
|
|
@@ -601,7 +616,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
601
616
|
.setProcessingStyle(self.getChildElementOptionalLiteral(element, "PROCESSING-STYLE"))
|
|
602
617
|
|
|
603
618
|
def readDiagEventDebounceMonitorInternal(self, element: ET.Element, algorithm: DiagEventDebounceMonitorInternal):
|
|
604
|
-
self.
|
|
619
|
+
self.readDiagnosticCapabilityElement(element, algorithm)
|
|
605
620
|
|
|
606
621
|
def readDiagEventDebounceAlgorithm(self, element: ET.Element, needs: DiagnosticEventNeeds):
|
|
607
622
|
for child_element in self.findall(element, "DIAG-EVENT-DEBOUNCE-ALGORITHM/*"):
|
|
@@ -613,25 +628,35 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
613
628
|
self.notImplemented("Unsupported DiagEventDebounceAlgorithm <%s>" % tag_name)
|
|
614
629
|
|
|
615
630
|
def readDiagnosticEventNeeds(self, element: ET.Element, needs: DiagnosticEventNeeds):
|
|
616
|
-
self.logger.debug("Read DiagnosticEventNeeds <%s>" % needs.getShortName())
|
|
617
|
-
self.
|
|
631
|
+
# self.logger.debug("Read DiagnosticEventNeeds <%s>" % needs.getShortName())
|
|
632
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
618
633
|
self.readDiagEventDebounceAlgorithm(element, needs)
|
|
619
634
|
needs.setDtcKind(self.getChildElementOptionalLiteral(element, "DTC-KIND")) \
|
|
620
635
|
.setUdsDtcNumber(self.getChildElementOptionalIntegerValue(element, "UDS-DTC-NUMBER"))
|
|
621
636
|
|
|
622
637
|
def readDiagnosticEventInfoNeeds(self, element: ET.Element, needs: DiagnosticEventInfoNeeds):
|
|
623
|
-
self.logger.debug("Read DiagnosticEventInfoNeeds <%s>" % needs.getShortName())
|
|
624
|
-
self.
|
|
638
|
+
# self.logger.debug("Read DiagnosticEventInfoNeeds <%s>" % needs.getShortName())
|
|
639
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
640
|
+
needs.setDtcKind(self.getChildElementOptionalLiteral(element, "DTC-KIND"))
|
|
625
641
|
needs.setUdsDtcNumber(self.getChildElementOptionalPositiveInteger(element, "UDS-DTC-NUMBER"))
|
|
626
642
|
|
|
627
643
|
def readCryptoServiceNeeds(self, element: ET.Element, needs: CryptoServiceNeeds):
|
|
628
|
-
self.logger.debug("Read CryptoServiceNeeds <%s>" % needs.getShortName())
|
|
629
|
-
self.
|
|
644
|
+
# self.logger.debug("Read CryptoServiceNeeds <%s>" % needs.getShortName())
|
|
645
|
+
self.readServiceNeeds(element, needs)
|
|
630
646
|
needs.setMaximumKeyLength(self.getChildElementOptionalPositiveInteger(element, "MAXIMUM-KEY-LENGTH"))
|
|
631
647
|
|
|
632
648
|
def readEcuStateMgrUserNeeds(self, element: ET.Element, needs: EcuStateMgrUserNeeds):
|
|
633
|
-
self.logger.debug("
|
|
634
|
-
self.
|
|
649
|
+
# self.logger.debug("Read EcuStateMgrUserNeeds %s" % needs.getShortName())
|
|
650
|
+
self.readServiceNeeds(element, needs)
|
|
651
|
+
|
|
652
|
+
def readDtcStatusChangeNotificationNeeds(self, element: ET.Element, needs: DtcStatusChangeNotificationNeeds):
|
|
653
|
+
# self.logger.debug("Read DtcStatusChangeNotificationNeeds %s" % needs.getShortName())
|
|
654
|
+
self.readDiagnosticCapabilityElement(element, needs)
|
|
655
|
+
needs.setDtcFormatType(self.getChildElementOptionalLiteral(element, "DTC-FORMAT-TYPE"))
|
|
656
|
+
|
|
657
|
+
def readDltUserNeeds(self, element: ET.Element, needs: DltUserNeeds):
|
|
658
|
+
# self.logger.debug("Read DltUserNeeds %s" % needs.getShortName())
|
|
659
|
+
self.readServiceNeeds(element, needs)
|
|
635
660
|
|
|
636
661
|
def readSwcServiceDependencyServiceNeeds(self, element: ET.Element, parent: SwcServiceDependency):
|
|
637
662
|
for child_element in self.findall(element, "SERVICE-NEEDS/*"):
|
|
@@ -641,7 +666,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
641
666
|
self.readNvBlockNeeds(child_element, needs)
|
|
642
667
|
elif tag_name == "DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS":
|
|
643
668
|
needs = parent.createDiagnosticCommunicationManagerNeeds(self.getShortName(child_element))
|
|
644
|
-
self.
|
|
669
|
+
self.readDiagnosticCommunicationManagerNeeds(child_element, needs)
|
|
645
670
|
elif tag_name == "DIAGNOSTIC-ROUTINE-NEEDS":
|
|
646
671
|
needs = parent.createDiagnosticRoutineNeeds(self.getShortName(child_element))
|
|
647
672
|
self.readDiagnosticRoutineNeeds(child_element, needs)
|
|
@@ -660,13 +685,19 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
660
685
|
elif tag_name == "ECU-STATE-MGR-USER-NEEDS":
|
|
661
686
|
needs = parent.createEcuStateMgrUserNeeds(self.getShortName(child_element))
|
|
662
687
|
self.readEcuStateMgrUserNeeds(child_element, needs)
|
|
688
|
+
elif tag_name == "DTC-STATUS-CHANGE-NOTIFICATION-NEEDS":
|
|
689
|
+
needs = parent.createDtcStatusChangeNotificationNeeds(self.getShortName(child_element))
|
|
690
|
+
self.readDtcStatusChangeNotificationNeeds(child_element, needs)
|
|
691
|
+
elif tag_name == "DLT-USER-NEEDS":
|
|
692
|
+
needs = parent.createDltUserNeeds(self.getShortName(child_element))
|
|
693
|
+
self.readDltUserNeeds(child_element, needs)
|
|
663
694
|
else:
|
|
664
695
|
self.notImplemented("Unsupported service needs <%s>" % tag_name)
|
|
665
696
|
|
|
666
697
|
def readSwcServiceDependency(self, element: ET.Element, parent: SwcInternalBehavior):
|
|
667
698
|
short_name = self.getShortName(element)
|
|
668
699
|
dependency = parent.createSwcServiceDependency(short_name)
|
|
669
|
-
self.logger.debug("
|
|
700
|
+
# self.logger.debug("Read SwcServiceDependency %s" % short_name)
|
|
670
701
|
self.readServiceDependency(element, dependency)
|
|
671
702
|
self.readSwcServiceDependencyAssignedData(element, dependency)
|
|
672
703
|
self.readSwcServiceDependencyAssignedPorts(element, dependency)
|
|
@@ -778,9 +809,31 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
778
809
|
def readBswModuleEntityIssuedTriggerRefs(self, element: ET.Element, entity: BswModuleEntity):
|
|
779
810
|
for ref in self.getChildElementRefTypeList(element, "ISSUED-TRIGGERS/TRIGGER-REF-CONDITIONAL/TRIGGER-REF"):
|
|
780
811
|
entity.addIssuedTriggerRef(ref)
|
|
812
|
+
|
|
813
|
+
def readBswModuleEntityActivationPointRefs(self, element: ET.Element, entity: BswModuleEntity):
|
|
814
|
+
for ref in self.getChildElementRefTypeList(element, "ACTIVATION-POINTS/BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL/BSW-INTERNAL-TRIGGERING-POINT-REF"): # noqa E501
|
|
815
|
+
entity.addActivationPointRef(ref)
|
|
816
|
+
|
|
817
|
+
def readBswModuleCallPoint(self, element: ET.Element, point: BswModuleCallPoint):
|
|
818
|
+
self.readReferrable(element, point)
|
|
819
|
+
|
|
820
|
+
def readBswAsynchronousServerCallPoint(self, element: ET.Element, point: BswAsynchronousServerCallPoint):
|
|
821
|
+
self.readBswModuleCallPoint(element, point)
|
|
822
|
+
point.setCalledEntryRef(self.getChildElementOptionalRefType(element, "CALLED-ENTRY-REF"))
|
|
823
|
+
|
|
824
|
+
def readBswModuleEntityCallPoints(self, element: ET.Element, entity: BswModuleEntity):
|
|
825
|
+
for child_element in self.findall(element, "CALL-POINTS/*"):
|
|
826
|
+
tag_name = self.getTagName(child_element)
|
|
827
|
+
if tag_name == "BSW-ASYNCHRONOUS-SERVER-CALL-POINT":
|
|
828
|
+
point = entity.createBswAsynchronousServerCallPoint(self.getShortName(child_element))
|
|
829
|
+
self.readBswAsynchronousServerCallPoint(child_element, point)
|
|
830
|
+
else:
|
|
831
|
+
self.notImplemented("Unsupported Call Point <%s>" % tag_name)
|
|
781
832
|
|
|
782
833
|
def readBswModuleEntity(self, element: ET.Element, entity: BswModuleEntity):
|
|
783
834
|
self.readExecutableEntity(element, entity)
|
|
835
|
+
self.readBswModuleEntityActivationPointRefs(element, entity)
|
|
836
|
+
self.readBswModuleEntityCallPoints(element, entity)
|
|
784
837
|
self.readBswModuleEntityDataReceiverPoints(element, entity)
|
|
785
838
|
self.readBswModuleEntityDataSendPoints(element, entity)
|
|
786
839
|
entity.setImplementedEntryRef(self.getChildElementRefType(entity.getShortName(), element, "IMPLEMENTED-ENTRY-REF"))
|
|
@@ -788,15 +841,15 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
788
841
|
self.readBswModuleEntityIssuedTriggerRefs(element, entity)
|
|
789
842
|
|
|
790
843
|
def readBswCalledEntity(self, element: ET.Element, entity: BswCalledEntity):
|
|
791
|
-
self.logger.debug("
|
|
844
|
+
# self.logger.debug("Read BswCalledEntity %s" % entity.getShortName())
|
|
792
845
|
self.readBswModuleEntity(element, entity)
|
|
793
846
|
|
|
794
847
|
def readBswSchedulableEntity(self, element: ET.Element, entity: BswSchedulableEntity):
|
|
795
|
-
self.logger.debug("
|
|
848
|
+
# self.logger.debug("Read BswSchedulableEntity %s" % entity.getShortName())
|
|
796
849
|
self.readBswModuleEntity(element, entity)
|
|
797
850
|
|
|
798
851
|
def readBswInterruptEntity(self, element: ET.Element, entity: BswInterruptEntity):
|
|
799
|
-
self.logger.debug("
|
|
852
|
+
# self.logger.debug("Read BswSchedulableEntity %s" % entity.getShortName())
|
|
800
853
|
self.readBswModuleEntity(element, entity)
|
|
801
854
|
entity.setInterruptCategory(self.getChildElementOptionalLiteral(element, "INTERRUPT-CATEGORY")) \
|
|
802
855
|
.setInterruptSource(self.getChildElementOptionalLiteral(element, "INTERRUPT-SOURCE"))
|
|
@@ -876,11 +929,24 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
876
929
|
else:
|
|
877
930
|
self.notImplemented("Unsupported Reception Policies <%s>" % tag_name)
|
|
878
931
|
|
|
932
|
+
def readBswInternalTriggeringPoint(self, element: ET.Element, point: BswInternalTriggeringPoint):
|
|
933
|
+
self.readIdentifiable(element, point)
|
|
934
|
+
|
|
935
|
+
def readBswInternalBehaviorInternalTriggeringPoints(self, element: ET.Element, behavior: BswInternalBehavior):
|
|
936
|
+
for child_element in self.findall(element, "INTERNAL-TRIGGERING-POINTS/*"):
|
|
937
|
+
tag_name = self.getTagName(child_element)
|
|
938
|
+
if tag_name == "BSW-INTERNAL-TRIGGERING-POINT":
|
|
939
|
+
point = behavior.createBswInternalTriggeringPoint(self.getShortName(child_element))
|
|
940
|
+
self.readBswInternalTriggeringPoint(child_element, point)
|
|
941
|
+
else:
|
|
942
|
+
self.notImplemented("Unsupported Internal Triggering Points <%s>" % tag_name)
|
|
943
|
+
|
|
879
944
|
def readBswInternalBehavior(self, element: ET.Element, behavior: BswInternalBehavior):
|
|
880
945
|
self.logger.debug("Read BswInternalBehavior <%s>" % behavior.full_name)
|
|
881
946
|
|
|
882
947
|
# read the internal behavior
|
|
883
948
|
self.readInternalBehavior(element, behavior)
|
|
949
|
+
self.readBswInternalBehaviorInternalTriggeringPoints(element, behavior)
|
|
884
950
|
self.readBswInternalBehaviorEntities(element, behavior)
|
|
885
951
|
self.readBswInternalBehaviorEvents(element, behavior)
|
|
886
952
|
self.readBswInternalBehaviorModeSenderPolicy(element, behavior)
|
|
@@ -936,6 +1002,30 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
936
1002
|
else:
|
|
937
1003
|
self.notImplemented("Unsupported Required Data <%s>" % tag_name)
|
|
938
1004
|
|
|
1005
|
+
def readBswModuleClientServerEntry(self, element: ET.Element, entry: BswModuleClientServerEntry):
|
|
1006
|
+
self.readReferrable(element, entry)
|
|
1007
|
+
entry.setEncapsulatedEntryRef(self.getChildElementOptionalRefType(element, "ENCAPSULATED-ENTRY-REF")) \
|
|
1008
|
+
.setIsReentrant(self.getChildElementOptionalBooleanValue(element, "IS-REENTRANT")) \
|
|
1009
|
+
.setIsSynchronous(self.getChildElementOptionalBooleanValue(element, "IS-SYNCHRONOUS"))
|
|
1010
|
+
|
|
1011
|
+
def readBswModuleDescriptionProvidedClientServerEntries(self, element: ET.Element, desc: BswModuleDescription):
|
|
1012
|
+
for child_element in self.findall(element, "PROVIDED-CLIENT-SERVER-ENTRYS/*"):
|
|
1013
|
+
tag_name = self.getTagName(child_element)
|
|
1014
|
+
if tag_name == "BSW-MODULE-CLIENT-SERVER-ENTRY":
|
|
1015
|
+
entry = desc.createProvidedClientServerEntry(self.getShortName(child_element))
|
|
1016
|
+
self.readBswModuleClientServerEntry(child_element, entry)
|
|
1017
|
+
else:
|
|
1018
|
+
self.notImplemented("Unsupported Provided Client Server Entry <%s>" % tag_name)
|
|
1019
|
+
|
|
1020
|
+
def readBswModuleDescriptionRequiredClientServerEntries(self, element: ET.Element, desc: BswModuleDescription):
|
|
1021
|
+
for child_element in self.findall(element, "REQUIRED-CLIENT-SERVER-ENTRYS/*"):
|
|
1022
|
+
tag_name = self.getTagName(child_element)
|
|
1023
|
+
if tag_name == "BSW-MODULE-CLIENT-SERVER-ENTRY":
|
|
1024
|
+
entry = desc.createRequiredClientServerEntry(self.getShortName(child_element))
|
|
1025
|
+
self.readBswModuleClientServerEntry(child_element, entry)
|
|
1026
|
+
else:
|
|
1027
|
+
self.notImplemented("Unsupported Required Client Server Entry <%s>" % tag_name)
|
|
1028
|
+
|
|
939
1029
|
def readBswModuleDescription(self, element: ET.Element, desc: BswModuleDescription):
|
|
940
1030
|
self.logger.debug("Read BswModuleDescription <%s>" % desc.getShortName())
|
|
941
1031
|
|
|
@@ -944,11 +1034,12 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
944
1034
|
self.readBswModuleDescriptionImplementedEntryRefs(element, desc)
|
|
945
1035
|
self.readBswModuleDescriptionProvidedModeGroups(element, desc)
|
|
946
1036
|
self.readBswModuleDescriptionRequiredModeGroups(element, desc)
|
|
947
|
-
self.
|
|
948
|
-
self.
|
|
1037
|
+
self.readBswModuleDescriptionProvidedClientServerEntries(element, desc)
|
|
1038
|
+
self.readBswModuleDescriptionRequiredClientServerEntries(element, desc)
|
|
949
1039
|
self.readBswModuleDescriptionProvidedDatas(element, desc)
|
|
950
1040
|
self.readBswModuleDescriptionRequiredDatas(element, desc)
|
|
951
1041
|
self.readBswModuleDescriptionBswInternalBehaviors(element, desc)
|
|
1042
|
+
self.readBswModuleDescriptionRequiredTriggers(element, desc)
|
|
952
1043
|
|
|
953
1044
|
def readSwServiceArg(self, element: ET.Element, arg: SwServiceArg):
|
|
954
1045
|
self.readIdentifiable(element, arg)
|
|
@@ -975,8 +1066,6 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
975
1066
|
.setExecutionContext(self.getChildElementOptionalLiteral(element, "EXECUTION-CONTEXT")) \
|
|
976
1067
|
.setSwServiceImplPolicy(self.getChildElementOptionalLiteral(element, "SW-SERVICE-IMPL-POLICY"))
|
|
977
1068
|
|
|
978
|
-
self.logger.debug("read BswModuleEntry %s" % entry.getShortName())
|
|
979
|
-
|
|
980
1069
|
def readEngineeringObject(self, element: ET.Element, engineering_obj: EngineeringObject):
|
|
981
1070
|
self.readARObjectAttributes(element, engineering_obj)
|
|
982
1071
|
engineering_obj.setShortLabel(self.getChildElementOptionalLiteral(element, "SHORT-LABEL")) \
|
|
@@ -985,7 +1074,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
985
1074
|
def getAutosarEngineeringObject(self, element: ET.Element) -> AutosarEngineeringObject:
|
|
986
1075
|
obj = AutosarEngineeringObject()
|
|
987
1076
|
self.readEngineeringObject(element, obj)
|
|
988
|
-
self.logger.debug("
|
|
1077
|
+
# self.logger.debug("Get AutosarEngineeringObject %s", obj.short_label)
|
|
989
1078
|
return obj
|
|
990
1079
|
|
|
991
1080
|
def readArtifactDescriptor(self, element: ET.Element, code_desc: Code):
|
|
@@ -994,12 +1083,12 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
994
1083
|
if tag_name == "AUTOSAR-ENGINEERING-OBJECT":
|
|
995
1084
|
code_desc.addArtifactDescriptor(self.getAutosarEngineeringObject(child_element))
|
|
996
1085
|
else:
|
|
997
|
-
self.
|
|
1086
|
+
self.notImplemented("Unsupported Artifact Descriptor <%s>" % tag_name)
|
|
998
1087
|
|
|
999
1088
|
def readCodeDescriptor(self, element: ET.Element, impl: Implementation):
|
|
1000
1089
|
for child_element in self.findall(element, "CODE-DESCRIPTORS/CODE"):
|
|
1001
1090
|
short_name = self.getShortName(child_element)
|
|
1002
|
-
self.logger.debug("
|
|
1091
|
+
# self.logger.debug("Read CodeDescriptor %s" % short_name)
|
|
1003
1092
|
code_desc = impl.createCodeDescriptor(short_name)
|
|
1004
1093
|
self.readIdentifiable(child_element, code_desc)
|
|
1005
1094
|
self.readArtifactDescriptor(child_element, code_desc)
|
|
@@ -1020,7 +1109,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1020
1109
|
memory_section.setSize(self.getChildElementOptionalNumericalValue(child_element, "SIZE")) \
|
|
1021
1110
|
.setSwAddrMethodRef(self.getChildElementOptionalRefType(child_element, "SW-ADDRMETHOD-REF")) \
|
|
1022
1111
|
.setSymbol(self.getChildElementOptionalLiteral(child_element, "SYMBOL"))
|
|
1023
|
-
self.logger.debug("read MemorySections %s" % memory_section.getShortName())
|
|
1112
|
+
# self.logger.debug("read MemorySections %s" % memory_section.getShortName())
|
|
1024
1113
|
|
|
1025
1114
|
def readStackUsage(self, element: ET.Element, usage: StackUsage):
|
|
1026
1115
|
self.logger.debug("read StackUsage %s" % usage.getShortName())
|
|
@@ -1145,16 +1234,16 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1145
1234
|
parent.addModeIRef(mode_iref)
|
|
1146
1235
|
|
|
1147
1236
|
def readSynchronousServerCallPoint(self, element: ET.Element, parent: RunnableEntity):
|
|
1237
|
+
# self.logger.debug("readSynchronousServerCallPoint %s" % short_name)
|
|
1148
1238
|
short_name = self.getShortName(element)
|
|
1149
|
-
self.logger.debug("readSynchronousServerCallPoint %s" % short_name)
|
|
1150
1239
|
server_call_point = parent.createSynchronousServerCallPoint(short_name)
|
|
1151
1240
|
self.readIdentifiable(element, server_call_point)
|
|
1152
1241
|
server_call_point.setTimeout(self.getChildElementOptionalFloatValue(element, "TIMEOUT"))
|
|
1153
1242
|
self.readROperationIRef(element, "OPERATION-IREF", server_call_point)
|
|
1154
1243
|
|
|
1155
1244
|
def readAsynchronousServerCallPoint(self, element: ET.Element, parent: RunnableEntity):
|
|
1245
|
+
# self.logger.debug("readAsynchronousServerCallPoint %s" % short_name)
|
|
1156
1246
|
short_name = self.getShortName(element)
|
|
1157
|
-
self.logger.debug("readAsynchronousServerCallPoint %s" % short_name)
|
|
1158
1247
|
server_call_point = parent.createAsynchronousServerCallPoint(short_name)
|
|
1159
1248
|
self.readIdentifiable(element, server_call_point)
|
|
1160
1249
|
server_call_point.setTimeout(self.getChildElementOptionalFloatValue(element, "TIMEOUT"))
|
|
@@ -1307,7 +1396,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1307
1396
|
parent.setOperationIRef(operation_iref)
|
|
1308
1397
|
|
|
1309
1398
|
def readOperationInvokedEvent(self, element: ET.Element, event: OperationInvokedEvent):
|
|
1310
|
-
self.logger.debug("Read OperationInvokedEvent <%s>" % event.getShortName())
|
|
1399
|
+
# self.logger.debug("Read OperationInvokedEvent <%s>" % event.getShortName())
|
|
1311
1400
|
self.readPOperationIRef(element, "OPERATION-IREF", event)
|
|
1312
1401
|
self.readRTEEvent(element, event)
|
|
1313
1402
|
|
|
@@ -1365,43 +1454,43 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1365
1454
|
behavior.addPortAPIOption(option)
|
|
1366
1455
|
|
|
1367
1456
|
def readTimingEvent(self, element: ET.Element, event: TimingEvent):
|
|
1368
|
-
self.logger.debug("Read TimingEvent <%s>" % event.getShortName())
|
|
1457
|
+
# self.logger.debug("Read TimingEvent <%s>" % event.getShortName())
|
|
1369
1458
|
self.readRTEEvent(element, event)
|
|
1370
1459
|
event.setOffset(self.getChildElementOptionalTimeValue(element, "OFFSET")) \
|
|
1371
1460
|
.setPeriod(self.getChildElementOptionalTimeValue(element, "PERIOD"))
|
|
1372
1461
|
|
|
1373
1462
|
def readDataReceivedEvent(self, element: ET.Element, event: DataReceivedEvent):
|
|
1374
|
-
self.logger.debug("Read DataReceivedEvent <%s>" % event.getShortName())
|
|
1463
|
+
# self.logger.debug("Read DataReceivedEvent <%s>" % event.getShortName())
|
|
1375
1464
|
self.readRTEEvent(element, event)
|
|
1376
1465
|
self.readRVariableInAtomicSwcInstanceRef(element, event)
|
|
1377
1466
|
|
|
1378
1467
|
def readSwcModeSwitchEvent(self, element: ET.Element, event: SwcModeSwitchEvent):
|
|
1379
|
-
self.logger.debug("Read SwcModeSwitchEvent <%s>" % event.getShortName())
|
|
1468
|
+
# self.logger.debug("Read SwcModeSwitchEvent <%s>" % event.getShortName())
|
|
1380
1469
|
self.readRTEEvent(element, event)
|
|
1381
1470
|
event.setActivation(self.getChildElementOptionalLiteral(element, "ACTIVATION"))
|
|
1382
1471
|
self.readRModeInAtomicSwcInstanceRef(element, event)
|
|
1383
1472
|
|
|
1384
1473
|
def readInternalTriggerOccurredEvent(self, element: ET.Element, event: InternalTriggerOccurredEvent):
|
|
1385
|
-
self.logger.debug("Read InternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
1474
|
+
# self.logger.debug("Read InternalTriggerOccurredEvent <%s>" % event.getShortName())
|
|
1386
1475
|
self.readRTEEvent(element, event)
|
|
1387
1476
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1388
1477
|
|
|
1389
1478
|
def readInitEvent(self, element, event: InitEvent):
|
|
1390
|
-
self.logger.debug("Read InitEvent <%s>" % event.getShortName())
|
|
1479
|
+
# self.logger.debug("Read InitEvent <%s>" % event.getShortName())
|
|
1391
1480
|
self.readRTEEvent(element, event)
|
|
1392
1481
|
|
|
1393
1482
|
def readAsynchronousServerCallReturnsEvent(self, element, event: AsynchronousServerCallReturnsEvent):
|
|
1394
|
-
self.logger.debug("Read AsynchronousServerCallReturnsEvent <%s>" % event.getShortName())
|
|
1483
|
+
# self.logger.debug("Read AsynchronousServerCallReturnsEvent <%s>" % event.getShortName())
|
|
1395
1484
|
self.readRTEEvent(element, event)
|
|
1396
1485
|
event.setActivationReasonRepresentationRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1397
1486
|
|
|
1398
1487
|
def readModeSwitchedAckEvent(self, element, event: ModeSwitchedAckEvent):
|
|
1399
|
-
self.logger.debug("Read ModeSwitchedAckEvent <%s>" % event.getShortName())
|
|
1488
|
+
# self.logger.debug("Read ModeSwitchedAckEvent <%s>" % event.getShortName())
|
|
1400
1489
|
self.readRTEEvent(element, event)
|
|
1401
1490
|
event.setEventSourceRef(self.getChildElementOptionalRefType(element, "EVENT-SOURCE-REF"))
|
|
1402
1491
|
|
|
1403
1492
|
def readBackgroundEvent(self, element, event: BackgroundEvent):
|
|
1404
|
-
self.logger.debug("Read BackgroundEvent <%s>" % event.getShortName())
|
|
1493
|
+
# self.logger.debug("Read BackgroundEvent <%s>" % event.getShortName())
|
|
1405
1494
|
self.readRTEEvent(element, event)
|
|
1406
1495
|
|
|
1407
1496
|
def readSwcInternalBehaviorEvents(self, element: ET.Element, parent: SwcInternalBehavior):
|
|
@@ -1486,13 +1575,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1486
1575
|
results.append(l1)
|
|
1487
1576
|
return results
|
|
1488
1577
|
|
|
1489
|
-
def getListElements(self, element: ET.Element, key: str) -> List[
|
|
1578
|
+
def getListElements(self, element: ET.Element, key: str) -> List[ARList]:
|
|
1490
1579
|
'''
|
|
1491
1580
|
Read the DocumentationBlock List
|
|
1492
1581
|
'''
|
|
1493
1582
|
result = []
|
|
1494
1583
|
for child_element in self.findall(element, key):
|
|
1495
|
-
list =
|
|
1584
|
+
list = ARList()
|
|
1496
1585
|
if 'TYPE' in child_element.attrib:
|
|
1497
1586
|
list.setType(child_element.attrib['TYPE'])
|
|
1498
1587
|
for block in self.getDocumentationBlockList(child_element, "ITEM"):
|
|
@@ -1500,6 +1589,41 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1500
1589
|
result.append(list)
|
|
1501
1590
|
return result
|
|
1502
1591
|
|
|
1592
|
+
def getGraphic(self, element: ET.Element, key: str) -> Graphic:
|
|
1593
|
+
graphic = None
|
|
1594
|
+
child_element = self.find(element, key)
|
|
1595
|
+
if child_element is not None:
|
|
1596
|
+
graphic = Graphic()
|
|
1597
|
+
if "FILENAME" in child_element.attrib:
|
|
1598
|
+
graphic.setFilename(child_element.attrib["FILENAME"])
|
|
1599
|
+
return graphic
|
|
1600
|
+
|
|
1601
|
+
def readMlFigureLGraphics(self, element: ET.Element, figure: MlFigure):
|
|
1602
|
+
for child_element in self.findall(element, "L-GRAPHIC"):
|
|
1603
|
+
graphic = LGraphic()
|
|
1604
|
+
if "L" in child_element.attrib:
|
|
1605
|
+
graphic.setL(child_element.attrib["L"])
|
|
1606
|
+
graphic.setGraphic(self.getGraphic(child_element, "GRAPHIC"))
|
|
1607
|
+
figure.addLGraphics(graphic)
|
|
1608
|
+
|
|
1609
|
+
def readDocumentViewSelectable(self, element: ET.Element, selectable: DocumentViewSelectable):
|
|
1610
|
+
self.readARObjectAttributes(element, selectable)
|
|
1611
|
+
|
|
1612
|
+
def readPaginateable(self, element: ET.Element, paginateable: Paginateable):
|
|
1613
|
+
self.readDocumentViewSelectable(element, paginateable)
|
|
1614
|
+
|
|
1615
|
+
def readMlFigure(self, element: ET.Element, figure: MlFigure):
|
|
1616
|
+
self.readPaginateable(element, figure)
|
|
1617
|
+
self.readMlFigureLGraphics(element, figure)
|
|
1618
|
+
|
|
1619
|
+
def getMlFigures(self, element: ET.Element, key: str) -> List[MlFigure]:
|
|
1620
|
+
result = []
|
|
1621
|
+
for child_element in self.findall(element, key):
|
|
1622
|
+
figure = MlFigure()
|
|
1623
|
+
self.readMlFigure(child_element, figure)
|
|
1624
|
+
result.append(figure)
|
|
1625
|
+
return result
|
|
1626
|
+
|
|
1503
1627
|
def getMultiLanguagePlainText(self, element: ET.Element, key: str) -> MultiLanguagePlainText:
|
|
1504
1628
|
paragraph = None
|
|
1505
1629
|
child_element = self.find(element, key)
|
|
@@ -1509,13 +1633,15 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1509
1633
|
for l10 in self.getLPlainTexts(child_element, "L-10"):
|
|
1510
1634
|
paragraph.addL10(l10)
|
|
1511
1635
|
return paragraph
|
|
1512
|
-
|
|
1636
|
+
|
|
1513
1637
|
def readDocumentationBlock(self, element: ET.Element, block: DocumentationBlock):
|
|
1514
1638
|
self.readARObjectAttributes(element, block)
|
|
1515
1639
|
for paragraph in self.getMultiLanguageParagraphs(element, "P"):
|
|
1516
1640
|
block.addP(paragraph)
|
|
1517
1641
|
for list in self.getListElements(element, "LIST"):
|
|
1518
1642
|
block.addList(list)
|
|
1643
|
+
for figure in self.getMlFigures(element, "FIGURE"):
|
|
1644
|
+
block.addFigure(figure)
|
|
1519
1645
|
|
|
1520
1646
|
def getDocumentationBlock(self, element: ET.Element, key: str) -> DocumentationBlock:
|
|
1521
1647
|
block = None
|
|
@@ -1631,7 +1757,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1631
1757
|
self.readAutosarDataType(element, data_type)
|
|
1632
1758
|
|
|
1633
1759
|
def readApplicationRecordElement(self, element: ET.Element, record_element: ApplicationRecordElement):
|
|
1634
|
-
self.logger.debug("
|
|
1760
|
+
# self.logger.debug("Read ApplicationRecordElement %s" % record_element.getShortName())
|
|
1635
1761
|
self.readApplicationCompositeElementDataPrototype(element, record_element)
|
|
1636
1762
|
|
|
1637
1763
|
def readApplicationRecordDataTypeElements(self, element: ET.Element, parent: ApplicationRecordDataType):
|
|
@@ -1690,7 +1816,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1690
1816
|
return iref
|
|
1691
1817
|
|
|
1692
1818
|
def getCompositeNetworkRepresentation(self, element: ET.Element) -> CompositeNetworkRepresentation:
|
|
1693
|
-
self.logger.debug("getCompositeNetworkRepresentation")
|
|
1819
|
+
# self.logger.debug("getCompositeNetworkRepresentation")
|
|
1694
1820
|
representation = CompositeNetworkRepresentation()
|
|
1695
1821
|
representation.setLeafElementIRef(self.getApplicationCompositeElementInPortInterfaceInstanceRef(element, "LEAF-ELEMENT-IREF")) \
|
|
1696
1822
|
.setNetworkRepresentation(self.getSwDataDefProps(element, "NETWORK-REPRESENTATION"))
|
|
@@ -1721,7 +1847,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1721
1847
|
value_list = None
|
|
1722
1848
|
child_element = self.find(element, key)
|
|
1723
1849
|
if child_element is not None:
|
|
1724
|
-
self.logger.debug("
|
|
1850
|
+
# self.logger.debug("Get ValueList %s" % key)
|
|
1725
1851
|
value_list = ValueList()
|
|
1726
1852
|
self.readARObjectAttributes(child_element, value_list)
|
|
1727
1853
|
value_list.setV(self.getChildElementOptionalFloatValue(child_element, "V"))
|
|
@@ -1731,7 +1857,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1731
1857
|
cont = None
|
|
1732
1858
|
child_element = self.find(element, "SW-VALUE-CONT")
|
|
1733
1859
|
if child_element is not None:
|
|
1734
|
-
self.logger.debug("
|
|
1860
|
+
# self.logger.debug("Get SwValueCont")
|
|
1735
1861
|
cont = SwValueCont()
|
|
1736
1862
|
self.readARObjectAttributes(child_element, cont)
|
|
1737
1863
|
cont.setUnitRef(self.getChildElementOptionalRefType(child_element, "UNIT-REF")) \
|
|
@@ -1813,7 +1939,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1813
1939
|
self.readProvidedComSpec(element, prototype)
|
|
1814
1940
|
|
|
1815
1941
|
def readPPortPrototype(self, element: ET.Element, prototype: PPortPrototype):
|
|
1816
|
-
self.logger.debug("Read PPortPrototype %s" % prototype.getShortName())
|
|
1942
|
+
# self.logger.debug("Read PPortPrototype %s" % prototype.getShortName())
|
|
1817
1943
|
self.readIdentifiable(element, prototype)
|
|
1818
1944
|
self.readAbstractRequiredPortPrototype(element, prototype)
|
|
1819
1945
|
prototype.setProvidedInterfaceTRef(self.getChildElementOptionalRefType(element, "PROVIDED-INTERFACE-TREF"))
|
|
@@ -1822,13 +1948,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1822
1948
|
self.readRequiredComSpec(element, prototype)
|
|
1823
1949
|
|
|
1824
1950
|
def readRPortPrototype(self, element: ET.Element, prototype: RPortPrototype):
|
|
1825
|
-
self.logger.debug("Read RPortPrototype %s" % prototype.getShortName())
|
|
1951
|
+
# self.logger.debug("Read RPortPrototype %s" % prototype.getShortName())
|
|
1826
1952
|
self.readIdentifiable(element, prototype)
|
|
1827
1953
|
self.readAbstractProvidedPortPrototype(element, prototype)
|
|
1828
1954
|
prototype.setRequiredInterfaceTRef(self.getChildElementOptionalRefType(element, "REQUIRED-INTERFACE-TREF"))
|
|
1829
1955
|
|
|
1830
1956
|
def readPRPortPrototype(self, element: ET.Element, prototype: PRPortPrototype):
|
|
1831
|
-
self.logger.debug("Read PRPortPrototype %s" % prototype.getShortName())
|
|
1957
|
+
# self.logger.debug("Read PRPortPrototype %s" % prototype.getShortName())
|
|
1832
1958
|
self.readIdentifiable(element, prototype)
|
|
1833
1959
|
self.readAbstractRequiredPortPrototype(element, prototype)
|
|
1834
1960
|
self.readAbstractProvidedPortPrototype(element, prototype)
|
|
@@ -1975,6 +2101,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1975
2101
|
p_port_in_composition_instance_ref.setContextComponentRef(self.getChildElementOptionalRefType(element, "CONTEXT-COMPONENT-REF")) \
|
|
1976
2102
|
.setTargetPPortRef(self.getChildElementOptionalRefType(element, "TARGET-P-PORT-REF"))
|
|
1977
2103
|
|
|
2104
|
+
'''
|
|
1978
2105
|
self.logger.debug("PPortInCompositionInstanceRef")
|
|
1979
2106
|
self.logger.debug(" CONTEXT-COMPONENT-REF DEST: %s, %s"
|
|
1980
2107
|
% (p_port_in_composition_instance_ref.getContextComponentRef().getDest(),
|
|
@@ -1982,11 +2109,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1982
2109
|
self.logger.debug(" TARGET-P-PORT-REF DEST: %s, %s"
|
|
1983
2110
|
% (p_port_in_composition_instance_ref.getTargetPPortRef().getDest(),
|
|
1984
2111
|
p_port_in_composition_instance_ref.getTargetPPortRef().getValue()))
|
|
2112
|
+
'''
|
|
1985
2113
|
|
|
1986
2114
|
def readRPortInCompositionInstanceRef(self, element, r_port_in_composition_instance_ref: RPortInCompositionInstanceRef):
|
|
1987
2115
|
r_port_in_composition_instance_ref.setContextComponentRef(self.getChildElementOptionalRefType(element, "CONTEXT-COMPONENT-REF")) \
|
|
1988
2116
|
.setTargetRPortRef(self.getChildElementOptionalRefType(element, "TARGET-R-PORT-REF"))
|
|
1989
2117
|
|
|
2118
|
+
'''
|
|
1990
2119
|
self.logger.debug("RPortInCompositionInstanceRef")
|
|
1991
2120
|
self.logger.debug(" CONTEXT-COMPONENT-REF DEST: %s, %s"
|
|
1992
2121
|
% (r_port_in_composition_instance_ref.getContextComponentRef().getDest(),
|
|
@@ -1994,6 +2123,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
1994
2123
|
self.logger.debug(" TARGET-P-PORT-REF DEST: %s, %s"
|
|
1995
2124
|
% (r_port_in_composition_instance_ref.getTargetRPortRef().getDest(),
|
|
1996
2125
|
r_port_in_composition_instance_ref.getTargetRPortRef().getValue()))
|
|
2126
|
+
'''
|
|
1997
2127
|
|
|
1998
2128
|
def readAssemblySwConnectorProviderIRef(self, element: ET.Element, parent: AssemblySwConnector):
|
|
1999
2129
|
child_element = self.find(element, "PROVIDER-IREF")
|
|
@@ -2016,7 +2146,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2016
2146
|
connector.setMappingRef(self.getChildElementOptionalRefType(element, "MAPPING-REF"))
|
|
2017
2147
|
|
|
2018
2148
|
def readAssemblySwConnector(self, element: ET.Element, connector: AssemblySwConnector):
|
|
2019
|
-
self.logger.debug("Read AssemblySwConnectors %s" % connector.getShortName())
|
|
2149
|
+
# self.logger.debug("Read AssemblySwConnectors %s" % connector.getShortName())
|
|
2020
2150
|
self.readSwConnector(element, connector)
|
|
2021
2151
|
self.readAssemblySwConnectorProviderIRef(element, connector)
|
|
2022
2152
|
self.readAssemblySwConnectorRequesterIRef(element, connector)
|
|
@@ -2053,7 +2183,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2053
2183
|
self.raiseError("Unsupported child element of INNER-PORT-IREF")
|
|
2054
2184
|
|
|
2055
2185
|
def readDelegationSwConnector(self, element, connector: DelegationSwConnector):
|
|
2056
|
-
self.logger.debug("Read DelegationSwConnectors %s" % connector.getShortName())
|
|
2186
|
+
# self.logger.debug("Read DelegationSwConnectors %s" % connector.getShortName())
|
|
2057
2187
|
self.readSwConnector(element, connector)
|
|
2058
2188
|
self.readDelegationSwConnectorInnerPortIRef(element, connector)
|
|
2059
2189
|
|
|
@@ -2061,7 +2191,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2061
2191
|
self.raiseError("Invalid PortPrototype of DELEGATION-SW-CONNECTOR")
|
|
2062
2192
|
|
|
2063
2193
|
connector.setOuterPortRef(self.getChildElementOptionalRefType(element, "OUTER-PORT-REF"))
|
|
2064
|
-
self.logger.debug("OUTER-PORT-REF DEST: %s, %s" % (connector.getOuterPortRef().getDest(), connector.getOuterPortRef().getValue()))
|
|
2194
|
+
# self.logger.debug("OUTER-PORT-REF DEST: %s, %s" % (connector.getOuterPortRef().getDest(), connector.getOuterPortRef().getValue()))
|
|
2065
2195
|
|
|
2066
2196
|
def readSwComponentPrototype(self, element: ET.Element, prototype: SwComponentPrototype):
|
|
2067
2197
|
self.logger.debug("Read SwComponentPrototypes <%s>" % prototype.getShortName())
|
|
@@ -2079,7 +2209,6 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2079
2209
|
|
|
2080
2210
|
def readCompositionSwComponentTypeDataTypeMappingSet(self, element: ET.Element, parent: CompositionSwComponentType):
|
|
2081
2211
|
child_element = self.find(element, "DATA-TYPE-MAPPING-REFS")
|
|
2082
|
-
self.logger.debug("readDataTypeMappingSet")
|
|
2083
2212
|
if child_element is not None:
|
|
2084
2213
|
for ref in self.getChildElementRefTypeList(child_element, "DATA-TYPE-MAPPING-REF"):
|
|
2085
2214
|
parent.addDataTypeMapping(ref)
|
|
@@ -2213,7 +2342,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2213
2342
|
self.readParameterInterfaceParameters(element, interface)
|
|
2214
2343
|
|
|
2215
2344
|
def readClientServerInterface(self, element: ET.Element, cs_interface: ClientServerInterface):
|
|
2216
|
-
self.logger.debug("Read
|
|
2345
|
+
self.logger.debug("Read ClientServerInterface <%s>" % cs_interface.getShortName())
|
|
2217
2346
|
self.readPortInterface(element, cs_interface)
|
|
2218
2347
|
self.readClientServerInterfaceOperations(element, cs_interface)
|
|
2219
2348
|
self.readPossibleErrors(element, cs_interface)
|
|
@@ -2248,7 +2377,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2248
2377
|
def readCompuConst(self, element: ET.Element, parent: CompuScale):
|
|
2249
2378
|
child_element = self.find(element, "COMPU-CONST/VT")
|
|
2250
2379
|
if (child_element is not None):
|
|
2251
|
-
self.logger.debug("
|
|
2380
|
+
# self.logger.debug("Read CompuConst VT: %s" % child_element.text)
|
|
2252
2381
|
contents = CompuScaleConstantContents()
|
|
2253
2382
|
contents.compuConst = CompuConst()
|
|
2254
2383
|
contents.compuConst.compuConstContentType = CompuConstTextContent()
|
|
@@ -2258,13 +2387,13 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2258
2387
|
|
|
2259
2388
|
def readCompuNominatorDenominator(self, element: ET.Element, key: str, parent: CompuNominatorDenominator):
|
|
2260
2389
|
for child_element in self.findall(element, "%s/V" % key):
|
|
2261
|
-
self.logger.debug("
|
|
2390
|
+
# self.logger.debug("Read CompuNominatorDenominator - %s: %s" % (key, child_element.text))
|
|
2262
2391
|
parent.add_v(child_element.text)
|
|
2263
2392
|
|
|
2264
2393
|
def readCompuRationCoeffs(self, element: ET.Element, parent: CompuScale):
|
|
2265
2394
|
child_element = self.find(element, "COMPU-RATIONAL-COEFFS")
|
|
2266
2395
|
if (child_element is not None):
|
|
2267
|
-
self.logger.debug("
|
|
2396
|
+
# self.logger.debug("Read CompuRationCoeffs")
|
|
2268
2397
|
contents = CompuScaleRationalFormula()
|
|
2269
2398
|
contents.compuRationalCoeffs = CompuRationalCoeffs()
|
|
2270
2399
|
contents.compuRationalCoeffs.compuDenominator = CompuNominatorDenominator()
|
|
@@ -2308,7 +2437,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2308
2437
|
return compu
|
|
2309
2438
|
|
|
2310
2439
|
def readCompuMethod(self, element: ET.Element, compu_method: CompuMethod):
|
|
2311
|
-
self.logger.debug("Read
|
|
2440
|
+
self.logger.debug("Read CompuMethod <%s>" % compu_method.getShortName())
|
|
2312
2441
|
self.readIdentifiable(element, compu_method)
|
|
2313
2442
|
compu_method.setUnitRef(self.getChildElementOptionalRefType(element, "UNIT-REF")) \
|
|
2314
2443
|
.setCompuInternalToPhys(self.getCompu(element, "COMPU-INTERNAL-TO-PHYS")) \
|
|
@@ -2322,7 +2451,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2322
2451
|
parent.addRunnableMapping(mapping)
|
|
2323
2452
|
|
|
2324
2453
|
def readSwcBswMapping(self, element: ET.Element, mapping: SwcBswMapping):
|
|
2325
|
-
self.logger.debug("
|
|
2454
|
+
self.logger.debug("Read SwcBswMapping <%s>" % mapping.getShortName())
|
|
2326
2455
|
self.readIdentifiable(element, mapping)
|
|
2327
2456
|
mapping.setBswBehaviorRef(self.getChildElementOptionalRefType(element, "BSW-BEHAVIOR-REF"))
|
|
2328
2457
|
self.readSwcBswMappingSwcBswRunnableMappings(element, mapping)
|
|
@@ -2349,7 +2478,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2349
2478
|
return value_spec
|
|
2350
2479
|
|
|
2351
2480
|
def getTextValueSpecification(self, element: ET.Element) -> TextValueSpecification:
|
|
2352
|
-
self.logger.debug("
|
|
2481
|
+
# self.logger.debug("Get TextValueSpecification")
|
|
2353
2482
|
value_spec = TextValueSpecification()
|
|
2354
2483
|
self.readValueSpecification(element, value_spec)
|
|
2355
2484
|
value_spec.setShortLabel(self.getChildElementOptionalLiteral(element, "SHORT-LABEL")) \
|
|
@@ -2357,7 +2486,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2357
2486
|
return value_spec
|
|
2358
2487
|
|
|
2359
2488
|
def getArrayValueSpecification(self, element: ET.Element) -> ArrayValueSpecification:
|
|
2360
|
-
self.logger.debug("
|
|
2489
|
+
# self.logger.debug("Get ArrayValueSpecification")
|
|
2361
2490
|
value_spec = ArrayValueSpecification()
|
|
2362
2491
|
self.readValueSpecification(element, value_spec)
|
|
2363
2492
|
child_elements = element.findall("./xmlns:ELEMENTS/*", self.nsmap)
|
|
@@ -2366,7 +2495,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2366
2495
|
return value_spec
|
|
2367
2496
|
|
|
2368
2497
|
def getConstantReference(self, element: ET.Element) -> ConstantReference:
|
|
2369
|
-
self.logger.debug("getConstantReference")
|
|
2498
|
+
# self.logger.debug("getConstantReference")
|
|
2370
2499
|
value_spec = ConstantReference()
|
|
2371
2500
|
self.readValueSpecification(element, value_spec)
|
|
2372
2501
|
value_spec.setConstantRef(self.getChildElementOptionalRefType(element, "CONSTANT-REF"))
|
|
@@ -2400,7 +2529,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2400
2529
|
return value_spec
|
|
2401
2530
|
|
|
2402
2531
|
def readConstantSpecification(self, element: ET.Element, spec: ConstantSpecification):
|
|
2403
|
-
self.logger.debug("
|
|
2532
|
+
self.logger.debug("Read ConstantSpecification <%s>" % spec.getShortName())
|
|
2404
2533
|
self.readIdentifiable(element, spec)
|
|
2405
2534
|
for child_element in self.findall(element, "VALUE-SPEC/*"):
|
|
2406
2535
|
spec.setValueSpec(self.getValueSpecification(child_element, self.getTagName(child_element)))
|
|
@@ -2415,7 +2544,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2415
2544
|
parent.internalConstrs = constrs
|
|
2416
2545
|
|
|
2417
2546
|
def readPhysConstrs(self, element: ET.Element, parent: DataConstrRule):
|
|
2418
|
-
child_element =
|
|
2547
|
+
child_element = self.find(element, "PHYS-CONSTRS")
|
|
2419
2548
|
if child_element is not None:
|
|
2420
2549
|
constrs = PhysConstrs()
|
|
2421
2550
|
self.readARObjectAttributes(child_element, constrs)
|
|
@@ -2425,8 +2554,8 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2425
2554
|
parent.physConstrs = constrs
|
|
2426
2555
|
|
|
2427
2556
|
def readDataConstrRule(self, element: ET.Element, parent: DataConstr):
|
|
2428
|
-
for child_element in
|
|
2429
|
-
self.logger.debug("
|
|
2557
|
+
for child_element in self.findall(element, "DATA-CONSTR-RULES/DATA-CONSTR-RULE"):
|
|
2558
|
+
# self.logger.debug("Read DataConstrRule")
|
|
2430
2559
|
rule = DataConstrRule()
|
|
2431
2560
|
self.readARObjectAttributes(child_element, rule)
|
|
2432
2561
|
rule.constrLevel = self.getChildElementOptionalNumericalValue(child_element, "CONSTR-LEVEL")
|
|
@@ -2435,7 +2564,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
2435
2564
|
parent.addDataConstrRule(rule)
|
|
2436
2565
|
|
|
2437
2566
|
def readDataConstr(self, element: ET.Element, constr: DataConstr):
|
|
2438
|
-
self.logger.debug("Read DataConstr <%s>" % constr.getShortName())
|
|
2567
|
+
# self.logger.debug("Read DataConstr <%s>" % constr.getShortName())
|
|
2439
2568
|
self.readIdentifiable(element, constr)
|
|
2440
2569
|
self.readDataConstrRule(element, constr)
|
|
2441
2570
|
|
|
@@ -4069,10 +4198,55 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4069
4198
|
|
|
4070
4199
|
def readDataTransformationSet(self, element: ET.Element, dtf_set: DataTransformationSet):
|
|
4071
4200
|
self.logger.debug("Read DataTransformationSet <%s>" % dtf_set.getShortName())
|
|
4072
|
-
self.
|
|
4201
|
+
self.readARElement(element, dtf_set)
|
|
4073
4202
|
self.readDataTransformationSetDataTransformations(element, dtf_set)
|
|
4074
4203
|
self.readDataTransformationSetTransformationTechnologies(element, dtf_set)
|
|
4075
4204
|
|
|
4205
|
+
def readCollectionElementRefs(self, element: ET.Element, collection: Collection):
|
|
4206
|
+
for ref in self.getChildElementRefTypeList(element, "ELEMENT-REFS/ELEMENT-REF"):
|
|
4207
|
+
collection.addElementRef(ref)
|
|
4208
|
+
|
|
4209
|
+
def readCollectionSourceElementRefs(self, element: ET.Element, collection: Collection):
|
|
4210
|
+
for ref in self.getChildElementRefTypeList(element, "SOURCE-ELEMENT-REFS/SOURCE-ELEMENT-REF"):
|
|
4211
|
+
collection.addSourceElementRef(ref)
|
|
4212
|
+
|
|
4213
|
+
def readCollection(self, element: ET.Element, collection: Collection):
|
|
4214
|
+
self.logger.debug("Read Collection <%s>" % collection.getShortName())
|
|
4215
|
+
self.readARElement(element, collection)
|
|
4216
|
+
collection.setAutoCollect(self.getChildElementOptionalLiteral(element, "AUTO-COLLECT")) \
|
|
4217
|
+
.setElementRole(self.getChildElementOptionalLiteral(element, "ELEMENT-ROLE"))
|
|
4218
|
+
self.readCollectionElementRefs(element, collection)
|
|
4219
|
+
self.readCollectionSourceElementRefs(element, collection)
|
|
4220
|
+
|
|
4221
|
+
def readKeywordClassifications(self, element: ET.Element, keyword: Keyword):
|
|
4222
|
+
for literal in self.getChildElementLiteralValueList(element, "CLASSIFICATIONS/CLASSIFICATION"):
|
|
4223
|
+
keyword.addClassification(literal)
|
|
4224
|
+
|
|
4225
|
+
def readKeyword(self, element: ET.Element, keyword: Keyword):
|
|
4226
|
+
# self.logger.debug("Read Keyword <%s>" % keyword.getShortName())
|
|
4227
|
+
self.readIdentifiable(element, keyword)
|
|
4228
|
+
keyword.setAbbrName(self.getChildElementOptionalLiteral(element, "ABBR-NAME"))
|
|
4229
|
+
self.readKeywordClassifications(element, keyword)
|
|
4230
|
+
|
|
4231
|
+
def readKeywordSetKeywords(self, element: ET.Element, keyword_set: KeywordSet):
|
|
4232
|
+
for child_element in self.findall(element, "KEYWORDS/*"):
|
|
4233
|
+
tag_name = self.getTagName(child_element)
|
|
4234
|
+
if tag_name == "KEYWORD":
|
|
4235
|
+
tech = keyword_set.createKeyword(self.getShortName(child_element))
|
|
4236
|
+
self.readKeyword(child_element, tech)
|
|
4237
|
+
else:
|
|
4238
|
+
self.notImplemented("Unsupported Keyword <%s>" % tag_name)
|
|
4239
|
+
|
|
4240
|
+
def readKeywordSet(self, element: ET.Element, keyword_set: KeywordSet):
|
|
4241
|
+
self.logger.debug("Read KeywordSet <%s>" % keyword_set.getShortName())
|
|
4242
|
+
self.readARElement(element, keyword_set)
|
|
4243
|
+
self.readKeywordSetKeywords(element, keyword_set)
|
|
4244
|
+
|
|
4245
|
+
def readPortPrototypeBlueprint(self, element: ET.Element, blueprint: PortPrototypeBlueprint):
|
|
4246
|
+
self.logger.debug("Read PortPrototypeBlueprint <%s>" % blueprint.getShortName())
|
|
4247
|
+
self.readARElement(element, blueprint)
|
|
4248
|
+
blueprint.setInterfaceRef(self.getChildElementOptionalRefType(element, "INTERFACE-REF"))
|
|
4249
|
+
|
|
4076
4250
|
def readCommunicationController(self, element: ET.Element, controller: CommunicationController):
|
|
4077
4251
|
controller.setWakeUpByControllerSupported(self.getChildElementOptionalBooleanValue(element, "WAKE-UP-BY-CONTROLLER-SUPPORTED"))
|
|
4078
4252
|
|
|
@@ -4525,20 +4699,10 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4525
4699
|
dimension.setLengthExp(self.getChildElementOptionalNumericalValue(element, "LENGTH-EXP")) \
|
|
4526
4700
|
.setLuminousIntensityExp(self.getChildElementOptionalNumericalValue(element, "LUMINOUS-INTENSITY-EXP")) \
|
|
4527
4701
|
.setMassExp(self.getChildElementOptionalNumericalValue(element, "MASS-EXP")) \
|
|
4702
|
+
.setMolarAmountExp(self.getChildElementOptionalNumericalValue(element, "MOLAR-AMOUNT-EXP")) \
|
|
4528
4703
|
.setTemperatureExp(self.getChildElementOptionalNumericalValue(element, "TEMPERATURE-EXP")) \
|
|
4529
4704
|
.setTimeExp(self.getChildElementOptionalNumericalValue(element, "TIME-EXP")) \
|
|
4530
|
-
.setCurrentExp(self.getChildElementOptionalNumericalValue(element, "CURRENT-EXP"))
|
|
4531
|
-
|
|
4532
|
-
'''
|
|
4533
|
-
def getIPduMappings(self, element: ET.Element) -> List[IPduMapping]:
|
|
4534
|
-
mappings = []
|
|
4535
|
-
for child_element in self.findall(element, tag_name):
|
|
4536
|
-
mapping = IPduMapping()
|
|
4537
|
-
mapping.sourceIPduRef = self.getChildElementOptionalRefType(child_element, "SOURCE-IPDU-REF")
|
|
4538
|
-
mapping.targetIPduRef = self.getChildElementOptionalRefType(child_element, "TARGET-IPDU-REF")
|
|
4539
|
-
mappings.append(mapping)
|
|
4540
|
-
return mappings
|
|
4541
|
-
'''
|
|
4705
|
+
.setCurrentExp(self.getChildElementOptionalNumericalValue(element, "CURRENT-EXP"))
|
|
4542
4706
|
|
|
4543
4707
|
def readISignalGroupISignalRef(self, element: ET.Element, group: ISignalGroup):
|
|
4544
4708
|
for ref_type in self.getChildElementRefTypeList(element, "I-SIGNAL-REFS/I-SIGNAL-REF"):
|
|
@@ -4657,7 +4821,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4657
4821
|
timing = None
|
|
4658
4822
|
child_element = self.find(element, key)
|
|
4659
4823
|
if child_element is not None:
|
|
4660
|
-
self.logger.debug("Get TransmissionModeTiming of <%s>" % key)
|
|
4824
|
+
# self.logger.debug("Get TransmissionModeTiming of <%s>" % key)
|
|
4661
4825
|
timing = TransmissionModeTiming()
|
|
4662
4826
|
timing.setCyclicTiming(self.getCyclicTiming(child_element, "CYCLIC-TIMING")) \
|
|
4663
4827
|
.setEventControlledTiming(self.getEventControlledTiming(child_element, "EVENT-CONTROLLED-TIMING"))
|
|
@@ -4766,7 +4930,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4766
4930
|
self.notImplemented("Unsupported Data Mapping %s" % tag_name)
|
|
4767
4931
|
|
|
4768
4932
|
def readSwcToEcuMapping(self, element: ET.Element, mapping: SwcToEcuMapping):
|
|
4769
|
-
self.logger.debug("SwcToEcuMapping %s" % mapping.getShortName())
|
|
4933
|
+
# self.logger.debug("SwcToEcuMapping %s" % mapping.getShortName())
|
|
4770
4934
|
self.readIdentifiable(element, mapping)
|
|
4771
4935
|
for child_element in self.findall(element, "COMPONENT-IREFS/COMPONENT-IREF"):
|
|
4772
4936
|
mapping.addComponentIRef(self.getComponentInSystemInstanceRef(child_element))
|
|
@@ -4811,7 +4975,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4811
4975
|
self.notImplemented("Unsupported SwImplMapping <%s>" % tag_name)
|
|
4812
4976
|
|
|
4813
4977
|
def readSystemMapping(self, element: ET.Element, mapping: SystemMapping):
|
|
4814
|
-
self.logger.debug("SystemMapping
|
|
4978
|
+
# self.logger.debug("Read SystemMapping <%s>" % mapping.getShortName())
|
|
4815
4979
|
self.readIdentifiable(element, mapping)
|
|
4816
4980
|
self.readSystemMappingDataMappings(element, mapping)
|
|
4817
4981
|
self.readSystemMappingEcuResourceMappings(element, mapping)
|
|
@@ -4856,9 +5020,42 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4856
5020
|
self.logger.debug("Read GenericEthernetFrame <%s>" % frame.getShortName())
|
|
4857
5021
|
self.readFrame(element, frame)
|
|
4858
5022
|
|
|
5023
|
+
def getLifeCyclePeriod(self, element: ET.Element, key: str) -> LifeCyclePeriod:
|
|
5024
|
+
child_element = self.find(element, key)
|
|
5025
|
+
period = None
|
|
5026
|
+
if child_element is not None:
|
|
5027
|
+
period = LifeCyclePeriod()
|
|
5028
|
+
period.setArReleaseVersion(self.getChildElementOptionalRevisionLabelString(child_element, "AR-RELEASE-VERSION"))
|
|
5029
|
+
return period
|
|
5030
|
+
|
|
5031
|
+
def readLifeCycleInfoUseInsteadRefs(self, element: ET.Element, info: LifeCycleInfo):
|
|
5032
|
+
for ref in self.getChildElementRefTypeList(element, "USE-INSTEAD-REFS/USE-INSTEAD-REF"):
|
|
5033
|
+
info.addUseInsteadRef(ref)
|
|
5034
|
+
|
|
5035
|
+
def readLifeCycleInfo(self, element: ET.Element, info: LifeCycleInfo):
|
|
5036
|
+
self.readARObjectAttributes(element, info)
|
|
5037
|
+
info.setLcObjectRef(self.getChildElementOptionalRefType(element, "LC-OBJECT-REF")) \
|
|
5038
|
+
.setLcStateRef(self.getChildElementOptionalRefType(element, "LC-STATE-REF")) \
|
|
5039
|
+
.setPeriodBegin(self.getLifeCyclePeriod(element, "PERIOD-BEGIN")) \
|
|
5040
|
+
.setRemark(self.getDocumentationBlock(element, "REMARK"))
|
|
5041
|
+
self.readLifeCycleInfoUseInsteadRefs(element, info)
|
|
5042
|
+
|
|
5043
|
+
def readLifeCycleInfoSetLifeCycleInfos(self, element: ET.Element, info_set: LifeCycleInfoSet):
|
|
5044
|
+
for child_element in self.findall(element, "LIFE-CYCLE-INFOS/*"):
|
|
5045
|
+
tag_name = self.getTagName(child_element)
|
|
5046
|
+
if tag_name == "LIFE-CYCLE-INFO":
|
|
5047
|
+
info = LifeCycleInfo()
|
|
5048
|
+
self.readLifeCycleInfo(child_element, info)
|
|
5049
|
+
info_set.addLifeCycleInfo(info)
|
|
5050
|
+
else:
|
|
5051
|
+
self.notImplemented("Unsupported Life Cycle Info <%s>" % tag_name)
|
|
5052
|
+
|
|
4859
5053
|
def readLifeCycleInfoSet(self, element: ET.Element, info_set: LifeCycleInfoSet):
|
|
4860
5054
|
self.logger.debug("Read LifeCycleInfoSet <%s>" % info_set.getShortName())
|
|
4861
5055
|
self.readIdentifiable(element, info_set)
|
|
5056
|
+
info_set.setDefaultLcStateRef(self.getChildElementOptionalRefType(element, "DEFAULT-LC-STATE-REF"))
|
|
5057
|
+
self.readLifeCycleInfoSetLifeCycleInfos(element, info_set)
|
|
5058
|
+
info_set.setUsedLifeCycleStateDefinitionGroupRef(self.getChildElementOptionalRefType(element, "USED-LIFE-CYCLE-STATE-DEFINITION-GROUP-REF"))
|
|
4862
5059
|
|
|
4863
5060
|
def readFlatInstanceDescriptor(self, element: ET.Element, desc: FlatInstanceDescriptor):
|
|
4864
5061
|
self.logger.debug("Read LifeCycleInfoSet %s" % desc.getShortName())
|
|
@@ -4889,18 +5086,40 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
4889
5086
|
mappings.append(mapping)
|
|
4890
5087
|
return mappings
|
|
4891
5088
|
|
|
4892
|
-
def
|
|
4893
|
-
self.logger.debug("
|
|
5089
|
+
def readVariableAndParameterInterfaceMapping(self, element: ET.Element, mapping: VariableAndParameterInterfaceMapping):
|
|
5090
|
+
# self.logger.debug("Read VariableAndParameterInterfaceMapping %s" % mapping.getShortName())
|
|
4894
5091
|
self.readIdentifiable(element, mapping)
|
|
4895
5092
|
for item in self.getDataPrototypeMappings(element, "DATA-MAPPINGS"):
|
|
4896
5093
|
mapping.addDataMapping(item)
|
|
4897
5094
|
|
|
5095
|
+
def readClientServerOperationMapping(self, element: ET.Element, mapping: ClientServerOperationMapping):
|
|
5096
|
+
mapping.setFirstOperationRef(self.getChildElementOptionalRefType(element, "FIRST-OPERATION-REF")) \
|
|
5097
|
+
.setSecondOperationRef(self.getChildElementOptionalRefType(element, "SECOND-OPERATION-REF"))
|
|
5098
|
+
|
|
5099
|
+
def readClientServerInterfaceMappingOperationMappings(self, element: ET.Element, mapping: ClientServerInterfaceMapping):
|
|
5100
|
+
for child_element in self.findall(element, "OPERATION-MAPPINGS/*"):
|
|
5101
|
+
tag_name = self.getTagName(child_element)
|
|
5102
|
+
if tag_name == "CLIENT-SERVER-OPERATION-MAPPING":
|
|
5103
|
+
operation_mapping = ClientServerOperationMapping()
|
|
5104
|
+
self.readClientServerOperationMapping(child_element, operation_mapping)
|
|
5105
|
+
mapping.addOperationMapping(operation_mapping)
|
|
5106
|
+
else:
|
|
5107
|
+
self.notImplemented("Unsupported Operation Mapping <%s>" % tag_name)
|
|
5108
|
+
|
|
5109
|
+
def readClientServerInterfaceMapping(self, element: ET.Element, mapping: ClientServerInterfaceMapping):
|
|
5110
|
+
# self.logger.debug("Read ClientServerInterfaceMapping %s" % mapping.getShortName())
|
|
5111
|
+
self.readIdentifiable(element, mapping)
|
|
5112
|
+
self.readClientServerInterfaceMappingOperationMappings(element, mapping)
|
|
5113
|
+
|
|
4898
5114
|
def readPortInterfaceMappings(self, element: ET.Element, mapping_set: PortInterfaceMappingSet):
|
|
4899
5115
|
for child_element in self.findall(element, "PORT-INTERFACE-MAPPINGS/*"):
|
|
4900
5116
|
tag_name = self.getTagName(child_element)
|
|
4901
5117
|
if tag_name == "VARIABLE-AND-PARAMETER-INTERFACE-MAPPING":
|
|
4902
5118
|
mapping = mapping_set.createVariableAndParameterInterfaceMapping(self.getShortName(child_element))
|
|
4903
|
-
self.
|
|
5119
|
+
self.readVariableAndParameterInterfaceMapping(child_element, mapping)
|
|
5120
|
+
elif tag_name == "CLIENT-SERVER-INTERFACE-MAPPING":
|
|
5121
|
+
mapping = mapping_set.createClientServerInterfaceMapping(self.getShortName(child_element))
|
|
5122
|
+
self.readClientServerInterfaceMapping(child_element, mapping)
|
|
4904
5123
|
else:
|
|
4905
5124
|
self.notImplemented("Unsupported PortInterfaceMapping <%s>" % tag_name)
|
|
4906
5125
|
|
|
@@ -5137,8 +5356,17 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5137
5356
|
elif tag_name == "DATA-TRANSFORMATION-SET":
|
|
5138
5357
|
transformation_set = parent.createDataTransformationSet(self.getShortName(child_element))
|
|
5139
5358
|
self.readDataTransformationSet(child_element, transformation_set)
|
|
5359
|
+
elif tag_name == "COLLECTION":
|
|
5360
|
+
collection = parent.createCollection(self.getShortName(child_element))
|
|
5361
|
+
self.readCollection(child_element, collection)
|
|
5362
|
+
elif tag_name == "KEYWORD-SET":
|
|
5363
|
+
keyword_set = parent.createKeywordSet(self.getShortName(child_element))
|
|
5364
|
+
self.readKeywordSet(child_element, keyword_set)
|
|
5365
|
+
elif tag_name == "PORT-PROTOTYPE-BLUEPRINT":
|
|
5366
|
+
keyword_set = parent.createPortPrototypeBlueprint(self.getShortName(child_element))
|
|
5367
|
+
self.readPortPrototypeBlueprint(child_element, keyword_set)
|
|
5140
5368
|
else:
|
|
5141
|
-
self.notImplemented("Unsupported
|
|
5369
|
+
self.notImplemented("Unsupported Element type of ARPackage <%s>" % tag_name)
|
|
5142
5370
|
|
|
5143
5371
|
def readReferenceBases(self, element: ET.Element, parent: ARPackage):
|
|
5144
5372
|
for child_element in self.findall(element, "REFERENCE-BASES/REFERENCE-BASE"):
|
|
@@ -5151,7 +5379,7 @@ class ARXMLParser(AbstractARXMLParser):
|
|
|
5151
5379
|
parent.addReferenceBase(base)
|
|
5152
5380
|
|
|
5153
5381
|
def readARPackage(self, element: ET.Element, ar_package: ARPackage):
|
|
5154
|
-
self.logger.debug("Read ARPackages
|
|
5382
|
+
self.logger.debug("Read ARPackages <%s>" % ar_package.getFullName())
|
|
5155
5383
|
|
|
5156
5384
|
self.readIdentifiable(element, ar_package)
|
|
5157
5385
|
self.readARPackages(element, ar_package)
|