summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-BE-os
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-BE-os')
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/OpenIdConnectLoginStrategy.java11
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/SimpleLoginStrategy.java34
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPLoginController.java37
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPWelcomeController.java15
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/PeerBroadcastSocket.java55
5 files changed, 63 insertions, 89 deletions
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/OpenIdConnectLoginStrategy.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/OpenIdConnectLoginStrategy.java
index 4306d1f8..456f0011 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/OpenIdConnectLoginStrategy.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/OpenIdConnectLoginStrategy.java
@@ -55,12 +55,9 @@ import org.springframework.util.StringUtils;
import org.springframework.web.servlet.ModelAndView;
public class OpenIdConnectLoginStrategy extends org.onap.portalsdk.core.auth.LoginStrategy implements org.onap.portalapp.authentication.LoginStrategy {
-
- private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(OpenIdConnectLoginStrategy.class);
-
+ private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(OpenIdConnectLoginStrategy.class);
private static final String GLOBAL_LOCATION_KEY = "Location";
- @SuppressWarnings("rawtypes")
public boolean login(HttpServletRequest request, HttpServletResponse response) throws Exception{
logger.info("Attempting Login");
@@ -93,7 +90,7 @@ public class OpenIdConnectLoginStrategy extends org.onap.portalsdk.core.auth.Log
String loginUrl = SystemProperties.getProperty(EPSystemProperties.LOGIN_URL_NO_RET_VAL);
logger.info(EELFLoggerDelegate.errorLogger, "Authentication Mechanism: '" + authentication + "'.");
- if (authentication == null || authentication.equals("") || authentication.trim().equals("OIDC")) {
+ if (authentication == null || "".equals(authentication) || "OIDC".equals(authentication.trim())) {
response.sendRedirect("oid-login");
} else {
logger.info(EELFLoggerDelegate.errorLogger, "No cookies are found, redirecting the request to '" + loginUrl + "'.");
@@ -108,10 +105,10 @@ public class OpenIdConnectLoginStrategy extends org.onap.portalsdk.core.auth.Log
}
@Override
- public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
+ public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws PortalAPIException {
String message = "Method not implmented; Cannot be called";
logger.error(EELFLoggerDelegate.errorLogger, message);
- throw new Exception(message);
+ throw new PortalAPIException(message);
}
@Override
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/SimpleLoginStrategy.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/SimpleLoginStrategy.java
index dc3f7601..a5f87908 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/SimpleLoginStrategy.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/authentication/SimpleLoginStrategy.java
@@ -40,6 +40,7 @@ package org.onap.portalapp.authentication;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import lombok.NoArgsConstructor;
import org.onap.portalapp.command.EPLoginBean;
import org.onap.portalapp.portal.service.EPLoginService;
import org.onap.portalapp.portal.service.EPRoleFunctionService;
@@ -54,18 +55,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.ModelAndView;
+@NoArgsConstructor
public class SimpleLoginStrategy extends org.onap.portalsdk.core.auth.LoginStrategy implements LoginStrategy{
-
- @Autowired
+ private static final String GLOBAL_LOCATION_KEY = "Location";
+ private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(SimpleLoginStrategy.class);
+
private EPLoginService loginService;
+ private EPRoleFunctionService ePRoleFunctionService;
@Autowired
- private EPRoleFunctionService ePRoleFunctionService;
-
- private static final String GLOBAL_LOCATION_KEY = "Location";
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(SimpleLoginStrategy.class);
-
+ public SimpleLoginStrategy(EPLoginService loginService,
+ EPRoleFunctionService ePRoleFunctionService) {
+ this.loginService = loginService;
+ this.ePRoleFunctionService = ePRoleFunctionService;
+ }
+
public boolean login(HttpServletRequest request, HttpServletResponse response) throws Exception{
logger.info("Attempting 'Simple' Login");
@@ -79,9 +83,7 @@ public class SimpleLoginStrategy extends org.onap.portalsdk.core.auth.LoginStrat
commandBean = loginService.findUser(commandBean, (String)request.getAttribute(MenuProperties.MENU_PROPERTIES_FILENAME_KEY), null);
// in case authentication has passed but user is not in the ONAP data base, return a Guest User to the home page.
- if (commandBean.getUser() == null) {
- }
- else {
+ if (commandBean.getUser() != null) {
// store the currently logged in user's information in the session
EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), "", ePRoleFunctionService);
logger.info(EELFLoggerDelegate.debugLogger, commandBean.getUser().getOrgUserId() + " exists in the the system.");
@@ -96,15 +98,15 @@ public class SimpleLoginStrategy extends org.onap.portalsdk.core.auth.LoginStrat
String authentication = SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM);
String loginUrl = SystemProperties.getProperty(EPSystemProperties.LOGIN_URL_NO_RET_VAL);
logger.info(EELFLoggerDelegate.errorLogger, "Authentication Mechanism: '" + authentication + "'.");
- if (authentication == null || authentication.equals("") || authentication.trim().equals("BOTH")) {
+ if (authentication == null || authentication.isEmpty() || "BOTH".equals(authentication.trim())) {
logger.info(EELFLoggerDelegate.errorLogger, "No cookies are found, redirecting the request to '" + loginUrl + "'.");
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
- response.setHeader(GLOBAL_LOCATION_KEY, loginUrl); //returnUrl + "/index.htm");
+ response.setHeader(GLOBAL_LOCATION_KEY, loginUrl);
}else {
logger.info(EELFLoggerDelegate.errorLogger, "No cookies are found, redirecting the request to '" + loginUrl + "'.");
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
- response.setHeader(GLOBAL_LOCATION_KEY, loginUrl); //returnUrl + "/index.htm");
+ response.setHeader(GLOBAL_LOCATION_KEY, loginUrl);
}
} catch(Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "login failed", e);
@@ -116,10 +118,10 @@ public class SimpleLoginStrategy extends org.onap.portalsdk.core.auth.LoginStrat
}
@Override
- public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
+ public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws PortalAPIException {
String message = "Method not implmented; Cannot be called";
logger.error(EELFLoggerDelegate.errorLogger, message);
- throw new Exception(message);
+ throw new PortalAPIException(message);
}
@Override
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPLoginController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPLoginController.java
index 1da1d1bb..98cd790f 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPLoginController.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPLoginController.java
@@ -37,12 +37,10 @@
*/
package org.onap.portalapp.controller;
-import java.util.HashMap;
-import java.util.Map;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import lombok.NoArgsConstructor;
import org.onap.portalsdk.core.auth.LoginStrategy;
import org.onap.portalsdk.core.controller.UnRestrictedBaseController;
import org.onap.portalsdk.core.onboarding.listener.PortalTimeoutHandler;
@@ -57,14 +55,20 @@ import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/")
+@NoArgsConstructor
public class ONAPLoginController extends UnRestrictedBaseController {
- @Autowired
- ProfileService service;
- @Autowired
+ private ProfileService service;
private LoginService loginService;
- @Autowired
private LoginStrategy loginStrategy;
- String viewName;
+ private String viewName;
+
+ @Autowired
+ public ONAPLoginController(ProfileService service, LoginService loginService,
+ LoginStrategy loginStrategy) {
+ this.service = service;
+ this.loginService = loginService;
+ this.loginStrategy = loginStrategy;
+ }
@RequestMapping(value = { "/doLogin" }, method = RequestMethod.GET)
public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
@@ -80,14 +84,6 @@ public class ONAPLoginController extends UnRestrictedBaseController {
PortalTimeoutHandler.sessionCreated(jSessionId, jSessionId, AppUtils.getSession(request));
}
- public String getViewName() {
- return viewName;
- }
-
- public void setViewName(String viewName) {
- this.viewName = viewName;
- }
-
public LoginService getLoginService() {
return loginService;
}
@@ -96,4 +92,13 @@ public class ONAPLoginController extends UnRestrictedBaseController {
this.loginService = loginService;
}
+ @Override
+ public String getViewName() {
+ return viewName;
+ }
+
+ @Override
+ public void setViewName(String viewName) {
+ this.viewName = viewName;
+ }
}
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPWelcomeController.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPWelcomeController.java
index 26564a04..4d3c82a2 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPWelcomeController.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/ONAPWelcomeController.java
@@ -44,9 +44,11 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import lombok.NoArgsConstructor;
import org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority;
import org.onap.portalapp.controller.EPRestrictedBaseController;
import org.onap.portalapp.portal.logging.aop.EPAuditLog;
+import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@@ -56,12 +58,11 @@ import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/")
-@org.springframework.context.annotation.Configuration
+@Configuration
@EnableAspectJAutoProxy
@EPAuditLog
+@NoArgsConstructor
public class ONAPWelcomeController extends EPRestrictedBaseController{
- String viewName;
-
@RequestMapping(value = "/index.htm", method = RequestMethod.GET)
public String getIndexPage(HttpServletRequest request) {
return "/index";
@@ -72,14 +73,6 @@ public class ONAPWelcomeController extends EPRestrictedBaseController{
return "forward:/index.html";
}
- protected String getViewName() {
- return viewName;
- }
-
- protected void setViewName(String viewName) {
- this.viewName = viewName;
- }
-
// TODO Need to revisit this as its conflicting with Spring Security; check web.xml's oid-context.xml config
//@Resource(name = "namedAdmins")
private Set<SubjectIssuerGrantedAuthority> admins;
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/PeerBroadcastSocket.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/PeerBroadcastSocket.java
index cbc34337..c80419f9 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/PeerBroadcastSocket.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/controller/PeerBroadcastSocket.java
@@ -39,65 +39,34 @@
*/
package org.onap.portalapp.controller;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
-import java.util.Hashtable;
+import java.util.HashMap;
import java.util.Map;
-
+import java.util.Optional;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
-
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import com.fasterxml.jackson.databind.ObjectMapper;
@ServerEndpoint("/opencontact")
public class PeerBroadcastSocket {
+ private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PeerBroadcastSocket.class);
+ private static final ObjectMapper mapper = new ObjectMapper();
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PeerBroadcastSocket.class);
-
- public final static Map<String, Object> channelMap = new Hashtable<String, Object>();
- public Map<String, String> sessionMap = new Hashtable<String, String>();
- ObjectMapper mapper = new ObjectMapper();
+ protected static final Map<String, Object> channelMap = new HashMap<>();
+ private Map<String, String> sessionMap = new HashMap<>();
@OnMessage
public void message(String message, Session session) {
try {
- // JSONObject jsonObject = new JSONObject(message);
- @SuppressWarnings("unchecked")
Map<String, Object> jsonObject = mapper.readValue(message, Map.class);
- try {
- Object from = jsonObject.get("from");
- if (from != null) {
- if(channelMap.get(from.toString()) == null) {
- channelMap.put(from.toString(), session);
- sessionMap.put(session.getId(), from.toString());
- }
- }
- } catch (Exception je) {
- logger.error(EELFLoggerDelegate.errorLogger, "Failed to read value" + je.getMessage());
- }
-
- try {
- Object to = jsonObject.get("to");
- if (to == null)
- return;
- Object toSessionObj = channelMap.get(to);
- /*if (toSessionObj != null) {
- Session toSession = null;
- toSession = (Session) toSessionObj;
- toSession.getBasicRemote().sendText(message);
- }
-*/
- } catch (Exception ex) {
- logger.error(EELFLoggerDelegate.errorLogger, "Failed to send text" + ex.getMessage());
- }
-
+ save(jsonObject, session);
} catch (Exception ex) {
logger.error(EELFLoggerDelegate.errorLogger, "Failed" + ex.getMessage());
}
-
}
@OnOpen
@@ -122,5 +91,13 @@ public class PeerBroadcastSocket {
logger.info(EELFLoggerDelegate.debugLogger, "Channel closed");
}
+ private void save(Map<String, Object> jsonObject, Session session) {
+ final Optional<String> from = Optional.of(jsonObject.get("from").toString());
+ if (from.isPresent() && channelMap.get(from.get()) == null) {
+ this.channelMap.put(from.toString(), session);
+ this.sessionMap.put(session.getId(), from.toString());
+ }
+ }
+
}