LanguageServiceImpl logging vulnerability fix
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / service / LanguageServiceImpl.java
index 13d7097..17b1263 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.onap.portalapp.portal.service;
 
 import com.alibaba.fastjson.JSONObject;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.onap.music.eelf.logging.EELFLoggerDelegate;
 import org.onap.portalapp.portal.domain.EPUser;
 import org.onap.portalapp.portal.domain.Language;
 import org.onap.portalsdk.core.service.DataAccessService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 @Service
 public class LanguageServiceImpl implements LanguageService {
+    private final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(LanguageServiceImpl.class);
+
+    private final DataAccessService dataAccessService;
 
     @Autowired
-    private DataAccessService dataAccessService;
+    public LanguageServiceImpl(DataAccessService dataAccessService) {
+        this.dataAccessService = dataAccessService;
+
+    }
 
+    @SuppressWarnings("unchecked")
     @Override
     public JSONObject getLanguages() {
         List<Language> languages = (List<Language>) dataAccessService.executeNamedQuery("queryLanguage",null,new HashMap());
@@ -41,7 +49,7 @@ public class LanguageServiceImpl implements LanguageService {
     }
 
     @Override
-    public String setUpUserLanguage(Integer languageId, String loginId) throws Exception{
+    public String setUpUserLanguage(Integer languageId, String loginId) {
         Map<String,Object> params = new HashMap<>();
         params.put("login_id",loginId);
         params.put("language_id",languageId);
@@ -49,22 +57,36 @@ public class LanguageServiceImpl implements LanguageService {
         return "success";
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public JSONObject getUserLanguage(String loginId) {
         // get language_id from fn_user by loginId
-        JSONObject result = new com.alibaba.fastjson.JSONObject();
-        HashMap params = new HashMap();
-        params.put("login_id",loginId);
-        
-        EPUser user = (EPUser) dataAccessService.executeNamedQuery("getEPUserByLoginId",params,new HashMap()).get(0);
-        int languageId = user.getLanguageId();
-        HashMap<String,String> params1 = new HashMap();
-        params1.put("language_id", String.valueOf(languageId));
-        Language language = (Language) dataAccessService.executeNamedQuery("queryLanguageByLanguageId",params1,new HashMap());
-               result.put("languageId",languageId);
-               result.put("languageName",language.getLanguageName());
-               result.put("languageAlias",language.getLanguageAlias());
+        JSONObject result = new JSONObject();
+        HashMap getUserParams = new HashMap();
+        getUserParams.put("login_id", loginId);
+        List<EPUser> userList;
+
+        try {
+            userList = dataAccessService.executeNamedQuery("getEPUserByLoginId", getUserParams, new HashMap());
+            if (userList != null && userList.size() > 0) {
+                EPUser user = userList.get(0);
+                int languageId = user.getLanguageId();
+                result.put("languageId", languageId);
+
+                // get language name and alias from fn_language by languageId
+                HashMap<String,String> getLangParams = new HashMap();
+                getLangParams.put("language_id", String.valueOf(languageId));
+                List<Language> languageList;
 
+                languageList = dataAccessService.executeNamedQuery("queryLanguageByLanguageId", getLangParams, new HashMap());
+                if (languageList != null && languageList.size() > 0) {
+                    result.put("languageName", languageList.get(0).getLanguageName());
+                    result.put("languageAlias", languageList.get(0).getLanguageAlias());
+                }
+            }
+        } catch (Exception e) {
+            logger.debug(EELFLoggerDelegate.debugLogger, e.getMessage());
+        }
         return result;
     }
 }