From 2b9345a9b3d488d6092e64e5ee9f7f3c2514593c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martti=20K=C3=A4=C3=A4rik?= Date: Mon, 21 Oct 2024 18:49:09 +0300 Subject: [PATCH] Updated OpenAPI project wizard to include more libraries and removed redundant settings. --- .../ui/wizard/TDLtxProjectWithOpenAPI.xtend | 54 +++++++++++-------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/wizard/TDLtxProjectWithOpenAPI.xtend b/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/wizard/TDLtxProjectWithOpenAPI.xtend index 2bc04505..9059ebdc 100644 --- a/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/wizard/TDLtxProjectWithOpenAPI.xtend +++ b/plugins/org.etsi.mts.tdl.tx.ui/src/org/etsi/mts/tdl/ui/wizard/TDLtxProjectWithOpenAPI.xtend @@ -34,18 +34,19 @@ final class TDLtxProjectWithOpenAPI { val lastUsed = "LAST_USED" //TODO: file prompt? //TODO: remove after testing - val advanced = check("Advanced:", false) + val advanced = check("Advanced:", true) val advancedGroup = group("Properties") // val name = combo("Package Name:", #["Example", "Sample", "Tutorial", "Pack"], "The name of the package", advancedGroup) val name = text("Main Package Name:", "Main", "The name of the main package") //TODO: add other options val importStandard = check("Import TDL Library", true, "Import TDL standard library definitions.", advancedGroup) - val importHTTP = check("Import HTTP Library", false, "Import TDL HTTP library definitions.", advancedGroup) + val importHTTP = check("Import HTTP Library", true, "Import TDL HTTP library definitions.", advancedGroup) + val importJava = check("Import Java mapping libraries", false, "Import TDL Java mappings.", advancedGroup) val extendedNature = check("Add additional natures", false, "Add Eclipse Plug-in and Java natures", advancedGroup) val path = text("Path:", "tdl", "The package path to place the files in", advancedGroup) - val dataDefinitionsPath = text("Data DefinitionsPath:", s.getString(lastUsed), "The data definitions path to import from", advancedGroup) - val sourceMapping = text("Source mapping tag:", "SOURCE_MAPPING", "The source mapping tag to be used for the data mappings", advancedGroup) - val targetMapping = text("Target mapping tag:", "TARGET_MAPPING", "The target mapping tag to be used for the data mappings", advancedGroup) +// val dataDefinitionsPath = text("Data DefinitionsPath:", s.getString(lastUsed), "The data definitions path to import from", advancedGroup) +// val sourceMapping = text("Source mapping tag:", "SOURCE_MAPPING", "The source mapping tag to be used for the data mappings", advancedGroup) +// val targetMapping = text("Target mapping tag:", "TARGET_MAPPING", "The target mapping tag to be used for the data mappings", advancedGroup) @Inject PluginImageHelper pluginImageHelper @@ -57,20 +58,21 @@ final class TDLtxProjectWithOpenAPI { importHTTP.enabled = advanced.value extendedNature.enabled = advanced.value - dataDefinitionsPath.enabled = advanced.value - sourceMapping.enabled = advanced.value - targetMapping.enabled = advanced.value +// dataDefinitionsPath.enabled = advanced.value +// sourceMapping.enabled = advanced.value +// targetMapping.enabled = advanced.value if (!advanced.value) { name.value = "Main" path.value = "tdl" importStandard.value = true - importHTTP.value = false + importHTTP.value = true + importJava.value = false extendedNature.value = false - dataDefinitionsPath.value = s.getString(lastUsed) - sourceMapping.value = "SOURCE_MAPPING" - targetMapping.value = "TARGET_MAPPING" +// dataDefinitionsPath.value = s.getString(lastUsed) +// sourceMapping.value = "SOURCE_MAPPING" +// targetMapping.value = "TARGET_MAPPING" } } @@ -88,6 +90,7 @@ final class TDLtxProjectWithOpenAPI { projectName = projectInfo.projectName location = projectInfo.locationPath projectNatures += #[XtextProjectHelper.NATURE_ID] + projectNatures += #["org.etsi.mts.tdl.nature"] builderIds += #[XtextProjectHelper.BUILDER_ID] if (extendedNature.value) { projectNatures += #[JavaCore.NATURE_ID, "org.eclipse.pde.PluginNature"] @@ -107,22 +110,29 @@ final class TDLtxProjectWithOpenAPI { imports += "Import all from HTTP\n" imports += "Import all from HTTP.MessageBased\n" } + if (importJava.value) { + addFile('''src/«path»/Java.tdltx''', TemplateHelper.getLibrary("Java")) + addFile('''src/«path»/TdlRuntime.tdltx''', TemplateHelper.getLibrary("TdlRuntime")) + if (importHTTP.value) { + addFile('''src/«path»/HttpJavaMappings.tdltx''', TemplateHelper.getLibrary("HttpJavaMappings")) + imports += "Import all from HttpJavaMappings\n" + } + imports += "Import all from Java\n" + } //TODO: make target package name configurable? i.e. based on name - addFile('''src/«path»/imported.tdltx''', - ConverterNext.processToString(dataDefinitionsPath.value, - "src/"+path.value+"/Imported.tdltx", - sourceMapping.value, - targetMapping.value - )) - val importsName = "generated_from_"+ConverterNext.getTargetPackageName(dataDefinitionsPath.value) +// addFile('''src/«path»/imported.tdltx''', +// ConverterNext.processToString(dataDefinitionsPath.value, +// "src/"+path.value+"/Imported.tdltx", +// sourceMapping.value, +// targetMapping.value +// )) + // val importsName = "generated_from_"+ConverterNext.getTargetPackageName(dataDefinitionsPath.value) addFile('''src/«path»/«name».tdltx''', ''' /* * This is an example package */ Package «name» { - Import all from TDL - Import all from «importsName» - Type simple + «imports» } ''') -- GitLab