From 98e728763a3658d66d1442e036d38fdc2dbbdf99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martti=20K=C3=A4=C3=A4rik?= Date: Mon, 21 Oct 2024 17:55:26 +0300 Subject: [PATCH] Integer literals are OK for enums --- .../next/OpenAPI2TDLTranslatorNext.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) 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 5b316cc0..12c95d8e 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 @@ -481,13 +481,19 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { EnumDataType t = getEnumDataTypeFor(name); if (t.getValue().isEmpty()) for (Object literal : schema.getEnum()) { - if (literal instanceof String) { - SimpleDataInstance literalData = tdlFactory.eINSTANCE.createSimpleDataInstance(); - literalData.setName(getCleanName((String) literal)); - literalData.setDataType(t); - t.getValue().add(literalData); - } - // TODO what if enum literals are not Strings? + String literalName; + if (literal instanceof String) + literalName = (String)literal; + else if (literal instanceof Integer) + literalName = name + "_" + ((Integer)literal).toString(); + else + // TODO what if enum literals are not Strings or Integers? + continue; + + SimpleDataInstance literalData = tdlFactory.eINSTANCE.createSimpleDataInstance(); + literalData.setName(getCleanName(literalName)); + literalData.setDataType(t); + t.getValue().add(literalData); } return t; -- GitLab