This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3d86bb9aa550c9eddd836972ddcefd669e4547fb Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Sep 21 07:53:01 2022 +0200 camel-jbang - doc with url --- .../jbang/core/commands/catalog/CatalogDoc.java | 50 ++++++++++++++++++---- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java index 8c62e24f3df..7e0538e3786 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java @@ -16,6 +16,8 @@ */ package org.apache.camel.dsl.jbang.core.commands.catalog; +import java.awt.*; +import java.net.URI; import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -53,6 +55,11 @@ public class CatalogDoc extends CamelCommand { defaultValue = "false") boolean url; + @CommandLine.Option(names = { "--open-url" }, + description = "Opens the online documentation form the Camel website in the web browser", + defaultValue = "false") + boolean openUrl; + @CommandLine.Option(names = { "--filter" }, description = "Filter option listed in tables by name, description, or group") String filter; @@ -65,9 +72,6 @@ public class CatalogDoc extends CamelCommand { "--kamelets-version" }, description = "Apache Camel Kamelets version", defaultValue = "0.9.0") String kameletsVersion; - // TODO: endpoint uri to document the uri only - // TODO: --open-url to open the url in a browser - final CamelCatalog catalog = new DefaultCamelCatalog(true); public CatalogDoc(CamelJBangMain main) { @@ -156,8 +160,14 @@ public class CatalogDoc extends CamelCommand { return 1; } - private void docKamelet(KameletModel km) { + private void docKamelet(KameletModel km) throws Exception { String link = websiteLink("kamelet", name, kameletsVersion); + if (openUrl) { + if (link != null) { + Desktop.getDesktop().browse(new URI(link)); + } + return; + } if (url) { if (link != null) { System.out.println(link); @@ -224,8 +234,14 @@ public class CatalogDoc extends CamelCommand { } } - private void docComponent(ComponentModel cm) { + private void docComponent(ComponentModel cm) throws Exception { String link = websiteLink("component", name, catalog.getCatalogVersion()); + if (openUrl) { + if (link != null) { + Desktop.getDesktop().browse(new URI(link)); + } + return; + } if (url) { if (link != null) { System.out.println(link); @@ -315,8 +331,14 @@ public class CatalogDoc extends CamelCommand { } } - private void docDataFormat(DataFormatModel dm) { + private void docDataFormat(DataFormatModel dm) throws Exception { String link = websiteLink("dataformat", name, catalog.getCatalogVersion()); + if (openUrl) { + if (link != null) { + Desktop.getDesktop().browse(new URI(link)); + } + return; + } if (url) { if (link != null) { System.out.println(link); @@ -366,8 +388,14 @@ public class CatalogDoc extends CamelCommand { } } - private void docLanguage(LanguageModel lm) { + private void docLanguage(LanguageModel lm) throws Exception { String link = websiteLink("language", name, catalog.getCatalogVersion()); + if (openUrl) { + if (link != null) { + Desktop.getDesktop().browse(new URI(link)); + } + return; + } if (url) { if (link != null) { System.out.println(link); @@ -417,8 +445,14 @@ public class CatalogDoc extends CamelCommand { } } - private void docOther(OtherModel om) { + private void docOther(OtherModel om) throws Exception { String link = websiteLink("other", name, catalog.getCatalogVersion()); + if (openUrl) { + if (link != null) { + Desktop.getDesktop().browse(new URI(link)); + } + return; + } if (url) { if (link != null) { System.out.println(link);