Fix Gizmo Sonar bugs 59/81959/1
authorLee, Tian (tl5884) <TianL@amdocs.com>
Mon, 11 Mar 2019 16:12:20 +0000 (16:12 +0000)
committerLee, Tian (tl5884) <TianL@amdocs.com>
Mon, 11 Mar 2019 16:12:20 +0000 (16:12 +0000)
Change-Id: I8d74270fcf947222f3836ee2821a7bb921f2fff7
Issue-ID: AAI-2231
Signed-off-by: Lee, Tian (tl5884) <TianL@amdocs.com>
src/main/java/org/onap/crud/service/CrudAsyncGraphDataService.java

index 7906de0..71efe35 100644 (file)
@@ -20,6 +20,7 @@
  */
 package org.onap.crud.service;
 
+import com.google.gson.JsonElement;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
@@ -68,8 +69,6 @@ import org.onap.crud.util.etag.EtagGenerator;
 import org.onap.schema.OxmModelValidator;
 import org.onap.schema.RelationshipSchemaValidator;
 
-import com.google.gson.JsonElement;
-
 public class CrudAsyncGraphDataService extends AbstractGraphDataService {
 
     private static Integer requestTimeOut;
@@ -149,6 +148,8 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
                 latch.await(CrudAsyncGraphDataService.getRequestTimeOut(), TimeUnit.MILLISECONDS);
             } catch (InterruptedException e) {
                 latch.countDown();
+                // Restore interrupted state...
+                Thread.currentThread().interrupt();
                 if (this.graphEventEnvelope != null) {
                     return this.graphEventEnvelope;
                 } else {
@@ -203,6 +204,10 @@ public class CrudAsyncGraphDataService extends AbstractGraphDataService {
             logger.error(CrudServiceMsgs.ASYNC_DATA_SERVICE_ERROR,
                     "Request timed out for transactionId: " + event.getTransactionId());
             future.cancel(true);
+            if (e instanceof InterruptedException) {
+                // Restore interrupted state...
+                Thread.currentThread().interrupt();
+            }
             throw new CrudException("Timed out , transactionId: " + event.getTransactionId() + " , operation: "
                     + event.getOperation().toString(), Status.INTERNAL_SERVER_ERROR);
         } finally {