X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fservice%2FEPLeftMenuServiceImpl.java;h=930c4a93a2a96c54c5b0650882dd1eb1e06ffdbf;hb=d8a0539b3dfaa60bd9c809bcf801262b3ce282a4;hp=f661163d556134791acfd8987cc12dd2e0f9f048;hpb=24608a9e1450c409dc3870440d29e91cc3a26bb9;p=portal.git diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPLeftMenuServiceImpl.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPLeftMenuServiceImpl.java index f661163d..930c4a93 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPLeftMenuServiceImpl.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPLeftMenuServiceImpl.java @@ -37,8 +37,11 @@ */ 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,13 @@ 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.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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.stereotype.Service; @@ -68,14 +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 @@ -83,7 +96,8 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService { final Map defaultNavMap = new LinkedHashMap(); resetNavMap(defaultNavMap); loadDefaultNavMap(defaultNavMap); - loadNavMapByRole(defaultNavMap, fullMenuSet , user); + loadNavMapByUserAdminRole(defaultNavMap, user); + loadNavMapByRole(defaultNavMap, fullMenuSet, user); return convertToSideBarModel(defaultNavMap); } @@ -101,7 +115,7 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService { * @param defaultNavMap * @param fullMenuSet */ - private void loadNavMapByRole(Map defaultNavMap, Set fullMenuSet , EPUser user) { + private void loadNavMapByRole(Map defaultNavMap, Set fullMenuSet, EPUser user) { class SortOrderComparator implements Comparator { @Override @@ -110,11 +124,35 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService { } } + // mulitilanguage impl + String loginId = user.getLoginId(); + HashMap loginParams = new HashMap(); + loginParams.put("login_id", loginId); + List epUsers = dataAccessService.executeNamedQuery("getEPUserByLoginId", loginParams, new HashMap()); + Integer languageId = 1; + for (EPUser epUser : epUsers) { + languageId = epUser.getLanguageId(); + } + Iterator iterator = fullMenuSet.iterator(); + HashMap params = new HashMap(); + params.put("language_id", languageId); + List 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().equals(displayText.getTextId())) { + menuData.setLabel(displayText.getLabel()); + break; + } + } + } + SortedSet sortMenuSet = new TreeSet(new SortOrderComparator()); for (MenuData mn : fullMenuSet) { sortMenuSet.add(mn); } - + // Remove Roles from left menu if user doesnt have admin access on // centralized application List applicationsList = null; @@ -144,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(); } @@ -155,25 +193,59 @@ public class EPLeftMenuServiceImpl implements EPLeftMenuService { * @param defaultNavMap */ private void loadDefaultNavMap(Map 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 defaultNavMap, EPUser user) { + String leftMenuRootValue = getLeftMenuPrefixValue(); + List applicationsList = new ArrayList<>(); + final Map 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; } }