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 d80976cbf6e CAMEL-20297 camel-dhis2: do not swallow interrupted 
exceptions
d80976cbf6e is described below

commit d80976cbf6eb37f2d32c138edfa78c983b5976da
Author: Otavio Rodolfo Piske <angusyo...@gmail.com>
AuthorDate: Thu Jan 11 10:19:58 2024 +0100

    CAMEL-20297 camel-dhis2: do not swallow interrupted exceptions
---
 .../component/dhis2/api/Dhis2ResourceTables.java     | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git 
a/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2ResourceTables.java
 
b/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2ResourceTables.java
index a7a6fc22fa0..db5e8b71980 100644
--- 
a/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2ResourceTables.java
+++ 
b/components/camel-dhis2/camel-dhis2-api/src/main/java/org/apache/camel/component/dhis2/api/Dhis2ResourceTables.java
@@ -48,17 +48,19 @@ public class Dhis2ResourceTables {
         while (notification == null || !(Boolean) 
notification.get("completed")) {
             try {
                 Thread.sleep(Objects.requireNonNullElse(interval, 30000));
-            } catch (InterruptedException e) {
-                throw new RuntimeException(e);
-            }
-            Iterable<Map> notifications = 
dhis2Client.get("system/tasks/ANALYTICS_TABLE/{taskId}",
-                    taskId).withoutPaging().transfer().returnAs(Map.class);
-            if (notifications.iterator().hasNext()) {
-                notification = notifications.iterator().next();
-                if (notification.get("level").equals("ERROR")) {
-                    throw new RuntimeException("Analytics failed => " + 
notification);
+
+                Iterable<Map> notifications = 
dhis2Client.get("system/tasks/ANALYTICS_TABLE/{taskId}",
+                        taskId).withoutPaging().transfer().returnAs(Map.class);
+                if (notifications.iterator().hasNext()) {
+                    notification = notifications.iterator().next();
+                    if (notification.get("level").equals("ERROR")) {
+                        throw new RuntimeException("Analytics failed => " + 
notification);
+                    }
                 }
+            } catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
             }
+
         }
     }
 

Reply via email to