Skip to content

Commit

Permalink
Dev UI: allow status to be a list
Browse files Browse the repository at this point in the history
Signed-off-by: Phillip Kruger <phillip.kruger@gmail.com>
  • Loading branch information
phillip-kruger committed Apr 17, 2023
1 parent a4f329b commit 52e4b44
Showing 1 changed file with 18 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.stream.Collectors;

import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.DotName;
Expand Down Expand Up @@ -373,7 +374,7 @@ void getAllExtensions(List<CardPageBuildItem> cardPageBuildItems,
List<Extension> inactiveExtensions = new ArrayList<>();
List<Extension> sectionMenuExtensions = new ArrayList<>();
List<Extension> footerTabExtensions = new ArrayList<>();
ClassPathUtils.consumeAsPaths(YAML_FILE, p -> {
ClassPathUtils.consumeAsPaths(YAML_FILE, (Path p) -> {
try {
Extension extension = new Extension();
final String extensionYaml;
Expand Down Expand Up @@ -410,7 +411,7 @@ void getAllExtensions(List<CardPageBuildItem> cardPageBuildItems,
}

extension.setCategories((List<String>) metaData.getOrDefault(CATEGORIES, null));
extension.setStatus((String) metaData.getOrDefault(STATUS, null));
extension.setStatus(collectionToString(metaData, STATUS));
extension.setBuiltWith((String) metaData.getOrDefault(BUILT_WITH, null));
extension.setConfigFilter((List<String>) metaData.getOrDefault(CONFIG, null));
extension.setExtensionDependencies((List<String>) metaData.getOrDefault(EXTENSION_DEPENDENCIES, null));
Expand Down Expand Up @@ -506,6 +507,21 @@ void getAllExtensions(List<CardPageBuildItem> cardPageBuildItems,
}
}

private String collectionToString(Map<String, Object> metaData, String key) {
Object value = metaData.getOrDefault(key, null);
if (value == null) {
return null;
} else if (String.class.isAssignableFrom(value.getClass())) {
return (String) value;
} else if (List.class.isAssignableFrom(value.getClass())) {
List values = (List) value;
return (String) values.stream()
.map(n -> String.valueOf(n))
.collect(Collectors.joining(", "));
}
return String.valueOf(value);
}

private void produceResources(String artifactId,
BuildProducer<WebJarBuildItem> webJarBuildProducer,
BuildProducer<DevUIWebJarBuildItem> devUIWebJarProducer) {
Expand Down

0 comments on commit 52e4b44

Please sign in to comment.