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;
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;
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
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);
}
* @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
}
}
+ // 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().equals(displayText.getTextId())) {
+ menuData.setLabel(displayText.getLabel());
+ break;
+ }
+ }
+ }
+
SortedSet<MenuData> sortMenuSet = new TreeSet<MenuData>(new SortOrderComparator());
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;
for (JSONObject navItemsDetail : jsonObjs)
navItems.put(navItemsDetail);
- sidebarModel.put("label", "ECOMP portal");
+ sidebarModel.put("label", "Portal");
sidebarModel.put("navItems", navItems);
return sidebarModel.toString();
}
* @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;
}
}