This is an automated email from the ASF dual-hosted git repository.
orpiske 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 88dd47ba3a1 CAMEL-20917: fix lots of NPEs introduced by the fix
88dd47ba3a1 is described below
commit 88dd47ba3a1c706dce50b02594bec6f4003d1bbf
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Wed Jun 26 10:00:23 2024 +0200
CAMEL-20917: fix lots of NPEs introduced by the fix
---
.../camel/dsl/jbang/core/common/PluginHelper.java | 46 +++++++++++++++-------
1 file changed, 31 insertions(+), 15 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
index a4654abdf67..e2588bc27ea 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
@@ -24,6 +24,7 @@ import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.Optional;
import java.util.Properties;
+import java.util.function.Supplier;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.catalog.CamelCatalog;
@@ -113,6 +114,10 @@ public final class PluginHelper {
private static MavenGav dependencyAsMavenGav(JsonObject properties) {
final String dependency = properties.get("dependency").toString();
+ if (dependency == null) {
+ return null;
+ }
+
return MavenGav.parseGav(dependency);
}
@@ -224,33 +229,44 @@ public final class PluginHelper {
PluginHelper.savePluginConfig(pluginConfig);
}
+ /**
+ * Extracts information from the GAV model
+ *
+ * @param gav An instance of a Maven GAV model
+ * @param defaultInfo the default if null or not available
+ * @return the information
+ */
+ private static String doExtractInfo(MavenGav gav, String defaultInfo,
Supplier<String> supplier) {
+ if (gav != null) {
+ final String info = supplier.get();
+ if (info != null) {
+ return info;
+ }
+ }
+
+ return defaultInfo;
+ }
+
/**
* Extracts the group from g:a:v
*
- * @param gav An instance of a Maven GAV model
- * @return The group in g:a:v. That is, "g".
+ * @param gav An instance of a Maven GAV model
+ * @param defaultGroup the default if null or not available
+ * @return The group in g:a:v. That is, "g".
*/
private static String extractGroup(MavenGav gav, String defaultGroup) {
- final String group = gav.getGroupId();
- if (group != null) {
- return group;
- }
+ return doExtractInfo(gav, defaultGroup, gav::getGroupId);
- return defaultGroup;
}
/**
* Extracts the version from g:a:v
*
- * @param gav An instance of a Maven GAV model
- * @return The group in g:a:v. That is, "v".
+ * @param gav An instance of a Maven GAV model
+ * @param defaultVersion the default if null or not available
+ * @return The group in g:a:v. That is, "v".
*/
private static String extractVersion(MavenGav gav, String defaultVersion) {
- final String version = gav.getVersion();
- if (version != null) {
- return version;
- }
-
- return defaultVersion;
+ return doExtractInfo(gav, defaultVersion, gav::getVersion);
}
}