This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch console in repository https://gitbox.apache.org/repos/asf/camel.git
commit 78e097b84c126dc1c13f5f156965452eb40fb1e7 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu Dec 30 10:05:24 2021 +0100 CAMEL-17384: Developer Console SPI --- .../camel/catalog/console/CatalogConsole.java | 57 +++++++--------------- dsl/camel-kamelet-main/pom.xml | 4 ++ 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java index c7f94ff..183d083 100644 --- a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java +++ b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java @@ -22,9 +22,7 @@ import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.catalog.DefaultCamelCatalog; import org.apache.camel.impl.console.AbstractDevConsole; import org.apache.camel.spi.annotations.DevConsole; -import org.apache.camel.tooling.model.ComponentModel; -import org.apache.camel.tooling.model.DataFormatModel; -import org.apache.camel.tooling.model.LanguageModel; +import org.apache.camel.tooling.model.ArtifactModel; @DevConsole("catalog") public class CatalogConsole extends AbstractDevConsole { @@ -40,43 +38,24 @@ public class CatalogConsole extends AbstractDevConsole { // only text is supported StringBuilder sb = new StringBuilder(); - // components - for (String name : getCamelContext().getComponentNames()) { - ComponentModel model = catalog.componentModel(name); - if (model != null) { - sb.append(String.format("\n %s (%s)", name, model.getSupportLevel())); - if (model.isDeprecated()) { - sb.append(" (deprecated)"); - } - } else { - sb.append("\n ").append(name); - } - } - // data formats - for (String name : getCamelContext().getDataFormatNames()) { - DataFormatModel model = catalog.dataFormatModel(name); - if (model != null) { - sb.append(String.format("\n %s (%s)", name, model.getSupportLevel())); - if (model.isDeprecated()) { - sb.append(" (deprecated)"); - } - } else { - sb.append("\n ").append(name); - } - } - // languages - for (String name : getCamelContext().getLanguageNames()) { - LanguageModel model = catalog.languageModel(name); - if (model != null) { - sb.append(String.format("\n %s (%s)", name, model.getSupportLevel())); - if (model.isDeprecated()) { - sb.append(" (deprecated)"); - } - } else { - sb.append("\n ").append(name); - } - } + sb.append("\nComponents:\n"); + getCamelContext().getComponentNames().forEach(n -> appendModel(catalog.componentModel(n), sb)); + sb.append("\n\nLanguages:\n"); + getCamelContext().getLanguageNames().forEach(n -> appendModel(catalog.languageModel(n), sb)); + sb.append("\n\nData Formats:\n"); + getCamelContext().getDataFormatNames().forEach(n -> appendModel(catalog.dataFormatModel(n), sb)); return sb.toString(); } + + private static void appendModel(ArtifactModel<?> model, StringBuilder sb) { + if (model != null) { + String level = model.getSupportLevel().toString(); + if (model.isDeprecated()) { + level += "-deprecated"; + } + sb.append(String.format("\n %s %s %s %s %s", model.getTitle(), model.getArtifactId(), level, + model.getFirstVersionShort(), model.getDescription())); + } + } } diff --git a/dsl/camel-kamelet-main/pom.xml b/dsl/camel-kamelet-main/pom.xml index da6f5a3..cd69ecf 100644 --- a/dsl/camel-kamelet-main/pom.xml +++ b/dsl/camel-kamelet-main/pom.xml @@ -86,6 +86,10 @@ <groupId>org.apache.camel</groupId> <artifactId>camel-catalog</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-catalog-console</artifactId> + </dependency> <dependency> <groupId>org.junit.jupiter</groupId>