From 6beb446925c967aca92f5513adf36c5db77c00d6 Mon Sep 17 00:00:00 2001 From: TATTAVARADA Date: Thu, 27 Apr 2017 07:53:18 -0400 Subject: [PORTAL-7] Rebase This rebasing includes common libraries and common overlays projects abstraction of components Change-Id: Ia1efa4deacdc5701e6205104ac021a6c80ed60ba Signed-off-by: st782s --- .../client/OnBoardingApiServiceImpl.java | 316 --------------------- 1 file changed, 316 deletions(-) delete mode 100644 ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/onboarding/client/OnBoardingApiServiceImpl.java (limited to 'ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/onboarding/client/OnBoardingApiServiceImpl.java') diff --git a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/onboarding/client/OnBoardingApiServiceImpl.java b/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/onboarding/client/OnBoardingApiServiceImpl.java deleted file mode 100644 index 1d71afd6..00000000 --- a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/onboarding/client/OnBoardingApiServiceImpl.java +++ /dev/null @@ -1,316 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.core.onboarding.client; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.SortedSet; -import java.util.TreeSet; - -import javax.servlet.http.HttpServletRequest; - -import org.openecomp.portalsdk.core.domain.Role; -import org.openecomp.portalsdk.core.domain.User; -import org.openecomp.portalsdk.core.domain.UserApp; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.openecomp.portalsdk.core.onboarding.crossapi.IPortalRestAPIService; -import org.openecomp.portalsdk.core.onboarding.crossapi.PortalAPIException; -import org.openecomp.portalsdk.core.onboarding.crossapi.PortalTimeoutHandler; -import org.openecomp.portalsdk.core.restful.domain.EcompRole; -import org.openecomp.portalsdk.core.restful.domain.EcompUser; -import org.openecomp.portalsdk.core.service.RoleService; -import org.openecomp.portalsdk.core.service.UserProfileService; -import org.openecomp.portalsdk.core.service.WebServiceCallService; -import org.openecomp.portalsdk.core.util.JSONUtil; -import org.openecomp.portalsdk.core.util.SystemProperties; -import org.openecomp.portalsdk.core.web.support.UserUtils; -import org.slf4j.MDC; -import org.springframework.context.ApplicationContext; - -/** - * Implements the REST API interface to answer requests made by Portal app about - * users and active sessions. - * - * Since an instance of this class will be instantiated by the OnBoarding - * servlet from the ecompFW library, we cannot use Spring injections here. This - * 'injection' is done indirectly using AppContextManager class. - * - - */ -@SuppressWarnings("rawtypes") -public class OnBoardingApiServiceImpl implements IPortalRestAPIService { - RoleService roleService; - UserProfileService userProfileService; - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(OnBoardingApiServiceImpl.class); - - public OnBoardingApiServiceImpl() { - // Defend against null-pointer exception during server startup - // that was caused by a spurious Spring annotation on this class. - ApplicationContext appContext = AppContextManager.getAppContext(); - if (appContext == null) - throw new RuntimeException("OnBoardingApiServiceImpl ctor failed to get appContext"); - roleService = appContext.getBean(RoleService.class); - userProfileService = appContext.getBean(UserProfileService.class); - } - - private void setCurrentAttributes(User user, EcompUser userJson) { - - user.setEmail(userJson.getEmail()); - user.setFirstName(userJson.getFirstName()); - user.setHrid(userJson.getHrid()); - user.setJobTitle(userJson.getJobTitle()); - user.setLastName(userJson.getLastName()); - user.setLoginId(userJson.getLoginId()); - user.setOrgManagerUserId(userJson.getOrgManagerUserId()); - user.setMiddleInitial(userJson.getMiddleInitial()); - user.setOrgCode(userJson.getOrgCode()); - user.setOrgId(userJson.getOrgId()); - user.setPhone(userJson.getPhone()); - user.setOrgUserId(userJson.getOrgUserId()); - user.setActive(userJson.isActive()); - // user.setRoles(new TreeSet(userJson.getRoles())); - } - - @Override - public void pushUser(EcompUser userJson) throws PortalAPIException { - - if (logger.isDebugEnabled()) - logger.debug(EELFLoggerDelegate.debugLogger, "pushUser was invoked: " + userJson); - User user = new User(); - String response = ""; - try { - // Set input attributes to the object obout to be saved - setCurrentAttributes(user, userJson); - user.setRoles(new TreeSet()); - user.setUserApps(new TreeSet()); - user.setPseudoRoles(new TreeSet()); - userProfileService.saveUser(user); - logger.debug(EELFLoggerDelegate.debugLogger, "push user success."); - response = "push user success."; - response = JSONUtil.convertResponseToJSON(response); - } catch (Exception e) { - response = "OnboardingApiService.pushUser failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } finally { - MDC.remove(SystemProperties.MDC_TIMER); - } - } - - @Override - public void editUser(String loginId, EcompUser userJson) throws PortalAPIException { - - if (logger.isDebugEnabled()) - logger.debug(EELFLoggerDelegate.debugLogger, "OnboardingApi editUser was invoked with loginID " + loginId + ", JSON: " + userJson); - User editUser = new User(); - String response = ""; - try { - setCurrentAttributes(editUser, userJson); - if (editUser.getOrgUserId() != null) { - editUser.setLoginId(editUser.getOrgUserId()); - } - User domainUser = userProfileService.getUserByLoginId(loginId); - if (domainUser != null) - domainUser = JSONUtil.mapToDomainUser(domainUser, editUser); - else - domainUser = editUser; - userProfileService.saveUser(domainUser); - logger.debug(EELFLoggerDelegate.debugLogger, "edit user success."); - response = "edit user success."; - response = JSONUtil.convertResponseToJSON(response); - } catch (Exception e) { - response = "OnboardingApiService.editUser failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } finally { - MDC.remove(SystemProperties.MDC_TIMER); - } - - // return response; - } - - @Override - public EcompUser getUser(String loginId) throws PortalAPIException { - try { - if (logger.isDebugEnabled()) - logger.debug(EELFLoggerDelegate.debugLogger, "## REST API ## loginId: " + loginId); - User user = userProfileService.getUserByLoginId(loginId); - if (user == null) { - logger.info(EELFLoggerDelegate.debugLogger, "User + " + loginId + " doesn't exist"); - return null; - // Unforunately, Portal is not ready to accept proper error - // response yet .. - // commenting throw clauses until portal is ready - // throw new PortalAPIException("User + " + loginId + " doesn't - // exist"); - } else - return UserUtils.convertToEcompUser(user); - } catch (Exception e) { - String response = "OnboardingApiService.getUser failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - return null; - // Unforunately, Portal is not ready to accept proper error response - // yet .. commenting throw clauses until portal is ready - // throw new PortalAPIException(response, e); - } - - } - - @Override - public List getUsers() throws PortalAPIException { - try { - List users = userProfileService.findAllActive(); - List ecompUsers = new ArrayList(); - for (User user : users) - ecompUsers.add(UserUtils.convertToEcompUser(user)); - return ecompUsers; - } catch (Exception e) { - String response = "OnboardingApiService.getUsers failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } - } - - @Override - public List getAvailableRoles() throws PortalAPIException { - try { - List roles = roleService.getActiveRoles(); - List ecompRoles = new ArrayList(); - for (Role role : roles) - ecompRoles.add(UserUtils.convertToEcompRole(role)); - return ecompRoles; - } catch (Exception e) { - String response = "OnboardingApiService.getAvailableRoles failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } - } - - @Override - public void pushUserRole(String loginId, List rolesJson) throws PortalAPIException { - String response = ""; - try { - logger.debug(EELFLoggerDelegate.debugLogger, "## REST API ## loginId: " + loginId); - logger.debug(EELFLoggerDelegate.debugLogger, "## REST API ## rolesJson: " + rolesJson); - User user = userProfileService.getUserByLoginId(loginId); - /* - * List ecompRoles = mapper.readValue(rolesJson, - * TypeFactory.defaultInstance().constructCollectionType(List.class, - * EcompRole.class)); - */ - SortedSet roles = new TreeSet(); - for (EcompRole role : rolesJson) { - roles.add(roleService.getRole(role.getId())); - } - // Replace existing roles with new ones - replaceExistingRoles(roles, user); - - logger.debug(EELFLoggerDelegate.debugLogger, "push user role success."); - response = "push user role success."; - response = JSONUtil.convertResponseToJSON(response); - - } catch (Exception e) { - response = "OnboardingApiService.pushUserRole failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } finally { - MDC.remove(SystemProperties.MDC_TIMER); - } - - } - - @Override - public List getUserRoles(String loginId) throws PortalAPIException { - if (logger.isDebugEnabled()) - logger.debug(EELFLoggerDelegate.debugLogger, "## REST API ## loginId: " + loginId); - List ecompRoles = new ArrayList(); - try { - User user = userProfileService.getUserByLoginId(loginId); - SortedSet currentRoles = null; - if (user != null) { - currentRoles = user.getRoles(); - if (currentRoles != null) - for (Role role : currentRoles) - ecompRoles.add(UserUtils.convertToEcompRole(role)); - } - return ecompRoles; - } catch (Exception e) { - String response = "OnboardingApiService.getUserRoles failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } - } - - @SuppressWarnings("unchecked") - private void replaceExistingRoles(SortedSet roles, User user) { - // 1. remove existing roles - Set userApps = user.getUserApps(); - Iterator appsItr = userApps.iterator(); - while (appsItr.hasNext()) { - UserApp tempUserApp = (UserApp) appsItr.next(); - boolean roleFound = false; - for (Role role : roles) { - if (tempUserApp.getRole().getId().equals(role.getId())) { - roleFound = true; - break; - } - } - if (!roleFound) - appsItr.remove(); - } - user.setUserApps(userApps); - userProfileService.saveUser(user); - - // 2. add new roles - user.setRoles(roles); - userProfileService.saveUser(user); - } - - @Override - public boolean isAppAuthenticated(HttpServletRequest request) throws PortalAPIException { - WebServiceCallService securityService = AppContextManager.getAppContext().getBean(WebServiceCallService.class); - try { - String appUser = request.getHeader("username"); - String password = request.getHeader("password"); - // System.out.println("username = " + appUser); - // System.out.println("password = " + password); - boolean flag = securityService.verifyRESTCredential(null, appUser, password); - // System.out.println("username = " + appUser); - // System.out.println("password = " + password); - return flag; - - } catch (Exception e) { - String response = "OnboardingApiService.isAppAuthenticated failed"; - logger.error(EELFLoggerDelegate.errorLogger, response, e); - throw new PortalAPIException(response, e); - } - } - - public String getSessionTimeOuts() throws Exception { - return PortalTimeoutHandler.gatherSessionExtensions(); - } - - public void updateSessionTimeOuts(String sessionMap) throws Exception { - PortalTimeoutHandler.updateSessionExtensions(sessionMap); - } -} -- cgit 1.2.3-korg