Fixed Sonar issues in ZkStatelessLockService 73/78273/3
authorr.bogacki <r.bogacki@samsung.com>
Tue, 12 Feb 2019 09:19:11 +0000 (10:19 +0100)
committerRobert Bogacki <r.bogacki@samsung.com>
Wed, 13 Feb 2019 14:09:49 +0000 (14:09 +0000)
Fixed potential NullPointerException.
Added restoring of the interrupted state.
Removed unnecessary imports.
Added missing loggers.

Change-Id: I62bb8ef2b4893c60c1cea7dcd4ba29f2908b4d05
Issue-ID: MUSIC-329
Signed-off-by: Robert Bogacki <r.bogacki@samsung.com>
src/main/java/org/onap/music/lockingservice/zookeeper/ZkStatelessLockService.java

index 38c4726..e8ed257 100644 (file)
@@ -3,7 +3,8 @@
  * ===================================================================
  * Copyright (c) 2017 AT&T Intellectual Property 
  * ===================================================================
- * Modifications Copyright (c) 2018 IBM. 
+ * Modifications Copyright (c) 2018 IBM.
+ * Modifications Copyright (c) 2019 Samsung.
  * ===================================================================
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
  * in compliance with the License. You may obtain a copy of the License at
@@ -39,7 +40,6 @@ import org.onap.music.eelf.logging.format.ErrorSeverity;
 import org.onap.music.eelf.logging.format.ErrorTypes;
 import org.onap.music.main.MusicCore;
 import org.onap.music.main.MusicUtil;
-import org.onap.music.service.impl.MusicZKCore;
 
 import com.datastax.driver.core.DataType;
 
@@ -127,6 +127,7 @@ public class ZkStatelessLockService extends ProtocolSupport {
             }
         }catch (InterruptedException e) {
             logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.EXECUTIONINTERRUPTED, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
+            Thread.currentThread().interrupt();
         }catch (KeeperException e) {
             logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.KEEPERERROR, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
         }
@@ -144,6 +145,7 @@ public class ZkStatelessLockService extends ProtocolSupport {
             retryOperation(zop);
         }catch (InterruptedException e) {
             logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.EXECUTIONINTERRUPTED, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
+            Thread.currentThread().interrupt();
         }catch (KeeperException e) {
             logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.KEEPERERROR, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
         }
@@ -303,20 +305,26 @@ public class ZkStatelessLockService extends ProtocolSupport {
                         Stat stat = null;
                         try {
                             stat = zookeeper.exists(id, false);
-                        } catch (KeeperException | InterruptedException e1) {
-                            e1.printStackTrace();
+                        } catch (InterruptedException e) {
+                            logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.EXECUTIONINTERRUPTED, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
+                            Thread.currentThread().interrupt();
+                        } catch (KeeperException e) {
+                            logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.KEEPERERROR, ErrorSeverity.ERROR, ErrorTypes.LOCKINGERROR);
                         }
-                        Long ctime = stat.getCtime();
-                        MusicUtil.zkNodeMap.put(id, ctime);
-                        PreparedQueryObject pQuery = new PreparedQueryObject();
-                        pQuery.appendQueryString(
-                                        "INSERT INTO admin.locks(lock_id, ctime) VALUES (?,?)");
-                        try {
-                            pQuery.addValue(MusicUtil.convertToActualDataType(DataType.text(), id));
-                            pQuery.addValue(MusicUtil.convertToActualDataType(DataType.text(), ctime));
-                            MusicCore.eventualPut(pQuery);
-                        } catch (Exception e) {
-                               e.printStackTrace();
+
+                        if (stat != null){
+                            Long ctime = stat.getCtime();
+                            MusicUtil.zkNodeMap.put(id, ctime);
+                            PreparedQueryObject pQuery = new PreparedQueryObject();
+                            pQuery.appendQueryString(
+                                            "INSERT INTO admin.locks(lock_id, ctime) VALUES (?,?)");
+                            try {
+                                pQuery.addValue(MusicUtil.convertToActualDataType(DataType.text(), id));
+                                pQuery.addValue(MusicUtil.convertToActualDataType(DataType.text(), ctime));
+                                MusicCore.eventualPut(pQuery);
+                            } catch (Exception e) {
+                                logger.error(EELFLoggerDelegate.errorLogger, e.getMessage(),AppMessages.UNKNOWNERROR, ErrorSeverity.ERROR, ErrorTypes.UNKNOWN);
+                            }
                         }
                         break;
                    }