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

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 11a74ad404c04ffa69aec0a030d29e146fdcc973
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Mon May 13 11:55:38 2024 -0400

    Log correct message for collectCamelStatuses if there is no port configured 
for the project
---
 .../apache/camel/karavan/service/CamelService.java | 41 +++++++++++++---------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
index 2668b76c..22217217 100644
--- 
a/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
+++ 
b/karavan-app/src/main/java/org/apache/camel/karavan/service/CamelService.java
@@ -154,18 +154,22 @@ public class CamelService {
         }
     }
 
-    public String getContainerAddressForStatus(ContainerStatus 
containerStatus) {
+    public String getContainerAddressForStatus(ContainerStatus 
containerStatus) throws Exception {
         if (ConfigService.inKubernetes()) {
             return "http://"; + containerStatus.getPodIP() + ":8080";
         } else if (ConfigService.inDocker()) {
             return "http://"; + containerStatus.getContainerName() + ":8080";
         } else {
             Integer port = 
projectService.getProjectPort(containerStatus.getContainerName());
-            return "http://localhost:"; + port;
+            if (port != null) {
+                return "http://localhost:"; + port;
+            } else {
+                throw new Exception("No port configured for project " + 
containerStatus.getContainerName());
+            }
         }
     }
 
-    public String getCamelStatus(ContainerStatus containerStatus, 
CamelStatusValue.Name statusName) {
+    public String getCamelStatus(ContainerStatus containerStatus, 
CamelStatusValue.Name statusName) throws Exception {
         String url = getContainerAddressForStatus(containerStatus) + "/q/dev/" 
+ statusName.name();
         try {
             return getResult(url, 500);
@@ -177,20 +181,24 @@ public class CamelService {
 
     @ConsumeEvent(value = CMD_COLLECT_CAMEL_STATUS, blocking = true, ordered = 
true)
     public void collectCamelStatuses(JsonObject data) {
-        CamelStatusRequest dms = 
data.getJsonObject("camelStatusRequest").mapTo(CamelStatusRequest.class);
-        ContainerStatus containerStatus = 
data.getJsonObject("containerStatus").mapTo(ContainerStatus.class);
-        LOGGER.debug("Collect Camel Status for " + 
containerStatus.getContainerName());
-        String projectId = dms.getProjectId();
-        String containerName = dms.getContainerName();
-        List<CamelStatusValue> statuses = new ArrayList<>();
-        Arrays.stream(CamelStatusValue.Name.values()).forEach(statusName -> {
-            String status = getCamelStatus(containerStatus, statusName);
-            if (status != null) {
-                statuses.add(new CamelStatusValue(statusName, status));
+        try {
+            CamelStatusRequest dms = 
data.getJsonObject("camelStatusRequest").mapTo(CamelStatusRequest.class);
+            ContainerStatus containerStatus = 
data.getJsonObject("containerStatus").mapTo(ContainerStatus.class);
+            LOGGER.debug("Collect Camel Status for " + 
containerStatus.getContainerName());
+            String projectId = dms.getProjectId();
+            String containerName = dms.getContainerName();
+            List<CamelStatusValue> statuses = new ArrayList<>();
+            for (CamelStatusValue.Name statusName : 
CamelStatusValue.Name.values()) {
+                String status = getCamelStatus(containerStatus, statusName);
+                if (status != null) {
+                    statuses.add(new CamelStatusValue(statusName, status));
+                }
             }
-        });
-        CamelStatus cs = new CamelStatus(projectId, containerName, statuses, 
environment);
-        karavanCacheService.saveCamelStatus(cs);
+            CamelStatus cs = new CamelStatus(projectId, containerName, 
statuses, environment);
+            karavanCacheService.saveCamelStatus(cs);
+        } catch (Exception ex) {
+            LOGGER.error("collectCamelStatuses " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
+        }
     }
 
     @CircuitBreaker(requestVolumeThreshold = 10, failureRatio = 0.5, delay = 
1000)
@@ -203,6 +211,7 @@ public class CamelService {
                 return res.encodePrettily();
             }
         } catch (Exception ex) {
+            LOGGER.error("getResult " + url);
             LOGGER.error("getResult " + (ex.getCause() != null ? 
ex.getCause().getMessage() : ex.getMessage()));
         }
         return null;

Reply via email to