This is an automated email from the ASF dual-hosted git repository.

pcongiusti 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 d95c7d6bacda fix(components): servicenow maven plugin component closure
d95c7d6bacda is described below

commit d95c7d6bacda33ace62c0334df6dc1b02353cf3d
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Tue Dec 2 09:33:08 2025 +0100

    fix(components): servicenow maven plugin component closure
---
 .../camel/maven/CamelServiceNowGenerateMojo.java   | 54 +++++++++++-----------
 1 file changed, 28 insertions(+), 26 deletions(-)

diff --git 
a/components/camel-servicenow/camel-servicenow-maven-plugin/src/main/java/org/apache/camel/maven/CamelServiceNowGenerateMojo.java
 
b/components/camel-servicenow/camel-servicenow-maven-plugin/src/main/java/org/apache/camel/maven/CamelServiceNowGenerateMojo.java
index 9368c3bc55d2..279a05a644a3 100644
--- 
a/components/camel-servicenow/camel-servicenow-maven-plugin/src/main/java/org/apache/camel/maven/CamelServiceNowGenerateMojo.java
+++ 
b/components/camel-servicenow/camel-servicenow-maven-plugin/src/main/java/org/apache/camel/maven/CamelServiceNowGenerateMojo.java
@@ -143,33 +143,35 @@ public class CamelServiceNowGenerateMojo extends 
AbstractMojo {
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
         final DefaultCamelContext context = new DefaultCamelContext();
-        final ServiceNowComponent component = new ServiceNowComponent(context);
-
-        for (String objectName : objects) {
-            Map<String, Object> parameters = new HashMap<>();
-            parameters.put("instanceName", instanceName);
-            parameters.put("userName", userName);
-            parameters.put("password", userPassword);
-            parameters.put("oauthClientId", oauthClientId);
-            parameters.put("oauthClientSecret", oauthClientSecret);
-            parameters.put("objectType", "table");
-            parameters.put("objectName", objectName);
-
-            for (Map.Entry<String, String> entry : fields.entrySet()) {
-                parameters.put("object." + entry.getKey() + ".fields", 
entry.getValue());
+        try (final ServiceNowComponent component = new 
ServiceNowComponent(context)) {
+            for (String objectName : objects) {
+                Map<String, Object> parameters = new HashMap<>();
+                parameters.put("instanceName", instanceName);
+                parameters.put("userName", userName);
+                parameters.put("password", userPassword);
+                parameters.put("oauthClientId", oauthClientId);
+                parameters.put("oauthClientSecret", oauthClientSecret);
+                parameters.put("objectType", "table");
+                parameters.put("objectName", objectName);
+
+                for (Map.Entry<String, String> entry : fields.entrySet()) {
+                    parameters.put("object." + entry.getKey() + ".fields", 
entry.getValue());
+                }
+                for (Map.Entry<String, String> entry : 
fieldsExcludePattern.entrySet()) {
+                    parameters.put("object." + entry.getKey() + 
".fields.exclude.pattern", entry.getValue());
+                }
+
+                JsonNode schema = 
component.getExtension(MetaDataExtension.class)
+                        .flatMap(e -> e.meta(parameters))
+                        .flatMap(m -> 
Optional.ofNullable(m.getPayload(JsonNode.class)))
+                        .orElseThrow(() -> new MojoExecutionException("Unable 
to get grab MetaData for object: " + objectName));
+
+                validateSchema(schema);
+
+                generateBean(objectName, schema);
             }
-            for (Map.Entry<String, String> entry : 
fieldsExcludePattern.entrySet()) {
-                parameters.put("object." + entry.getKey() + 
".fields.exclude.pattern", entry.getValue());
-            }
-
-            JsonNode schema = component.getExtension(MetaDataExtension.class)
-                    .flatMap(e -> e.meta(parameters))
-                    .flatMap(m -> 
Optional.ofNullable(m.getPayload(JsonNode.class)))
-                    .orElseThrow(() -> new MojoExecutionException("Unable to 
get grab MetaData for object: " + objectName));
-
-            validateSchema(schema);
-
-            generateBean(objectName, schema);
+        } catch (IOException e) {
+            throw new MojoExecutionException("Unable to close 
ServiceNowComponent", e);
         }
     }
 

Reply via email to