Commit 7dbd1408 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras
Browse files

Merge remote-tracking branch 'esa-DMT/master'

parents e65826fd 6bf40fab
...@@ -427,9 +427,11 @@ end Stream_Element_Buffer; ...@@ -427,9 +427,11 @@ end Stream_Element_Buffer;
possibleACN = ASNtoACN(asnParser.g_names[asnTypename]._asnFilename) possibleACN = ASNtoACN(asnParser.g_names[asnTypename]._asnFilename)
if bAADLv2 and os.path.exists(possibleACN): if bAADLv2 and os.path.exists(possibleACN):
prefix2 = "TASTE::" if bAADLv2 else "assert_properties::" prefix2 = "TASTE::" if bAADLv2 else "assert_properties::"
base = os.path.splitext(os.path.basename(possibleACN))[0] #base = os.path.splitext(os.path.basename(possibleACN))[0]
fname = base.replace("-", "_") #fname = base.replace("-", "_")
o.write(' %sEncodingDefinitionFile => classifier(DataView::ACN_%s);\n' % (prefix2, fname)) #o.write(' %sEncodingDefinitionFile => classifier(DataView::ACN_%s);\n' % (prefix2, fname))
moduleName = g_AdaPackageNameOfType[asnTypename]
o.write(' %sEncodingDefinitionFile => classifier(DataView::ACN_%s);\n' % (prefix2, moduleName))
o.write(' %sAda_Package_Name => "%s";\n' % (prefix, g_AdaPackageNameOfType[asnTypename])) o.write(' %sAda_Package_Name => "%s";\n' % (prefix, g_AdaPackageNameOfType[asnTypename]))
if bAADLv2: if bAADLv2:
o.write(' Deployment::ASN1_Module_Name => "%s";\n' % g_AdaPackageNameOfType[asnTypename].replace('_', '-')) o.write(' Deployment::ASN1_Module_Name => "%s";\n' % g_AdaPackageNameOfType[asnTypename].replace('_', '-'))
...@@ -522,21 +524,47 @@ end Stream_Element_Buffer; ...@@ -522,21 +524,47 @@ end Stream_Element_Buffer;
o.write(' %s : DATA %s.impl;\n' % (cleanName, cleanName)) o.write(' %s : DATA %s.impl;\n' % (cleanName, cleanName))
o.write('END Taste_DataView.others;\n') o.write('END Taste_DataView.others;\n')
listOfAsn1Files = {} # listOfAsn1Files = {}
for asnTypename in sorted(list(asnParser.g_names.keys())): # for asnTypename in sorted(list(asnParser.g_names.keys())):
listOfAsn1Files[asnParser.g_names[asnTypename]._asnFilename] = 1 # listOfAsn1Files[asnParser.g_names[asnTypename]._asnFilename] = 1
if bAADLv2: # Create a list of modules that are included in an ASN.1 file for which
for asnFilename in sorted(list(listOfAsn1Files.keys())): # an ACN file exists as well, in order to declare a DATA part pointing
base = os.path.splitext(os.path.basename(asnFilename))[0] # to it (and referenced by the TASTE::EncodingDefinitionFile property)
possibleACN = ASNtoACN(asnFilename) listOfAsn1ModulesWithAcn = {}
for moduleName, asnTypes in asnParser.g_modules.items():
if asnTypes: # ignore empty modules
# get the filename containing this module
asnFile = asnParser.g_names[asnTypes[0]]._asnFilename
possibleACN = ASNtoACN(asnFile)
if os.path.exists(possibleACN): if os.path.exists(possibleACN):
fname = base.replace("-", "_") listOfAsn1ModulesWithAcn[moduleName.replace('-', '_')] = possibleACN
o.write('DATA ACN_' + fname + '\n')
o.write('PROPERTIES\n') if bAADLv2:
o.write(' Source_Text => ("' + possibleACN + '");\n') for moduleName, acnFile in listOfAsn1ModulesWithAcn.items():
o.write(' Source_Language => (ACN);\n') o.write('DATA ACN_' + moduleName + '\n')
o.write('END ACN_' + fname + ';\n\n') o.write('PROPERTIES\n')
o.write(' Source_Text => ("' + acnFile + '");\n')
o.write(' Source_Language => (ACN);\n')
o.write('END ACN_' + moduleName + ';\n\n')
# MP (04/2020) The part below is removed because it names the identifier based
# on the filename. However there could be several DataView.acn files (in different
# folders). In that case the identifier would be defined more than once.
# if bAADLv2:
# for asnFilename in sorted(list(listOfAsn1Files.keys())):
# base = os.path.splitext(os.path.basename(asnFilename))[0]
# possibleACN = ASNtoACN(asnFilename)
# # This should be per module, not per file
# # we must have the list of modules per file and generate
# # a DATA ACN_Module name per module
# if os.path.exists(possibleACN):
# fname = base.replace("-", "_")
# o.write('DATA ACN_' + fname + '\n')
# o.write('PROPERTIES\n')
# o.write(' Source_Text => ("' + possibleACN + '");\n')
# o.write(' Source_Language => (ACN);\n')
# o.write('END ACN_' + fname + ';\n\n')
o.write('end DataView;\n') o.write('end DataView;\n')
o.close() o.close()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment