fix for internationalization change for left menu
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / service / EPLeftMenuServiceImpl.java
index 96db8e3..930c4a9 100644 (file)
@@ -55,6 +55,7 @@ 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.portalapp.portal.utils.EPCommonSystemProperties;
 import org.onap.portalsdk.core.domain.MenuData;
 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.onap.portalsdk.core.service.DataAccessService;
@@ -73,17 +74,21 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
 
        private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(EPLeftMenuServiceImpl.class);
 
-       
        @Autowired
        private ExternalAccessRolesService externalAccessRolesService;
        @Autowired
        private DataAccessService dataAccessService;
        
+       public final String appHome = "applicationsHome";
+       public final String appCatalog = "appCatalog";
+       public final String widCatalog = "widgetCatalog";
+       public final String users = "users";
+       
+
        /*
         * (non-Javadoc)
         * 
-        * @see
-        * org.onap.portalapp.portal.service.EPLeftMenuService#getLeftMenuItems
+        * @see org.onap.portalapp.portal.service.EPLeftMenuService#getLeftMenuItems
         * (java.util.Set)
         */
        @Override
@@ -91,8 +96,8 @@ 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);
+               loadNavMapByUserAdminRole(defaultNavMap, user);
+               loadNavMapByRole(defaultNavMap, fullMenuSet, user);
                return convertToSideBarModel(defaultNavMap);
        }
 
@@ -110,7 +115,7 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
         * @param defaultNavMap
         * @param fullMenuSet
         */
-       private void loadNavMapByRole(Map<String, JSONObject> defaultNavMap, Set<MenuData> fullMenuSet , EPUser user) {
+       private void loadNavMapByRole(Map<String, JSONObject> defaultNavMap, Set<MenuData> fullMenuSet, EPUser user) {
 
                class SortOrderComparator implements Comparator<MenuData> {
                        @Override
@@ -119,10 +124,10 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                        }
                }
 
-               //mulitilanguage impl
+               // mulitilanguage impl
                String loginId = user.getLoginId();
                HashMap loginParams = new HashMap();
-               loginParams.put("login_id",loginId);
+               loginParams.put("login_id", loginId);
                List<EPUser> epUsers = dataAccessService.executeNamedQuery("getEPUserByLoginId", loginParams, new HashMap());
                Integer languageId = 1;
                for (EPUser epUser : epUsers) {
@@ -130,13 +135,13 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                }
                Iterator<MenuData> iterator = fullMenuSet.iterator();
                HashMap params = new HashMap();
-               params.put("language_id",languageId);
-               List<DisplayText> displayTexts = dataAccessService.executeNamedQuery("displayText",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++) {
+                       for (int index = 0; index < displayTexts.size(); index++) {
                                DisplayText displayText = displayTexts.get(index);
-                               if (menuData.getId()==displayText.getTextId()) {
+                               if (menuData.getId().equals(displayText.getTextId())) {
                                        menuData.setLabel(displayText.getLabel());
                                        break;
                                }
@@ -147,7 +152,7 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                for (MenuData mn : fullMenuSet) {
                        sortMenuSet.add(mn);
                }
-               
+
                // Remove Roles from left menu if user doesnt have admin access on
                // centralized application
                List<CentralizedApp> applicationsList = null;
@@ -177,7 +182,7 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
                for (JSONObject navItemsDetail : jsonObjs)
                        navItems.put(navItemsDetail);
 
-               sidebarModel.put("label", "ECOMP portal");
+               sidebarModel.put("label", "Portal");
                sidebarModel.put("navItems", navItems);
                return sidebarModel.toString();
        }
@@ -188,40 +193,59 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService {
         * @param defaultNavMap
         */
        private void loadDefaultNavMap(Map<String, JSONObject> defaultNavMap) {
-
+               String leftMenuRootValue = getLeftMenuPrefixValue();
+               
                JSONObject navItemsDetails1 = new JSONObject();
                navItemsDetails1.put("name", "Home");
-               navItemsDetails1.put("state", "root.applicationsHome");
-               navItemsDetails1.put("imageSrc", "icon-building-home");
-               defaultNavMap.put("root.applicationsHome", navItemsDetails1);
+               navItemsDetails1.put("state",leftMenuRootValue+appHome);
+               navItemsDetails1.put("imageSrc", "home");
+               defaultNavMap.put(appHome, navItemsDetails1);
 
                JSONObject navItemsDetails2 = new JSONObject();
                navItemsDetails2.put("name", "Application Catalog");
-               navItemsDetails2.put("state", "root.appCatalog");
-               navItemsDetails2.put("imageSrc", "icon-apps-marketplace");
-               defaultNavMap.put("root.appCatalog", navItemsDetails2);
+               navItemsDetails2.put("state",leftMenuRootValue+appCatalog);
+               navItemsDetails2.put("imageSrc", "apps");
+               defaultNavMap.put(appCatalog, navItemsDetails2);
 
                JSONObject navItemsDetails3 = new JSONObject();
                navItemsDetails3.put("name", "Widget Catalog");
-               navItemsDetails3.put("state", "root.widgetCatalog");
-               navItemsDetails3.put("imageSrc", "icon-apps-marketplace");
-               defaultNavMap.put("root.widgetCatalog", navItemsDetails3);
+               navItemsDetails3.put("state",leftMenuRootValue+widCatalog);
+               navItemsDetails3.put("imageSrc", "apps");
+               defaultNavMap.put(widCatalog, 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);
+               String leftMenuRootValue = getLeftMenuPrefixValue();
+               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",leftMenuRootValue+users);
+                       navItemsDetails.put("imageSrc", "person");
+                       defaultNavMap.put(users, navItemsDetails);
+               }
        }
+
+       protected String getLeftMenuPrefixValue() {
+               String leftMenuRootValue = getLeftMenuValue();
+               if (leftMenuRootValue != null) {
+                       leftMenuRootValue += ".";
+               } else {
+                       leftMenuRootValue = "";
+               }
+               
+               return leftMenuRootValue;
+       
+       }
+
+       String getLeftMenuValue() {
+               return EPCommonSystemProperties.containsProperty(EPCommonSystemProperties.PORTAL_LEFT_MENU) ? EPCommonSystemProperties.getProperty(EPCommonSystemProperties.PORTAL_LEFT_MENU):null;
        }
 
 }