From fecf7f1b46b472ea6c1dd5aabcb019851a9f81a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martti=20K=C3=A4=C3=A4rik?= <martti.kaarik@elvior.com>
Date: Fri, 28 Mar 2025 16:05:03 +0200
Subject: [PATCH] Properties from referenced schemas were not imported/mapped

---
 .../mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java  | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java b/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java
index e049eb4..eb06290 100644
--- a/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java
+++ b/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java
@@ -438,6 +438,9 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
 	}
 	
 	private void getAllProperties(Schema<?> schema, Map<String, Schema> properties) {
+		String reference = schema.get$ref();
+		if (reference != null)
+			schema = ModelUtils.getReferencedSchema(model, schema);
 		List<Schema> xOf = schema.getAllOf();
 		if (xOf == null)
 			xOf = schema.getAnyOf();
@@ -705,7 +708,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator {
 						}
 						
 					} else  if (type instanceof StructuredDataType) {
-						for (CodegenProperty var: codeGen.getVars()) {
+						for (CodegenProperty var: codeGen.getAllVars()) {
 							String vName = var.getBaseName();
 							Member member = null;
 							for (Member m: ((StructuredDataType) type).allMembers()) {
-- 
GitLab