Fix sql injection vulnerability
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / service / LanguageServiceImpl.java
1 /**
2  * Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.portalapp.portal.service;
17
18 import com.alibaba.fastjson.JSONObject;
19 import org.onap.portalapp.portal.domain.EPUser;
20 import org.onap.portalapp.portal.domain.Language;
21 import org.onap.portalsdk.core.service.DataAccessService;
22 import org.springframework.beans.factory.annotation.Autowired;
23 import org.springframework.stereotype.Service;
24
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
28
29 @Service
30 public class LanguageServiceImpl implements LanguageService {
31
32     @Autowired
33     private DataAccessService dataAccessService;
34
35     @Override
36     public JSONObject getLanguages() {
37         List<Language> languages = (List<Language>) dataAccessService.executeNamedQuery("queryLanguage",null,new HashMap());
38         JSONObject result = new JSONObject();
39         result.put("languageList",languages);
40         return result;
41     }
42
43     @Override
44     public String setUpUserLanguage(Integer languageId, String loginId) throws Exception{
45         Map<String,Object> params = new HashMap<>();
46         params.put("login_id",loginId);
47         params.put("language_id",languageId);
48         dataAccessService.executeNamedQuery("updateFnUser",params,new HashMap());
49         return "success";
50     }
51
52     @Override
53     public JSONObject getUserLanguage(String loginId) {
54         // get language_id from fn_user by loginId
55         JSONObject result = new com.alibaba.fastjson.JSONObject();
56         HashMap params = new HashMap();
57         params.put("login_id",loginId);
58
59         List<EPUser> list = null;
60         list = dataAccessService.executeNamedQuery("getEPUserByLoginId",params,new HashMap());
61         for (EPUser user : list) {
62             int languageId = user.getLanguageId();
63             HashMap<String,String> params1 = new HashMap();
64             params1.put("language_id", String.valueOf(languageId));
65             List<Language> languages = dataAccessService.executeNamedQuery("queryLanguageByLanguageId",params1,new HashMap());
66             for (Language language : languages) {
67                 result.put("languageId",languageId);
68                 result.put("languageName",language.getLanguageName());
69                 result.put("languageAlias",language.getLanguageAlias());
70             }
71             return result;
72         }
73         return null;
74     }
75 }