diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-09-07 08:52:41 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-09-07 08:54:52 -0400 |
commit | 8cd208ebaa33627daf05d8ffff7b28e53a7067d0 (patch) | |
tree | 0b07ec3c6305c46f34eae69d8fb6fa824aaae256 /ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java | |
parent | b52d4cebc430a083ec1e6881c4f01dfe709ac726 (diff) |
Adjust code for Sonar issues
Made non-functional updates to address static code analysis issues.
Update license header with simple double-quote characters.
Issue: PORTAL-72, PORTAL-90
Change-Id: Ic2c330daea07d721f0e6b350ebf03da97073f7ce
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java')
-rw-r--r-- | ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java | 192 |
1 files changed, 84 insertions, 108 deletions
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java index 76cb3b8f..f65a07cc 100644 --- a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java +++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/web/socket/WebRTCSocket.java @@ -6,7 +6,7 @@ * =================================================================== * * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the “License”); + * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * @@ -19,7 +19,7 @@ * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * @@ -46,116 +46,92 @@ 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("/webrtc") public class WebRTCSocket { - - - public static Map<String,Hashtable<String,Object[]>> channelMap = new Hashtable<String,Hashtable<String,Object[]>>(); - public Map<String,String> sessionMap = new Hashtable<String,String>(); - ObjectMapper mapper = new ObjectMapper(); - - - @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 isOpen = jsonObject.get("open"); - if(isOpen != null && (Boolean)isOpen == true) { - String channel = (String) jsonObject.get("channel"); + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(WebRTCSocket.class); + + private final static Map<String, Hashtable<String, Object[]>> channelMap = new Hashtable<String, Hashtable<String, Object[]>>(); + private final Map<String, String> sessionMap = new Hashtable<String, String>(); + private final ObjectMapper mapper = new ObjectMapper(); + + @OnMessage + public void message(String message, Session session) { + try { + @SuppressWarnings("unchecked") + Map<String, Object> jsonObject = mapper.readValue(message, Map.class); + try { + Object isOpen = jsonObject.get("open"); + if (isOpen != null && (Boolean) isOpen) { + String channel = (String) jsonObject.get("channel"); Object value = channelMap.get(channel); - Hashtable<String,Object[]> sourceDestMap = null; - if(value == null) - sourceDestMap = new Hashtable<String,Object[]>(); - else - sourceDestMap = (Hashtable<String,Object[]>) value; - - sourceDestMap.put(session.getId(), new Object[]{session}); - channelMap.put(channel, sourceDestMap); - sessionMap.put(session.getId(), channel); - - - } - } - catch (Exception je) { - je.printStackTrace(); - } - - try{ - - Object dataObj = jsonObject.get("data"); - if(dataObj == null) - return; - Map<String,Object> dataMapObj = ( Map<String,Object>)dataObj; - //Object thisUserId = dataMapObj.get("userid"); - String channel = null; - try{ - Object channelObj = dataMapObj.get("sessionid"); - if(channelObj != null) - channel = (String) channelObj; - else - channel = (String) jsonObject.get("channel"); - } - catch(Exception json) { - json.printStackTrace(); - } - - /* - JSONObject dataMapObj = (JSONObject)dataObj; - Object thisUserId = dataMapObj.get("userid"); - String channel = (String) dataMapObj.get("sessionid"); - Hashtable<String,Object> sourceDestMap = sessionMap.get(channel); - - if(thisUserId != null && sourceDestMap.get((String)thisUserId) == null) { - sourceDestMap.put((String)thisUserId, new Object[] {message, session}); - } - - for(String userId : sourceDestMap.keySet()){ - if(!userId.equals(thisUserId)) { - Session otherSession = (Session) ((Object[])sourceDestMap.get(userId))[1]; - otherSession.getBasicRemote().sendText(message); - } - } - */ - - Hashtable<String,Object[]> sourceDestMap = channelMap.get(channel); - if(sourceDestMap != null) - for(String id : sourceDestMap.keySet()){ - if(!id.equals(session.getId())) { - Session otherSession = (Session) ((Object[])sourceDestMap.get(id))[0]; - if(otherSession.isOpen()) - otherSession.getBasicRemote().sendText(mapper.writeValueAsString(dataObj)); - } - - } - } - catch (Exception je) { - je.printStackTrace(); - } - - } - catch (Exception je) { - je.printStackTrace(); - } - //System.out.println("Message received:" + message); - } - - @OnOpen - public void open(Session session) { - // System.out.println("Channel opened"); - } - - @OnClose - public void close(Session session) { - String channel = sessionMap.get(session.getId()); - if (channel != null) { - channelMap.remove(channel); - } - // System.out.println("Channel closed"); - } + Hashtable<String, Object[]> sourceDestMap; + if (value == null) + sourceDestMap = new Hashtable<>(); + else + sourceDestMap = (Hashtable<String, Object[]>) value; + + sourceDestMap.put(session.getId(), new Object[] { session }); + channelMap.put(channel, sourceDestMap); + sessionMap.put(session.getId(), channel); + + } + } catch (Exception je) { + logger.error(EELFLoggerDelegate.errorLogger, "mesage failed", je); + } + + try { + Object dataObj = jsonObject.get("data"); + if (dataObj == null) + return; + Map<String, Object> dataMapObj = (Map<String, Object>) dataObj; + String channel = null; + try { + Object channelObj = dataMapObj.get("sessionid"); + if (channelObj != null) + channel = (String) channelObj; + else + channel = (String) jsonObject.get("channel"); + } catch (Exception json) { + logger.error(EELFLoggerDelegate.errorLogger, "mesage failed", json); + } + + + Hashtable<String, Object[]> sourceDestMap = channelMap.get(channel); + if (sourceDestMap != null) + for (String id : sourceDestMap.keySet()) { + if (!id.equals(session.getId())) { + Session otherSession = (Session) (sourceDestMap.get(id))[0]; + if (otherSession.isOpen()) + otherSession.getBasicRemote().sendText(mapper.writeValueAsString(dataObj)); + } + + } + } catch (Exception je) { + logger.error(EELFLoggerDelegate.errorLogger, "mesage failed", je); + } + + } catch (Exception je) { + logger.error(EELFLoggerDelegate.errorLogger, "mesage failed", je); + } + } + + @OnOpen + public void open(Session session) { + logger.debug(EELFLoggerDelegate.debugLogger, "Session opened {}", session); + } + + @OnClose + public void close(Session session) { + String channel = sessionMap.get(session.getId()); + if (channel != null) { + channelMap.remove(channel); + } + logger.debug(EELFLoggerDelegate.debugLogger, "Channel closed"); + } } |