Example usage for org.springframework.web.socket WebSocketSession equals

List of usage examples for org.springframework.web.socket WebSocketSession equals

Introduction

In this page you can find the example usage for org.springframework.web.socket WebSocketSession equals.

Prototype

public boolean equals(Object obj) 

Source Link

Document

Indicates whether some other object is "equal to" this one.

Usage

From source file:virnet.experiment.webSocket.hndler.MainSystemWebSocketHandler.java

@Override
public void handleMessage(WebSocketSession wss, WebSocketMessage<?> wsm) throws Exception {
    String message = wsm.getPayload().toString();
    System.out.println("message:" + message);
    //json ?/*  w  ww  .j  a v a2  s.c  om*/
    JSONObject jsonString = JSONObject.fromObject(message);

    //??
    if (jsonString.getString("flag").equals("arrange")) {
        String arrangeStatus = jsonString.getString("arrangeStatus");

        if (arrangeStatus.equals("true")) {
            userGroupMap.put(wss, userGroupMapPro.get(wss)); //?map
            queueingLogic(1, jsonString); //
            //endPointQueueingLogic(4,3,jsonString)
        }
    }
    //????
    if (jsonString.getString("flag").equals("experiment")) {
        //???
        if (jsonString.getString("type").equals("requestEquipment")) {
            //Id?
            String expId = jsonString.getString("expId");
            CabinetTempletDeviceInfoCDAO ctdDAO = new CabinetTempletDeviceInfoCDAO();

            //?
            Integer equipmentNumber = ctdDAO.equipmentNumber(expId);

            //??##?????(RT##SW2##SW2#SW3#PC##PC)
            String name_Str = ctdDAO.equipment(expId);

            //
            TaskInfoCDAO tcDAO = new TaskInfoCDAO();
            Integer taskNum = tcDAO.taskNum(expId);

            jsonString.put("equipmentNumber", "" + equipmentNumber);
            jsonString.put("equipmentName", name_Str);
            jsonString.put("expTaskNum", "" + taskNum);
            String mess = jsonString.toString();
            wss.sendMessage(new TextMessage(mess));
        }

        //??
        if (jsonString.getString("experimentStatus").equals("start")) {
            JSONObject ss = jsonString;

            cc++;
            if (cc == 1) {
                /*??*/
                String cabinet_num = "";
                //??##?????(RT##SW2##SW2#SW3#PC##PC)
                String expId = jsonString.getString("expId");
                CabinetTempletDeviceInfoCDAO ctdDAO = new CabinetTempletDeviceInfoCDAO();
                String name_Str = ctdDAO.equipment(expId);
                String duration = "90"; //?(90)
                long start = System.currentTimeMillis();
                ResourceAllocate resourceAllocate = new ResourceAllocate(name_Str, duration);
                if (resourceAllocate.allocate()) {
                    cabinet_num = resourceAllocate.getCabinetNum(); //?
                    String num_str = resourceAllocate.getNumStr(); //??
                    String port_str = resourceAllocate.getPortInfoStr();//??????(1@2@3@4@5@6##1@2@3@4@6##1##1@2@3@4@5@6##1@2@3@4@5@6)
                    //experimentInit.setCabinet_num(cabinet_num);   //??*/

                    //??
                    jsonString.put("type", "sendEquipment");
                    jsonString.put("equipmentName", name_Str);
                    jsonString.put("equipmentNumStr", num_str);
                    jsonString.put("equipmentPortStr", port_str);
                    jsonString.put("cabinet_num", cabinet_num);
                    sendToGroup(wss, jsonString);
                    System.out.println("?" + cabinet_num);
                    System.out.println("??" + num_str);
                    //System.out.println(port_str);
                } else {
                    System.out.println("false!");
                    System.out.println(resourceAllocate.getReturnDetail());
                }
                long end = System.currentTimeMillis();
                System.out.println("??" + (end - start) + "ms");

                //?map
                MapEquipment.put(userMap.get(wss), cabinet_num);

                jsonString.put("experimentStatus", "");

                //??

                //??
                String leftNUM_Str = "";
                String rightNUM_Str = "";
                String leftport_Str = "";
                String rightport_Str = "";
                String position = "";

                //              String expId = jsonString.getString("expId");
                ExpTopoDAO tDAO = new ExpTopoDAO();
                String para[] = { "expId", expId, "expTaskOrder", "0" };
                ExpTopo topo = (ExpTopo) tDAO.getByNProperty(para);
                //??
                if (topo == null) {
                    //??
                    ExpTopoPositionCDAO tpDAO = new ExpTopoPositionCDAO();
                    //?????
                    position = tpDAO.defaultPosition(name_Str);
                    ss.put("position", position);
                    ss.put("type", "equipConnectionInfo");
                    String mess1 = ss.toString();
                    //???
                    wss.sendMessage(new TextMessage(mess1));

                }
                //?
                else {

                    //????Id
                    ExpTopoPositionCDAO tpDAO = new ExpTopoPositionCDAO();
                    position = tpDAO.position(topo.getExpTopoId());

                    ExpConnectCDAO ctDAO = new ExpConnectCDAO();
                    String connectInfo = ctDAO.connectInfo(topo.getExpTopoId());

                    String connect[] = connectInfo.split(",");
                    //
                    leftNUM_Str = connect[0];
                    //?
                    rightNUM_Str = connect[1];
                    //?
                    leftport_Str = connect[2];
                    //??
                    rightport_Str = connect[3];

                    ss.put("position", position);
                    ss.put("leftNUM_Str", leftNUM_Str);
                    ss.put("rightNUM_Str", rightNUM_Str);
                    ss.put("leftport_Str", leftport_Str);
                    ss.put("rightport_Str", rightport_Str);

                    ss.put("type", "equipConnectionInfo");
                    String mess1 = ss.toString();
                    wss.sendMessage(new TextMessage(mess1));
                }
            }
        }

        //Jtopu???
        if (jsonString.getString("type").equals("topoedit")) {

            JSONObject ss = jsonString;

            long start = System.currentTimeMillis();
            String cabinet_NUM = MapEquipment.get(userMap.get(wss)); //?       
            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?
            System.out.println("leftNUM_Str:" + leftNUM_Str + "----rightNUM_Str:" + rightNUM_Str
                    + "----leftport_Str:" + leftport_Str + "----rightport_Str:" + rightport_Str);
            NTCEdit ntcEdit = new NTCEdit(cabinet_NUM, leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
            if (ntcEdit.edit()) {
                String connection_str = leftNUM_Str + "%%" + rightNUM_Str + "%%" + leftNUM_Str + "%%"
                        + rightport_Str;
                System.out.println(connection_str);
                jsonString.put("success", true);
            } else {
                jsonString.put("success", false);
                System.out.println("false!");
                System.out.println(ntcEdit.getReturnDetail());
            }
            long end = System.currentTimeMillis();
            System.out.println("" + (end - start) + "ms");
            String mess1 = jsonString.toString();
            wss.sendMessage(new TextMessage(mess1));

            ss.put("type", "equipConnectionInfo");
            String mess2 = ss.toString();
            String groupid = userMap.get(wss);
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid)) && (!user.equals(wss))) {
                        System.out.println(user.equals(wss));
                        user.sendMessage(new TextMessage(mess2));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //??0?
        if (jsonString.getString("type").equals("topoSaveToDatabase")) {

            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?
            String position = jsonString.getString("position"); //? XY???
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String expCaseId = jsonString.getString("expCaseId");
            String expRole = jsonString.getString("expRole");

            //?
            if (expRole.equals("stu")) {

                //
                ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                if (resultTaskId != 0) {
                    ResultTopoCDAO rtcDAO = new ResultTopoCDAO();
                    Integer resultTopoId = rtcDAO.edit(resultTaskId, leftNUM_Str);

                    if (resultTopoId != 0) {

                        //
                        ResultConnectCDAO rcCDAO = new ResultConnectCDAO();
                        boolean connectSuccess = rcCDAO.edit(resultTopoId, leftNUM_Str, rightNUM_Str,
                                leftport_Str, rightport_Str);

                        //?
                        ResultTopoPositionCDAO rtpcDAO = new ResultTopoPositionCDAO();
                        boolean positionSuccess = rtpcDAO.edit(resultTopoId, position);

                        if (connectSuccess && positionSuccess)
                            jsonString.put("success", true);
                        else
                            jsonString.put("success", false);
                    } else
                        jsonString.put("success", false);
                } else
                    jsonString.put("success", false);
            }

            //???
            else if (expRole.equals("GM")) {

                //?
                ExpTopoCDAO tcDAO = new ExpTopoCDAO();
                Integer ExpTopoId = tcDAO.edit(expId, expTaskOrder, leftNUM_Str);
                if (ExpTopoId != 0) {
                    //?
                    ExpConnectCDAO cCDAO = new ExpConnectCDAO();
                    boolean connectSuccess = cCDAO.edit(ExpTopoId, leftNUM_Str, rightNUM_Str, leftport_Str,
                            rightport_Str);

                    //??
                    ExpTopoPositionCDAO tpCDAO = new ExpTopoPositionCDAO();
                    boolean positionSuccess = tpCDAO.edit(ExpTopoId, position);

                    if (connectSuccess && positionSuccess)
                        jsonString.put("success", true);
                    else
                        jsonString.put("success", false);
                } else {
                    System.out.println("false");
                    jsonString.put("success", false);
                }
            } else
                jsonString.put("success", false);

            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }

        //?
        if (jsonString.getString("type").equals("command")) {
            JSONObject ss = jsonString;
            String equipmentNumber = jsonString.getString("inputEquipmentNumber");
            String commandDetail = jsonString.getString("content");
            String[] sourceStrArray = jsonString.getString("equipmentName").split("##");
            if (sourceStrArray[Integer.parseInt(jsonString.getString("inputEquipmentNumber"))].equals("PC")) {

                String groupid = userMap.get(wss);
                ss.put("content", "Administrator:/>" + commandDetail + "\n");
                String mess1 = ss.toString();
                for (WebSocketSession user : expUsers) {
                    try {
                        if (user.isOpen() && (userMap.get(user).equals(groupid))) {
                            user.sendMessage(new TextMessage(mess1));
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                pcCommandConfigure(equipmentNumber, commandDetail, wss);
            } else {
                FacilityCommandConfigure(equipmentNumber, commandDetail, wss);
            }
        }

        //???
        if (jsonString.getString("type").equals("communication")) {
            String groupid = userMap.get(wss);
            String mess = jsonString.toString();
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid))) {
                        user.sendMessage(new TextMessage(mess));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        //?
        if (jsonString.getString("type").equals("lock")) {
            String[] sourceStrArray = jsonString.getString("equipmentName").split("##");
            if (sourceStrArray[Integer.parseInt(jsonString.getString("inputEquipmentNumber"))].equals("PC")) {
                if (jsonString.getString("lock").equals("lock")) {
                    pcInitial(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
                if (jsonString.getString("lock").equals("unlock")) {
                    pcCancel(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
            } else {
                if (jsonString.getString("lock").equals("lock")) {
                    FacilityInitial(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
                if (jsonString.getString("lock").equals("unlock")) {
                    FacilityCancel(jsonString.getString("inputEquipmentNumber"), wss, jsonString);
                }
            }
            String groupid = userMap.get(wss);
            String mess = jsonString.toString();
            for (WebSocketSession user : expUsers) {
                try {
                    if (user.isOpen() && (userMap.get(user).equals(groupid) && (!user.equals(wss)))) {
                        user.sendMessage(new TextMessage(mess));
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //??
        if (jsonString.getString("type").equals("saveConfigureFile")) {
            String cabinet_num = jsonString.getString("cabinet_num");
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String equipmentNumber = jsonString.getString("equipmentNumber");
            String expRole = jsonString.getString("expRole");

            boolean success = false;
            //?
            if (expRole.equals("stu")) {

                String expCaseId = jsonString.getString("expCaseId");
                ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                ExperimentSave es = new ExperimentSave(cabinet_num, expId, expTaskOrder, equipmentNumber,
                        expRole, resultTaskId);
                success = es.save();

            }
            //??
            else if (expRole.equals("GM")) {

                //??????
                ExperimentSave es = new ExperimentSave(cabinet_num, expId, expTaskOrder, equipmentNumber,
                        expRole, 0);
                success = es.save();
            } else {
                success = false;
            }

            jsonString.put("success", success);
            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }
        //ping?
        if (jsonString.getString("type").equals("pingVerify")) {

            boolean success = true;

            String cabinet_num = jsonString.getString("cabinet_num");
            String expId = jsonString.getString("expId");
            String expTaskOrder = jsonString.getString("expTaskOrder");
            String equipmentNumber = jsonString.getString("equipmentNumber");

            String leftNUM_Str = jsonString.getString("leftNUM_Str"); //??##?
            String rightNUM_Str = jsonString.getString("rightNUM_Str"); //???##?
            String leftport_Str = jsonString.getString("leftport_Str"); //???##?
            String rightport_Str = jsonString.getString("rightport_Str"); //????##?

            String expRole = jsonString.getString("expRole");

            //???ip?
            PCConfigureInfo pcInfo = new PCConfigureInfo(cabinet_num, Integer.parseInt(equipmentNumber));
            //??
            String[] pcip = pcInfo.getIpAddress();
            if (pcip[0].equals("fail"))
                //??
                success = false;
            else {
                //?
                PingVerify pv = new PingVerify(cabinet_num, Integer.parseInt(equipmentNumber));
                String verifyResult[] = pv.getVerifyResult(pcip);

                if (verifyResult[0].equals("fail"))
                    //?
                    success = false;
                else {

                    Integer VerifyId = 0;

                    if (expRole.equals("GM")) { //?
                        //??
                        ExpVerifyCDAO vcDAO = new ExpVerifyCDAO();
                        VerifyId = vcDAO.edit(expId, expTaskOrder);

                        if (VerifyId == 0)
                            //?
                            success = false;
                        else {
                            //?ping?
                            ExpVerifyPingCDAO vpCDAO = new ExpVerifyPingCDAO();
                            vpCDAO.delete(VerifyId);

                            boolean write = vpCDAO.edit(VerifyId, equipmentNumber, pcip, verifyResult,
                                    leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
                            if (write)
                                success = true;
                            else
                                success = false;
                        }
                    }

                    else if (expRole.equals("stu")) { //

                        //?ID
                        String expCaseId = jsonString.getString("expCaseId");
                        ResultTaskCDAO taskcDAO = new ResultTaskCDAO();
                        Integer resultTaskId = taskcDAO.getResultTaskId(expCaseId, expId, expTaskOrder);

                        //?
                        ResultVerifyCDAO rvcDAO = new ResultVerifyCDAO();
                        VerifyId = rvcDAO.edit(resultTaskId);

                        if (VerifyId == 0)
                            //?
                            success = false;
                        else {
                            //?ping?
                            ResultVerifyPingCDAO rvpCDAO = new ResultVerifyPingCDAO();
                            rvpCDAO.delete(VerifyId);

                            boolean write = rvpCDAO.edit(VerifyId, equipmentNumber, pcip, verifyResult,
                                    leftNUM_Str, rightNUM_Str, leftport_Str, rightport_Str);
                            if (write)
                                success = true;
                            else
                                success = false;
                        }
                    } else
                        success = false;

                }
            }
            jsonString.put("success", success);
            String mess = jsonString.toString();
            //???
            wss.sendMessage(new TextMessage(mess));
        }
        //?
        if (jsonString.getString("type").equals("release")) {
            releaseEquipment(wss, jsonString);
        }
    }

}