diff --git a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java index 93f29fbd5aa49..6cdad99d3441a 100644 --- a/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java +++ b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/DevUIProcessor.java @@ -499,7 +499,7 @@ void getAllExtensions(List cardPageBuildItems, if (codestartMap != null) { Codestart codestart = new Codestart(); codestart.setName((String) codestartMap.getOrDefault(NAME, null)); - codestart.setLanguages((List) codestartMap.getOrDefault(LANGUAGES, null)); + codestart.setLanguages(listOrString(codestartMap, LANGUAGES)); codestart.setArtifact((String) codestartMap.getOrDefault(ARTIFACT, null)); extension.setCodestart(codestart); } @@ -594,6 +594,18 @@ private String collectionToString(Map metaData, String key) { return String.valueOf(value); } + private List listOrString(Map metaData, String key) { + Object value = metaData.getOrDefault(key, null); + if (value == null) { + return null; + } else if (String.class.isAssignableFrom(value.getClass())) { + return List.of((String) value); + } else if (List.class.isAssignableFrom(value.getClass())) { + return (List) value; + } + return List.of(String.valueOf(value)); + } + private void produceResources(String artifactId, BuildProducer webJarBuildProducer, BuildProducer devUIWebJarProducer) {