Reduce number of parameters in constructor
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / service / EPLeftMenuServiceImpl.java
index 243b726..96db8e3 100644 (file)
  *
  * ============LICENSE_END============================================
  *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * 
  */
 package org.onap.portalapp.portal.service;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -49,10 +52,12 @@ import java.util.TreeSet;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.onap.portalapp.portal.domain.CentralizedApp;
+import org.onap.portalapp.portal.domain.DisplayText;
 import org.onap.portalapp.portal.domain.EPUser;
 import org.onap.portalapp.portal.logging.aop.EPMetricsLog;
 import org.onap.portalsdk.core.domain.MenuData;
 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.service.DataAccessService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Service;
@@ -71,6 +76,9 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
        
        @Autowired
        private ExternalAccessRolesService externalAccessRolesService;
+       @Autowired
+       private DataAccessService dataAccessService;
+       
        /*
         * (non-Javadoc)
         * 
@@ -83,6 +91,7 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                final Map<String, JSONObject> defaultNavMap = new LinkedHashMap<String, JSONObject>();
                resetNavMap(defaultNavMap);
                loadDefaultNavMap(defaultNavMap);
+               loadNavMapByUserAdminRole(defaultNavMap,user);
                loadNavMapByRole(defaultNavMap, fullMenuSet , user);
                return convertToSideBarModel(defaultNavMap);
        }
@@ -110,6 +119,30 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                        }
                }
 
+               //mulitilanguage impl
+               String loginId = user.getLoginId();
+               HashMap loginParams = new HashMap();
+               loginParams.put("login_id",loginId);
+               List<EPUser> epUsers = dataAccessService.executeNamedQuery("getEPUserByLoginId", loginParams, new HashMap());
+               Integer languageId = 1;
+               for (EPUser epUser : epUsers) {
+                       languageId = epUser.getLanguageId();
+               }
+               Iterator<MenuData> iterator = fullMenuSet.iterator();
+               HashMap params = new HashMap();
+               params.put("language_id",languageId);
+               List<DisplayText> displayTexts = dataAccessService.executeNamedQuery("displayText",params,new HashMap());
+               while (iterator.hasNext()) {
+                       MenuData menuData = iterator.next();
+                       for (int index = 0;index<displayTexts.size();index++) {
+                               DisplayText displayText = displayTexts.get(index);
+                               if (menuData.getId()==displayText.getTextId()) {
+                                       menuData.setLabel(displayText.getLabel());
+                                       break;
+                               }
+                       }
+               }
+
                SortedSet<MenuData> sortMenuSet = new TreeSet<MenuData>(new SortOrderComparator());
                for (MenuData mn : fullMenuSet) {
                        sortMenuSet.add(mn);
@@ -175,5 +208,20 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                defaultNavMap.put("root.widgetCatalog", navItemsDetails3);
 
        }
+       
+       @SuppressWarnings("unchecked")
+       private void loadNavMapByUserAdminRole(Map<String, JSONObject> defaultNavMap, EPUser user) {
+       List<String> applicationsList = new ArrayList<>();
+       final Map<String, Long> appParams = new HashMap<>();
+       appParams.put("userId", user.getId());
+       applicationsList = dataAccessService.executeNamedQuery("getAprroverRoleFunctionsOfUser", appParams, null);
+       if (applicationsList.size() > 0) {
+       JSONObject navItemsDetails = new JSONObject();
+       navItemsDetails.put("name", "Users");
+       navItemsDetails.put("state", "root.users");
+       navItemsDetails.put("imageSrc", "icon-user");
+       defaultNavMap.put("root.users", navItemsDetails);
+       }
+       }
 
 }