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

liuxun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git


The following commit(s) were added to refs/heads/master by this push:
     new 14a6b1d  SUBMARINE-284. Method invocation `SqlSession#close` may 
produce NPE
14a6b1d is described below

commit 14a6b1da6c9e9f32a0a9a3b6fa339d39f5ecc8c9
Author: Ryan Lo <lowc1...@gmail.com>
AuthorDate: Thu Nov 7 21:16:01 2019 +0800

    SUBMARINE-284. Method invocation `SqlSession#close` may produce NPE
    
    ### What is this PR for?
    fix bug "Method invocation `SqlSession#close` may produce NPE"
    
    ### What type of PR is it?
    [Bug Fix]
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    [SUBMARINE-284](https://issues.apache.org/jira/browse/SUBMARINE-284)
    
    ### How should this be tested?
    [CI](https://travis-ci.org/lowc1012/submarine/builds/608653118)
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? No
    
    Author: Ryan Lo <lowc1...@gmail.com>
    
    Closes #85 from lowc1012/SUBMARINE-284 and squashes the following commits:
    
    caac99c [Ryan Lo] SUBMARINE-284. remove extra whitespace
    b31fafa [Ryan Lo] SUBMARINE-284. Method invocation `SqlSession#close` may 
produce NPE in workbench REST API
---
 .../org/apache/submarine/rest/LoginRestApi.java    |  6 +--
 .../org/apache/submarine/rest/SysDeptRestApi.java  | 51 +++++-----------------
 .../org/apache/submarine/rest/SysDictRestApi.java  |  6 +--
 3 files changed, 13 insertions(+), 50 deletions(-)

diff --git 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/LoginRestApi.java
 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/LoginRestApi.java
index b6d3e2e..df21f29 100644
--- 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/LoginRestApi.java
+++ 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/LoginRestApi.java
@@ -56,16 +56,12 @@ public class LoginRestApi {
         = gson.fromJson(loginParams, new TypeToken<HashMap<String, String>>() 
{}.getType());
 
     SysUser sysUser = null;
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysUserMapper sysUserMapper = sqlSession.getMapper(SysUserMapper.class);
       sysUser = sysUserMapper.login(mapParams);
     } catch (Exception e) {
       LOG.error(e.getMessage(), e);
       return new 
JsonResponse.Builder<>(Response.Status.OK).success(false).build();
-    } finally {
-      sqlSession.close();
     }
     sysUser.setToken("mock_token");
 
diff --git 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDeptRestApi.java
 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDeptRestApi.java
index 5f10be1..f24954b 100644
--- 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDeptRestApi.java
+++ 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDeptRestApi.java
@@ -70,9 +70,8 @@ public class SysDeptRestApi {
     LOG.info("SysDeptRestApi.tree()");
 
     List<SysDept> sysDeptList = null;
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       Map<String, Object> where = new HashMap<>();
       where.put("deptCode", likeDeptCode);
@@ -81,8 +80,6 @@ public class SysDeptRestApi {
     } catch (Exception e) {
       LOG.error(e.getMessage(), e);
       return new 
JsonResponse.Builder<>(Response.Status.OK).success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     List<SysDeptSelect> sysDeptSelects = new ArrayList<>();
@@ -115,9 +112,7 @@ public class SysDeptRestApi {
     LOG.info("queryIdTree({})", disableDeptCode);
 
     List<SysDeptSelect> sysDeptSelects = new ArrayList<>();
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       List<SysDept> sysDeptList = sysDeptMapper.selectAll(new HashMap<>());
 
@@ -129,8 +124,6 @@ public class SysDeptRestApi {
     } catch (Exception e) {
       LOG.error(e.getMessage(), e);
       return new 
JsonResponse.Builder<>(Response.Status.OK).success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new 
JsonResponse.Builder<ListResult<List<SysDeptSelect>>>(Response.Status.OK)
@@ -143,9 +136,7 @@ public class SysDeptRestApi {
   public Response add(SysDept sysDept) {
     LOG.info("add({})", sysDept.toString());
 
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       sysDeptMapper.add(sysDept);
       sqlSession.commit();
@@ -153,8 +144,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK).success(false)
           .message("Save department failed!").build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<SysDept>(Response.Status.OK)
@@ -166,9 +155,7 @@ public class SysDeptRestApi {
   @SubmarineApi
   public Response edit(SysDept sysDept) {
     LOG.info("edit({})", sysDept.toString());
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
 
       SysDept dept = sysDeptMapper.getById(sysDept.getId());
@@ -182,8 +169,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message("Update department failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK).success(true)
@@ -195,9 +180,7 @@ public class SysDeptRestApi {
   @SubmarineApi
   public Response resetParentDept() {
     LOG.info("resetParentDept()");
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       sysDeptMapper.resetDeptLevel();
       sqlSession.commit();
@@ -205,8 +188,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message("Reset department level failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK).success(true)
@@ -223,9 +204,8 @@ public class SysDeptRestApi {
       msgOperation = "Restore";
     }
 
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
 
       SysDept dept = new SysDept();
@@ -237,8 +217,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message(msgOperation + " department 
failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK)
@@ -250,9 +228,7 @@ public class SysDeptRestApi {
   @SubmarineApi
   public Response deleteBatch(@QueryParam("ids") String ids) {
     LOG.info("deleteBatch({})", ids.toString());
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       sysDeptMapper.deleteBatch(Arrays.asList(ids.split(",")));
       sqlSession.commit();
@@ -260,8 +236,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message("Batch delete department failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK)
@@ -273,9 +247,8 @@ public class SysDeptRestApi {
   @SubmarineApi
   public Response remove(String id) {
     LOG.info("remove({})", id);
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDeptMapper sysDeptMapper = sqlSession.getMapper(SysDeptMapper.class);
       sysDeptMapper.deleteById(id);
       sqlSession.commit();
@@ -283,8 +256,6 @@ public class SysDeptRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message("Delete department failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK)
diff --git 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDictRestApi.java
 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDictRestApi.java
index cb2afaa..1217ae7 100644
--- 
a/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDictRestApi.java
+++ 
b/submarine-workbench/workbench-server/src/main/java/org/apache/submarine/rest/SysDictRestApi.java
@@ -122,9 +122,7 @@ public class SysDictRestApi {
   @Path("/edit")
   @SubmarineApi
   public Response edit(SysDict sysDict) {
-    SqlSession sqlSession = null;
-    try {
-      sqlSession = MyBatisUtil.getSqlSession();
+    try (SqlSession sqlSession = MyBatisUtil.getSqlSession()) {
       SysDictMapper sysDictMapper = sqlSession.getMapper(SysDictMapper.class);
       SysDict dict = sysDictMapper.getById(sysDict.getId());
       if (dict == null) {
@@ -137,8 +135,6 @@ public class SysDictRestApi {
       LOG.error(e.getMessage(), e);
       return new JsonResponse.Builder<>(Response.Status.OK)
           .message("Update dictionary failed!").success(false).build();
-    } finally {
-      sqlSession.close();
     }
 
     return new JsonResponse.Builder<>(Response.Status.OK)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@submarine.apache.org
For additional commands, e-mail: dev-h...@submarine.apache.org

Reply via email to