You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/04 09:52:23 UTC

[camel] branch main updated: camel-jbang - Fix some npes in catalog commands

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


The following commit(s) were added to refs/heads/main by this push:
     new d8ce4b54131 camel-jbang - Fix some npes in catalog commands
d8ce4b54131 is described below

commit d8ce4b54131eb05f7649c927b7b4b569fa3ed9d6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Aug 4 11:52:08 2023 +0200

    camel-jbang - Fix some npes in catalog commands
---
 .../core/commands/catalog/CatalogBaseCommand.java  |  8 +++++---
 .../core/commands/catalog/CatalogComponent.java    | 24 ++++++++++++----------
 .../core/commands/catalog/CatalogDataFormat.java   | 24 ++++++++++++----------
 .../jbang/core/commands/catalog/CatalogDoc.java    |  2 +-
 .../core/commands/catalog/CatalogLanguage.java     | 24 ++++++++++++----------
 .../jbang/core/commands/catalog/CatalogOther.java  | 24 ++++++++++++----------
 6 files changed, 58 insertions(+), 48 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java
index f92efdfdba6..ad18373fe4a 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.dsl.jbang.core.commands.catalog;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
@@ -40,7 +41,7 @@ import picocli.CommandLine;
 public abstract class CatalogBaseCommand extends CamelCommand {
 
     @CommandLine.Option(names = { "--camel-version" },
-                        description = "To run using a different Camel version than the default version.")
+                        description = "To use a different Camel version than the default version")
     String camelVersion;
 
     @CommandLine.Option(names = { "--runtime" }, completionCandidates = RuntimeCompletionCandidates.class,
@@ -203,9 +204,10 @@ public abstract class CatalogBaseCommand extends CamelCommand {
 
     static List<String> findComponentNames(CamelCatalog catalog) {
         List<String> answer = catalog.findComponentNames();
+        List<String> copy = new ArrayList<>(answer);
         // remove empty (spring boot catalog has a bug)
-        answer.removeIf(String::isBlank);
-        return answer;
+        copy.removeIf(String::isBlank);
+        return copy;
     }
 
     static class Row {
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
index 0aa23f7b500..b30619d6694 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogComponent.java
@@ -36,17 +36,19 @@ public class CatalogComponent extends CatalogBaseCommand {
         List<Row> rows = new ArrayList<>();
         for (String name : findComponentNames(catalog)) {
             ComponentModel model = catalog.componentModel(name);
-            Row row = new Row();
-            row.name = model.getScheme();
-            row.title = model.getTitle();
-            row.level = model.getSupportLevel().name();
-            row.since = fixQuarkusSince(model.getFirstVersionShort());
-            row.description = model.getDescription();
-            row.label = model.getLabel() != null ? model.getLabel() : "";
-            row.deprecated = model.isDeprecated();
-            row.nativeSupported = model.isNativeSupported();
-            row.gav = getGAV(model);
-            rows.add(row);
+            if (model != null) {
+                Row row = new Row();
+                row.name = model.getScheme();
+                row.title = model.getTitle();
+                row.level = model.getSupportLevel().name();
+                row.since = fixQuarkusSince(model.getFirstVersionShort());
+                row.description = model.getDescription();
+                row.label = model.getLabel() != null ? model.getLabel() : "";
+                row.deprecated = model.isDeprecated();
+                row.nativeSupported = model.isNativeSupported();
+                row.gav = getGAV(model);
+                rows.add(row);
+            }
         }
         return rows;
     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
index 5b6cc1cbc44..0e10ffb31e8 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDataFormat.java
@@ -36,17 +36,19 @@ public class CatalogDataFormat extends CatalogBaseCommand {
         List<Row> rows = new ArrayList<>();
         for (String name : catalog.findDataFormatNames()) {
             DataFormatModel model = catalog.dataFormatModel(name);
-            Row row = new Row();
-            row.name = model.getName();
-            row.title = model.getTitle();
-            row.level = model.getSupportLevel().name();
-            row.since = fixQuarkusSince(model.getFirstVersionShort());
-            row.description = model.getDescription();
-            row.label = model.getLabel() != null ? model.getLabel() : "";
-            row.deprecated = model.isDeprecated();
-            row.nativeSupported = model.isNativeSupported();
-            row.gav = getGAV(model);
-            rows.add(row);
+            if (model != null) {
+                Row row = new Row();
+                row.name = model.getName();
+                row.title = model.getTitle();
+                row.level = model.getSupportLevel().name();
+                row.since = fixQuarkusSince(model.getFirstVersionShort());
+                row.description = model.getDescription();
+                row.label = model.getLabel() != null ? model.getLabel() : "";
+                row.deprecated = model.isDeprecated();
+                row.nativeSupported = model.isNativeSupported();
+                row.gav = getGAV(model);
+                rows.add(row);
+            }
         }
         return rows;
     }
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 2df991a4732..abba4786709 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
@@ -56,7 +56,7 @@ public class CatalogDoc extends CamelCommand {
     String name;
 
     @CommandLine.Option(names = { "--camel-version" },
-                        description = "To run using a different Camel version than the default version.")
+                        description = "To use a different Camel version than the default version")
     String camelVersion;
 
     @CommandLine.Option(names = { "--runtime" }, completionCandidates = RuntimeCompletionCandidates.class,
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
index 4c0faf51b80..0ea36d6c42f 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogLanguage.java
@@ -36,17 +36,19 @@ public class CatalogLanguage extends CatalogBaseCommand {
         List<Row> rows = new ArrayList<>();
         for (String name : catalog.findLanguageNames()) {
             LanguageModel model = catalog.languageModel(name);
-            Row row = new Row();
-            row.name = model.getName();
-            row.title = model.getTitle();
-            row.level = model.getSupportLevel().name();
-            row.since = fixQuarkusSince(model.getFirstVersionShort());
-            row.description = model.getDescription();
-            row.label = model.getLabel() != null ? model.getLabel() : "";
-            row.deprecated = model.isDeprecated();
-            row.nativeSupported = model.isNativeSupported();
-            row.gav = getGAV(model);
-            rows.add(row);
+            if (model != null) {
+                Row row = new Row();
+                row.name = model.getName();
+                row.title = model.getTitle();
+                row.level = model.getSupportLevel().name();
+                row.since = fixQuarkusSince(model.getFirstVersionShort());
+                row.description = model.getDescription();
+                row.label = model.getLabel() != null ? model.getLabel() : "";
+                row.deprecated = model.isDeprecated();
+                row.nativeSupported = model.isNativeSupported();
+                row.gav = getGAV(model);
+                rows.add(row);
+            }
         }
         return rows;
     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
index c874a37f253..2d2253543a2 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogOther.java
@@ -36,17 +36,19 @@ public class CatalogOther extends CatalogBaseCommand {
         List<Row> rows = new ArrayList<>();
         for (String name : catalog.findOtherNames()) {
             OtherModel model = catalog.otherModel(name);
-            Row row = new Row();
-            row.name = model.getName();
-            row.title = model.getTitle();
-            row.level = model.getSupportLevel().name();
-            row.since = model.getFirstVersionShort();
-            row.description = model.getDescription();
-            row.label = model.getLabel() != null ? model.getLabel() : "";
-            row.deprecated = model.isDeprecated();
-            row.nativeSupported = model.isNativeSupported();
-            row.gav = getGAV(model);
-            rows.add(row);
+            if (model != null) {
+                Row row = new Row();
+                row.name = model.getName();
+                row.title = model.getTitle();
+                row.level = model.getSupportLevel().name();
+                row.since = model.getFirstVersionShort();
+                row.description = model.getDescription();
+                row.label = model.getLabel() != null ? model.getLabel() : "";
+                row.deprecated = model.isDeprecated();
+                row.nativeSupported = model.isNativeSupported();
+                row.gav = getGAV(model);
+                rows.add(row);
+            }
         }
         return rows;
     }