armodel 1.7.0__py3-none-any.whl → 1.7.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.
Files changed (30) hide show
  1. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -13
  2. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +14 -14
  3. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +1 -1
  4. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +93 -13
  5. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +14 -4
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +35 -10
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +5 -0
  8. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +1 -1
  9. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +1 -1
  10. armodel/models/M2/MSR/AsamHdo/AdminData.py +34 -8
  11. armodel/models/M2/MSR/Documentation/Annotation.py +1 -1
  12. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +54 -0
  13. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +9 -0
  14. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +25 -0
  15. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +33 -5
  16. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +15 -2
  17. armodel/models/M2/MSR/Documentation/__init__.py +1 -1
  18. armodel/models/__init__.py +3 -1
  19. armodel/parser/abstract_arxml_parser.py +5 -2
  20. armodel/parser/arxml_parser.py +101 -27
  21. armodel/tests/test_armodel/models/test_ar_ref.py +7 -4
  22. armodel/tests/test_armodel/parser/test_sw_components.py +10 -1
  23. armodel/writer/abstract_arxml_writer.py +8 -8
  24. armodel/writer/arxml_writer.py +79 -23
  25. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/METADATA +9 -1
  26. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/RECORD +30 -26
  27. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/LICENSE +0 -0
  28. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/WHEEL +0 -0
  29. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/entry_points.txt +0 -0
  30. {armodel-1.7.0.dist-info → armodel-1.7.1.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,28 @@
1
1
  from typing import Dict, List
2
+
3
+ from ...M2.MSR.AsamHdo.SpecialData import Sdg
4
+ from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from ...M2.MSR.AsamHdo import AdminData
2
6
  from ...M2.MSR.AsamHdo.BaseTypes import SwBaseType
7
+ from ..MSR.Documentation.TextModel.BlockElements import DocumentationBlock
3
8
  from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Referrable
4
9
  from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
5
10
  from ...M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, DataTypeMap
6
11
  from ...M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
7
12
 
13
+ class FileInfoComment(ARObject):
14
+ def __init__(self):
15
+ super().__init__()
16
+
17
+ self.sdgs = [] # type: List[Sdg]
18
+
19
+ def getSdgs(self):
20
+ return self.sdgs
21
+
22
+ def setSdgs(self, value):
23
+ self.sdgs = value
24
+ return self
25
+
8
26
  class AbstractAUTOSAR(CollectableElement):
9
27
  def __init__(self):
10
28
  super().__init__()
@@ -14,10 +32,32 @@ class AbstractAUTOSAR(CollectableElement):
14
32
  self.schema_location = ""
15
33
  self._appl_impl_type_maps = {}
16
34
  self._impl_appl_type_maps = {}
17
-
18
35
 
19
- self._ar_packages = {} # type: Dict[str, ARPackage]
20
- self.short_name_mappings = {} # type: Dict[str, str]
36
+ self.adminData = None # type: AdminData
37
+ self.arPackages = {} # type: Dict[str, ARPackage]
38
+ self.fileInfoComment = None # type: FileInfoComment
39
+ self.introduction = None # type: DocumentationBlock
40
+
41
+ def getAdminData(self):
42
+ return self.adminData
43
+
44
+ def setAdminData(self, value):
45
+ self.adminData = value
46
+ return self
47
+
48
+ def getFileInfoComment(self):
49
+ return self.fileInfoComment
50
+
51
+ def setFileInfoComment(self, value):
52
+ self.fileInfoComment = value
53
+ return self
54
+
55
+ def getIntroduction(self):
56
+ return self.introduction
57
+
58
+ def setIntroduction(self, value):
59
+ self.introduction = value
60
+ return self
21
61
 
22
62
  def reload(self):
23
63
  pass
@@ -27,23 +67,23 @@ class AbstractAUTOSAR(CollectableElement):
27
67
  return ""
28
68
 
29
69
  def clear(self):
30
- self._ar_packages = {}
70
+ self.arPackages = {}
31
71
  self.elements = {}
32
72
 
33
73
  def getElement(self, short_name: str) -> Referrable:
34
- if (short_name in self._ar_packages):
35
- return self._ar_packages[short_name]
74
+ if (short_name in self.arPackages):
75
+ return self.arPackages[short_name]
36
76
  return CollectableElement.getElement(self, short_name)
37
77
 
38
78
  def getARPackages(self) -> List[ARPackage]:
39
79
  #return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
40
- return list(sorted(self._ar_packages.values(), key= lambda a: a.short_name))
80
+ return list(sorted(self.arPackages.values(), key= lambda a: a.short_name))
41
81
 
42
82
  def createARPackage(self, short_name: str) -> ARPackage:
43
- if (short_name not in self._ar_packages):
83
+ if (short_name not in self.arPackages):
44
84
  ar_package = ARPackage(self, short_name)
45
- self._ar_packages[short_name] = ar_package
46
- return self._ar_packages[short_name]
85
+ self.arPackages[short_name] = ar_package
86
+ return self.arPackages[short_name]
47
87
 
48
88
  def find(self, referred_name: str) -> Referrable:
49
89
  short_name_list = referred_name.split("/")
@@ -57,9 +97,6 @@ class AbstractAUTOSAR(CollectableElement):
57
97
  # raise ValueError("The %s of reference <%s> does not exist." % (short_name, referred_name))
58
98
  return element
59
99
 
60
- def findByShortName(self, short_name: str) -> Referrable:
61
- pass
62
-
63
100
  def getDataType(self, data_type: ImplementationDataType) -> ImplementationDataType:
64
101
  if (isinstance(data_type, ImplementationDataType) or isinstance(data_type, SwBaseType)):
65
102
  if (data_type.category == ImplementationDataType.CATEGORY_TYPE_REFERENCE):
@@ -4,23 +4,23 @@ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject im
4
4
 
5
5
  class DataFilterTypeEnum(AREnum):
6
6
 
7
- maskedNewDiffersMaskedOld = "maskedNewDiffersMaskedOld"
8
- maskedNewDiffersX = "maskedNewDiffersX"
9
- maskedNewEqualsX = "maskedNewEqualsX"
10
- never = "never"
11
- newIsOutside = "newIsOutside"
12
- newIsWithin = "newIsWithin"
13
- oneEveryN = "oneEveryN"
7
+ MASKED_NEW_DIFFERS_MASKED_OLD = "maskedNewDiffersMaskedOld"
8
+ MASKED_NEW_DIFFERS_X = "maskedNewDiffersX"
9
+ MASKED_NEW_EQUALS_X = "maskedNewEqualsX"
10
+ NEVER = "never"
11
+ NEW_IS_OUTSIDE = "newIsOutside"
12
+ NEW_IS_WITHIN = "newIsWithin"
13
+ ONE_EVERY_N = "oneEveryN"
14
14
 
15
15
  def __init__(self):
16
16
  super().__init__((
17
- self.maskedNewDiffersMaskedOld,
18
- self.maskedNewDiffersX,
19
- self.maskedNewEqualsX,
20
- self.never,
21
- self.newIsOutside,
22
- self.newIsWithin,
23
- self.oneEveryN
17
+ DataFilterTypeEnum.MASKED_NEW_DIFFERS_MASKED_OLD,
18
+ DataFilterTypeEnum.MASKED_NEW_DIFFERS_X,
19
+ DataFilterTypeEnum.MASKED_NEW_EQUALS_X,
20
+ DataFilterTypeEnum.NEVER,
21
+ DataFilterTypeEnum.NEW_IS_OUTSIDE,
22
+ DataFilterTypeEnum.NEW_IS_WITHIN,
23
+ DataFilterTypeEnum.ONE_EVERY_N
24
24
  ))
25
25
 
26
26
 
@@ -1,6 +1,6 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
- from ...M2.MSR.Documentation.BlockElements import DocumentationBlock
3
+ from ..MSR.Documentation.TextModel.BlockElements import DocumentationBlock
4
4
  from ...M2.MSR.Documentation.Annotation import Annotation
5
5
  from ...M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AnyInstanceRef
6
6
  from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
@@ -1,6 +1,9 @@
1
1
  from typing import Dict, List
2
2
 
3
- from ...SystemTemplate.Fibex.FibexCore.EcuInstance import EcuInstance
3
+
4
+
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Identifier, RefType, ReferrableSubtypesEnum
6
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.EcuInstance import EcuInstance
4
7
  from .....M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
5
8
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Components import CompositionSwComponentType, ServiceSwComponentType, SwComponentType, ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, EcuAbstractionSwComponentType, SensorActuatorSwComponentType
6
9
  from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetFrame import GenericEthernetFrame
@@ -11,13 +14,13 @@ from .....M2.MSR.AsamHdo.ComputationMethod import CompuMethod
11
14
  from .....M2.MSR.DataDictionary.AuxillaryObjects import SwAddrMethod
12
15
  from .....M2.MSR.DataDictionary.RecordLayout import SwRecordLayout
13
16
  from .....M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
17
+ from .....M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
14
18
  from .....M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
15
19
  from .....M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
16
20
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
17
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
18
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
21
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Identifiable, Referrable
22
+ from .....M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfoSet
19
23
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType
20
- from .....M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
21
24
  from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup
22
25
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
23
26
  from .....M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
@@ -36,15 +39,78 @@ from .....M2.AUTOSARTemplates.SystemTemplate import System
36
39
  from .....M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import NmConfig
37
40
  from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig
38
41
 
42
+ class ReferenceBase(ARObject):
43
+ def __init__(self):
44
+ super().__init__()
45
+
46
+ self.globalElements = [] # type: List[ReferrableSubtypesEnum]
47
+ self.globalInPackageRefs = [] # type: List[RefType]
48
+ self.isDefault = None # type: Boolean
49
+ self.isGlobal = None # type: Boolean
50
+ self.BaseIsThisPackage = None # type: Boolean
51
+ self.packageRef = None # type: List[RefType]
52
+ self.shortLabel = None # type: Identifier
53
+
54
+ def getGlobalElements(self):
55
+ return self.globalElements
56
+
57
+ def addGlobalElement(self, value):
58
+ self.globalElements.append(value)
59
+ return self
60
+
61
+ def getGlobalInPackageRefs(self):
62
+ return self.globalInPackageRefs
63
+
64
+ def addGlobalInPackageRef(self, value):
65
+ self.globalInPackageRefs.append(value)
66
+ return self
67
+
68
+ def getIsDefault(self):
69
+ return self.isDefault
70
+
71
+ def setIsDefault(self, value):
72
+ self.isDefault = value
73
+ return self
74
+
75
+ def getIsGlobal(self):
76
+ return self.isGlobal
77
+
78
+ def setIsGlobal(self, value):
79
+ self.isGlobal = value
80
+ return self
81
+
82
+ def getBaseIsThisPackage(self):
83
+ return self.BaseIsThisPackage
84
+
85
+ def setBaseIsThisPackage(self, value):
86
+ self.BaseIsThisPackage = value
87
+ return self
88
+
89
+ def getPackageRef(self):
90
+ return self.packageRef
91
+
92
+ def setPackageRef(self, value):
93
+ self.packageRef = value
94
+ return self
95
+
96
+ def getShortLabel(self):
97
+ return self.shortLabel
98
+
99
+ def setShortLabel(self, value):
100
+ self.shortLabel = value
101
+ return self
102
+
103
+
39
104
  class ARPackage(Identifiable, CollectableElement):
40
105
  def __init__(self, parent: ARObject, short_name: str):
41
106
  Identifiable.__init__(self, parent, short_name)
42
107
  CollectableElement.__init__(self)
43
108
 
44
- self._ar_packages = {} # type: Dict[str, ARPackage]
109
+ self.arPackages = {} # type: Dict[str, ARPackage]
110
+ self.referenceBases = [] # type: List[ReferenceBase]
45
111
 
46
112
  def getARPackages(self): # type: (...) -> List[ARPackage]
47
- return list(sorted(self._ar_packages.values(), key= lambda a: a.short_name))
113
+ return list(sorted(self.arPackages.values(), key= lambda a: a.short_name))
48
114
  #return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
49
115
 
50
116
  def createARPackage(self, short_name: str):
@@ -54,14 +120,14 @@ class ARPackage(Identifiable, CollectableElement):
54
120
  self.elements[short_name] = ar_package
55
121
  return self.elements[short_name]
56
122
  '''
57
- if short_name not in self._ar_packages:
123
+ if short_name not in self.arPackages:
58
124
  ar_package = ARPackage(self, short_name)
59
- self._ar_packages[short_name] = ar_package
60
- return self._ar_packages[short_name]
125
+ self.arPackages[short_name] = ar_package
126
+ return self.arPackages[short_name]
61
127
 
62
128
  def getElement(self, short_name: str) -> Referrable:
63
- if (short_name in self._ar_packages):
64
- return self._ar_packages[short_name]
129
+ if (short_name in self.arPackages):
130
+ return self.arPackages[short_name]
65
131
  return CollectableElement.getElement(self, short_name)
66
132
 
67
133
  def createEcuAbstractionSwComponentType(self, short_name: str) -> EcuAbstractionSwComponentType:
@@ -114,8 +180,14 @@ class ARPackage(Identifiable, CollectableElement):
114
180
 
115
181
  def createGenericEthernetFrame(self, short_name: str) -> GenericEthernetFrame:
116
182
  if (short_name not in self.elements):
117
- sr_interface = GenericEthernetFrame(self, short_name)
118
- self.addElement(sr_interface)
183
+ frame = GenericEthernetFrame(self, short_name)
184
+ self.addElement(frame)
185
+ return self.getElement(short_name)
186
+
187
+ def createLifeCycleInfoSet(self, short_name: str) -> LifeCycleInfoSet:
188
+ if (short_name not in self.elements):
189
+ set = LifeCycleInfoSet(self, short_name)
190
+ self.addElement(set)
119
191
  return self.getElement(short_name)
120
192
 
121
193
  def createClientServerInterface(self, short_name: str) -> ClientServerInterface:
@@ -540,3 +612,11 @@ class ARPackage(Identifiable, CollectableElement):
540
612
 
541
613
  def getSystems(self) -> List[System]:
542
614
  return list(sorted(filter(lambda a : isinstance(a, System), self.elements.values()), key = lambda a: a.short_name))
615
+
616
+ def getReferenceBases(self):
617
+ return self.referenceBases
618
+
619
+ def addReferenceBase(self, value):
620
+ self.referenceBases.append(value)
621
+ return self
622
+
@@ -1,3 +1,4 @@
1
+ from ....MSR.Documentation.TextModel.BlockElements import DocumentationBlock
1
2
  from .....M2.MSR.AsamHdo.AdminData import AdminData
2
3
  from .....M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
3
4
  from .....M2.MSR.Documentation.Annotation import Annotation
@@ -89,10 +90,11 @@ class Identifiable(MultilanguageReferrable, CollectableElement, metaclass = ABCM
89
90
  MultilanguageReferrable.__init__(self, parent, short_name)
90
91
  CollectableElement.__init__(self)
91
92
 
92
- self.annotations = [] # type: List[Annotation]
93
- self.adminData = None # type: AdminData
94
- self.category = None # type: ARLiteral
95
- self.desc = None # type: MultiLanguageOverviewParagraph
93
+ self.annotations = [] # type: List[Annotation]
94
+ self.adminData = None # type: AdminData
95
+ self.category = None # type: ARLiteral
96
+ self.introduction = None # type: DocumentationBlock
97
+ self.desc = None # type: MultiLanguageOverviewParagraph
96
98
 
97
99
  def getAdminData(self):
98
100
  return self.adminData
@@ -114,6 +116,14 @@ class Identifiable(MultilanguageReferrable, CollectableElement, metaclass = ABCM
114
116
  def setCategory(self, value):
115
117
  self.category = value
116
118
  return self
119
+
120
+ def getIntroduction(self):
121
+ return self.introduction
122
+
123
+ def setIntroduction(self, value):
124
+ self.introduction = value
125
+ return self
126
+
117
127
 
118
128
  def addAnnotation(self, annotation: Annotation):
119
129
  self.annotations.append(annotation)
@@ -167,9 +167,12 @@ class AREnum(ARLiteral):
167
167
  return False
168
168
 
169
169
  class String(ARLiteral):
170
-
171
- pass
170
+ def __init__(self):
171
+ super().__init__()
172
172
 
173
+ class ReferrableSubtypesEnum(ARLiteral):
174
+ def __init__(self):
175
+ super().__init__()
173
176
 
174
177
  class ARPositiveInteger(ARNumerical):
175
178
  def __init__(self) -> None:
@@ -255,7 +258,7 @@ class NameToken(ARLiteral):
255
258
  super().__init__()
256
259
 
257
260
  class PositiveInteger(ARPositiveInteger):
258
- '''
261
+ r'''\n
259
262
  This is a positive integer which can be denoted in decimal, binary, octal and hexadecimal. The value is
260
263
  between 0 and 4294967295.
261
264
 
@@ -263,12 +266,13 @@ class PositiveInteger(ARPositiveInteger):
263
266
  * xml.xsd.customType=POSITIVE-INTEGER
264
267
  * xml.xsd.pattern=0|[\+]?[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]+
265
268
  * xml.xsd.type=string
269
+ \n
266
270
  '''
267
271
  def __init__(self):
268
272
  super().__init__()
269
273
 
270
274
  class PositiveUnlimitedInteger(ARPositiveInteger):
271
- '''
275
+ r'''
272
276
  This is a positive unlimited integer which can be denoted in decimal, binary, octal and hexadecimal.
273
277
 
274
278
  Tags:
@@ -278,7 +282,7 @@ class PositiveUnlimitedInteger(ARPositiveInteger):
278
282
  '''
279
283
 
280
284
  class Integer(ARNumerical):
281
- '''
285
+ r'''
282
286
  An instance of Integer is an element in the set of integer numbers ( ..., -2, -1, 0, 1, 2, ...).
283
287
  The value can be expressed in decimal, octal, hexadecimal and binary representation. Negative numbers
284
288
  can only be expressed in decimal notation
@@ -293,7 +297,7 @@ class Integer(ARNumerical):
293
297
  super().__init__()
294
298
 
295
299
  class UnlimitedInteger(Integer):
296
- '''
300
+ r'''
297
301
  An instance of UnlimitedInteger is an element in the set of integer numbers ( ..., -2, -1, 0, 1, 2, ...).
298
302
  The range is limited by constraint 2534.
299
303
  The value can be expressed in decimal, octal, hexadecimal and binary representation. Negative numbers
@@ -354,14 +358,35 @@ class Limit(ARObject):
354
358
  def __init__(self):
355
359
  super().__init__()
356
360
 
357
- self.intervalType = None # type: str
358
- self.value = None # type: str
361
+ self.intervalType = None # type: str
362
+ self.value = None # type: str
359
363
 
364
+ def getIntervalType(self):
365
+ return self.intervalType
366
+
367
+ def setIntervalType(self, value):
368
+ self.intervalType = value
369
+ return self
370
+
371
+ def getValue(self):
372
+ return self.value
373
+
374
+ def setValue(self, value):
375
+ self.value = value
376
+ return self
360
377
 
361
378
  class RefType(ARObject):
362
379
  def __init__(self):
363
- self.dest = ""
364
- self.value = ""
380
+ self.base = None # type: str
381
+ self.dest = None # type: str
382
+ self.value = None # type: str
383
+
384
+ def getBase(self):
385
+ return self.base
386
+
387
+ def setBase(self, value):
388
+ self.base = value
389
+ return self
365
390
 
366
391
  def getDest(self):
367
392
  return self.dest
@@ -0,0 +1,5 @@
1
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
2
+
3
+ class LifeCycleInfoSet(ARElement):
4
+ def __init__(self, parent, short_name):
5
+ super().__init__(parent, short_name)
@@ -176,7 +176,7 @@ class RunnableEntity(ExecutableEntity):
176
176
  if (short_name not in self.elements):
177
177
  point = InternalTriggeringPoint(self, short_name)
178
178
  self.elements[point.short_name] = point
179
- return self.elements[point.short_name]
179
+ return self.elements[short_name]
180
180
 
181
181
  def getInternalTriggeringPoints(self) -> List[InternalTriggeringPoint]:
182
182
  return filter(lambda o: isinstance(o, InternalTriggeringPoint), self.elements)
@@ -1,6 +1,6 @@
1
1
  from typing import List
2
2
 
3
- from .....M2.MSR.Documentation.BlockElements import DocumentationBlock
3
+ from ....MSR.Documentation.TextModel.BlockElements import DocumentationBlock
4
4
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
5
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
6
6
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARPositiveInteger
@@ -1,3 +1,5 @@
1
+ from ....M2.MSR.Documentation.TextModel.LanguageDataModel import LEnum
2
+ from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguagePlainText
1
3
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
4
  from ....M2.MSR.AsamHdo.SpecialData import Sdg
3
5
  from typing import List
@@ -6,13 +8,37 @@ class AdminData(ARObject):
6
8
  def __init__(self):
7
9
  super().__init__()
8
10
 
9
- self.doc_revision = []
10
- self.language = None
11
- self.sdg = []
12
- self.used_languages = None
11
+ self.DocRevisions = [] # type: List[DocRevision]
12
+ self.language = None # type: LEnum
13
+ self.sdgs = [] # type: List[Sdg]
14
+ self.usedLanguages = None # type: MultiLanguagePlainText
13
15
 
14
- def addSdg(self, sdg: Sdg):
15
- self.sdg.append(sdg)
16
+ def getDocRevisions(self):
17
+ return self.DocRevisions
16
18
 
17
- def getSdgs(self) -> List[Sdg]:
18
- return self.sdg
19
+ def setDocRevisions(self, value):
20
+ self.DocRevisions.append(value)
21
+ return self
22
+
23
+ def getLanguage(self):
24
+ return self.language
25
+
26
+ def setLanguage(self, value):
27
+ self.language = value
28
+ return self
29
+
30
+ def getSdgs(self):
31
+ return self.sdgs
32
+
33
+ def addSdg(self, value):
34
+ self.sdgs.append(value)
35
+ return self
36
+
37
+ def getUsedLanguages(self):
38
+ return self.usedLanguages
39
+
40
+ def setUsedLanguages(self, value):
41
+ self.usedLanguages = value
42
+ return self
43
+
44
+
@@ -1,4 +1,4 @@
1
- from ....M2.MSR.Documentation.BlockElements import DocumentationBlock
1
+ from .TextModel.BlockElements import DocumentationBlock
2
2
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
3
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
4
4
  from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
@@ -0,0 +1,54 @@
1
+ from typing import List
2
+
3
+ from ......M2.MSR.Documentation.TextModel.BlockElements.PaginationAndView import Paginateable
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum
5
+
6
+ class ListEnum(AREnum):
7
+
8
+ NUMBER = 'number'
9
+ UNNUMBER = 'unnumber'
10
+
11
+ def __init__(self,):
12
+ super().__init__((
13
+ ListEnum.NUMBER,
14
+ ListEnum.UNNUMBER
15
+ ))
16
+
17
+ class Item(Paginateable):
18
+ def __init__(self):
19
+ super().__init__()
20
+
21
+ self.itemContents = None
22
+
23
+ def getItemContents(self):
24
+ return self.itemContents
25
+
26
+ def setItemContents(self, value):
27
+ self.itemContents = value
28
+ return self
29
+
30
+ class ListElement(Paginateable):
31
+ '''
32
+ This meta-class represents the ability to express a list. The kind of list is specified in the attribute.
33
+ In AUTOSAR standard class name shall be List, but it is conflict with Python List and renamed to ListElement
34
+ '''
35
+ def __init__(self):
36
+ super().__init__()
37
+
38
+ self.items = [] # type: List[Item]
39
+ self.type = None # type: ListEnum
40
+
41
+ def getItems(self):
42
+ return self.items
43
+
44
+ def addItem(self, value: Item):
45
+ self.items.append(value)
46
+ return self
47
+
48
+ def getType(self):
49
+ return self.type
50
+
51
+ def setType(self, value):
52
+ self.type = value
53
+ return self
54
+
@@ -0,0 +1,9 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+
3
+ class DocumentViewSelectable(ARObject):
4
+ def __init__(self):
5
+ super().__init__()
6
+
7
+ class Paginateable(DocumentViewSelectable):
8
+ def __init__(self):
9
+ super().__init__()
@@ -0,0 +1,25 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from ......M2.MSR.Documentation.TextModel.BlockElements.ListElements import ListElement
3
+ from ......M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageParagraph
4
+ from typing import List
5
+
6
+ class DocumentationBlock(ARObject):
7
+ def __init__(self):
8
+ super().__init__()
9
+
10
+ self.ps = [] # type: List[MultiLanguageParagraph]
11
+ self.lists = [] # type: List[ListElement]
12
+
13
+ def addP(self, p: MultiLanguageParagraph):
14
+ self.ps.append(p)
15
+ return self
16
+
17
+ def getPs(self) -> List[MultiLanguageParagraph]:
18
+ return self.ps
19
+
20
+ def getLists(self):
21
+ return self.lists
22
+
23
+ def addList(self, value):
24
+ self.lists.append(value)
25
+ return self
@@ -1,16 +1,44 @@
1
+ from abc import ABCMeta
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
1
3
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
4
 
3
- class LOverviewParagraph(ARObject):
5
+ class LEnum (ARLiteral):
4
6
  def __init__(self):
5
7
  super().__init__()
6
8
 
7
- self.l = ""
9
+ class LanguageSpecific(ARObject, metaclass = ABCMeta):
10
+ def __init__(self):
11
+ super().__init__()
12
+
13
+ self.l = None # type: LEnum
8
14
  self.value = ""
9
15
 
16
+ def getL(self):
17
+ return self.l
18
+
19
+ def setL(self, value):
20
+ self.l = value
21
+ return self
10
22
 
11
- class LLongName(ARObject):
23
+ def getValue(self):
24
+ return self.value
25
+
26
+ def setValue(self, value):
27
+ self.value = value
28
+ return self
29
+
30
+ class LOverviewParagraph(LanguageSpecific):
12
31
  def __init__(self):
13
32
  super().__init__()
14
33
 
15
- self.l = ""
16
- self.value = ""
34
+ class LParagraph(LanguageSpecific):
35
+ def __init__(self):
36
+ super().__init__()
37
+
38
+ class LLongName(LanguageSpecific):
39
+ def __init__(self):
40
+ super().__init__()
41
+
42
+ class LPlainText(LanguageSpecific):
43
+ def __init__(self):
44
+ super().__init__()