Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Simplify nested try blocks.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 4 Apr 2019 08:51:11 +0000 (10:51 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Thu, 4 Apr 2019 09:53:33 +0000 (11:53 +0200)
examples/deprecated/java/dht/chord/Node.java

index a9a9511..e201df9 100644 (file)
@@ -186,29 +186,26 @@ public class Node extends Process {
     GetPredecessorTask sendTask = new GetPredecessorTask(getHost().getName(), this.mailbox);
     try {
       sendTask.send(mailboxTo, Common.TIMEOUT);
     GetPredecessorTask sendTask = new GetPredecessorTask(getHost().getName(), this.mailbox);
     try {
       sendTask.send(mailboxTo, Common.TIMEOUT);
-      try {
-        do {
-          if (commReceive == null) {
-            commReceive = Task.irecv(this.mailbox);
-          }
-          commReceive.waitCompletion(Common.TIMEOUT);
-          Task taskReceived = commReceive.getTask();
-          if (taskReceived instanceof GetPredecessorAnswerTask) {
-            predecessorId = ((GetPredecessorAnswerTask) taskReceived).getAnswerId();
-            stop = true;
-          } else {
-            handleTask(taskReceived);
-          }
-          commReceive = null;
-        } while (!stop);
-      }
-      catch (MsgException e) {
+      do {
+        if (commReceive == null) {
+          commReceive = Task.irecv(this.mailbox);
+        }
+        commReceive.waitCompletion(Common.TIMEOUT);
+        Task taskReceived = commReceive.getTask();
+        if (taskReceived instanceof GetPredecessorAnswerTask) {
+          predecessorId = ((GetPredecessorAnswerTask) taskReceived).getAnswerId();
+          stop = true;
+        } else {
+          handleTask(taskReceived);
+        }
         commReceive = null;
         commReceive = null;
-      }
+      } while (!stop);
     }
     catch (MsgException e) {
       Msg.debug("Failed to send the Get Predecessor request");
     }
     }
     catch (MsgException e) {
       Msg.debug("Failed to send the Get Predecessor request");
     }
+    commReceive = null;
+
     return predecessorId;
   }
 
     return predecessorId;
   }
 
@@ -240,23 +237,17 @@ public class Node extends Process {
         if (commReceive == null) {
           commReceive = Task.irecv(this.mailbox);
         }
         if (commReceive == null) {
           commReceive = Task.irecv(this.mailbox);
         }
-        try {
-          commReceive.waitCompletion(Common.TIMEOUT);
-          Task task = commReceive.getTask();
-          if (task instanceof FindSuccessorAnswerTask) {
-            //TODO: Check if this this our answer.
-            FindSuccessorAnswerTask fTask = (FindSuccessorAnswerTask) task;
-            stop = true;
-            successor = fTask.getAnswerId();
-          } else {
-            handleTask(task);
-          }
-          commReceive = null;
-        }
-        catch (TimeoutException e) {
+        commReceive.waitCompletion(Common.TIMEOUT);
+        Task task = commReceive.getTask();
+        if (task instanceof FindSuccessorAnswerTask) {
+          //TODO: Check if this this our answer.
+          FindSuccessorAnswerTask fTask = (FindSuccessorAnswerTask) task;
           stop = true;
           stop = true;
-          commReceive = null;
+          successor = fTask.getAnswerId();
+        } else {
+          handleTask(task);
         }
         }
+        commReceive = null;
       } while (!stop);
     }
     catch (TimeoutException e) {
       } while (!stop);
     }
     catch (TimeoutException e) {
@@ -265,6 +256,7 @@ public class Node extends Process {
     catch (MsgException e) {
       Msg.debug("Failed to receive Find Successor");
     }
     catch (MsgException e) {
       Msg.debug("Failed to receive Find Successor");
     }
+    commReceive = null;
 
     return successor;
   }
 
     return successor;
   }