Package edu.drexel.cs544.mcmuc.channels

Examples of edu.drexel.cs544.mcmuc.channels.Controller


        if (actionString.equalsIgnoreCase(Message.action)) {
            action = new Message(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(Presence.action)) {
            try {
                action = new Presence(jo);
                action.process(this);
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else if (actionString.equalsIgnoreCase(PollPresence.action)) {
View Full Code Here


                } else if (command.getCommand() == CLICommand.Command.USEROOM) {
                    controller.useRoom(command.getArg(1), command.getArg(0));
                } else if (command.getCommand() == CLICommand.Command.LEAVEROOM) {
                    controller.leaveRoom(command.getArg(0));
                } else if (command.getCommand() == CLICommand.Command.PRESENCE) {
                    Status s;
                    if (command.getArg(1).equalsIgnoreCase("Online"))
                        s = Status.Online;
                    else if (command.getArg(1).equalsIgnoreCase("Offline"))
                        s = Status.Offline;
                    else {
View Full Code Here

            action.process(this);
        } else if (actionString.equalsIgnoreCase(Timeout.action)) {
            action = new Timeout(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(Preserve.action)) {
            action = new Preserve(jo);
            action.process(this);
        } else {
            System.err.println("Message action type not supported: " + actionString);
        }
    }
View Full Code Here

            action.process(this);
        } else if (actionString.equalsIgnoreCase(ListRooms.action)) {
            action = new ListRooms(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(Timeout.action)) {
            action = new Timeout(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(Preserve.action)) {
            action = new Preserve(jo);
            action.process(this);
        } else {
View Full Code Here

     * When the primary timer for a room expires, and the client is not actively using the room,
     * send a Timeout action on the control channel for the room.
     */
    public void run() {
        Controller controller = Controller.getInstance();
        Timeout timeout = new Timeout(Arrays.asList(port));
        controller.send(timeout);
        startSecondaryTimer();
    }
View Full Code Here

        } catch (JSONException e) {
            System.err.println("Message does not have action.");
            e.printStackTrace();
        }
        if (actionString.equalsIgnoreCase(UseRooms.action)) {
            action = new UseRooms(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(ListRooms.action)) {
            action = new ListRooms(jo);
            action.process(this);
        } else if (actionString.equalsIgnoreCase(Timeout.action)) {
View Full Code Here

            Forwarder oldChannel = (Forwarder) channels.put(room.getPort(), room);
            if (oldChannel != null) {
                oldChannel.shutdown();
            }
            roomNames.put(roomName, room.getPort());
            this.send(new UseRooms(Arrays.asList(room.getPort())));
            this.alert("Created new room: \"" + roomName + "\" with user \"" + userName + "\"");
        }
    }
View Full Code Here

                channel = c;
                message = m;
            }

            public void run() {
                Controller controller = Controller.getInstance();
                for (int room : message.getRooms()) {
                    controller.useRoom(room);
                }
                channel.send(message);
            }
        }
        Thread t = new Thread(new Runner(this, channel));
View Full Code Here

                channel = c;
                message = m;
            }

            public void run() {
                Controller controller = Controller.getInstance();
                for (int room : message.getRooms()) {
                    controller.useRoom(room);
                }
                channel.send(message);
            }
View Full Code Here

    public static void main(String[] args) {

        CLI cli = new CLI();
        cli.start();

        Controller controller = Controller.getInstance();
        controller.setUI(cli);

        while (true) {
            try {
                CLICommand command = cli.getNextCommand();
                if (command.getCommand() == CLICommand.Command.EXIT) { // Stop and kill this program
                    System.err.println("Exit command received, shutting down...");
                    controller.shutdown();
                    System.exit(0);
                } else if (command.getCommand() == CLICommand.Command.USEROOM) {
                    controller.useRoom(command.getArg(1), command.getArg(0));
                } else if (command.getCommand() == CLICommand.Command.LEAVEROOM) {
                    controller.leaveRoom(command.getArg(0));
                } else if (command.getCommand() == CLICommand.Command.PRESENCE) {
                    Status s;
                    if (command.getArg(1).equalsIgnoreCase("Online"))
                        s = Status.Online;
                    else if (command.getArg(1).equalsIgnoreCase("Offline"))
                        s = Status.Offline;
                    else {
                        System.err.println("Unknown status");
                        continue;
                    }
                    controller.setRoomStatus(command.getArg(0), s);
                } else if (command.getCommand() == CLICommand.Command.MESSAGE) {
                    controller.messageRoom(command.getArg(0), new Message(controller.getUserName(command.getArg(0)), command.getArg(1)));
                } else if (command.getCommand() == CLICommand.Command.PVTMESSAGE) {
                    controller.messageRoom(command.getArg(1), new Message(controller.getUserName(command.getArg(1)), command.getArg(2), command.getArg(0)));
                } else if (command.getCommand() == CLICommand.Command.ADDKEY) {
                    FileInputStream publicKeyFile = new FileInputStream(command.getArg(1));
                    byte publicKey[] = new byte[(int) publicKeyFile.available()];
                    publicKeyFile.read(publicKey);

                    FileInputStream privateKeyFile = new FileInputStream(command.getArg(2));
                    byte privateKey[] = new byte[(int) privateKeyFile.available()];
                    privateKeyFile.read(privateKey);

                    controller.addKeyPair(command.getArg(0), new Certificate("X.509", publicKey), new Certificate("X.509", privateKey));
                } else if (command.getCommand() == CLICommand.Command.REMOVEKEY) {
                    FileInputStream publicKeyFile = new FileInputStream(command.getArg(1));
                    byte publicKey[] = new byte[(int) publicKeyFile.available()];
                    publicKeyFile.read(publicKey);

                    controller.removeKeyPair(command.getArg(0), new Certificate("X.509", publicKey));

                } else if (command.getCommand() == CLICommand.Command.SECUREMESSAGE) {
                    FileInputStream publicKeyFile = new FileInputStream(command.getArg(0));
                    byte publicKey[] = new byte[(int) publicKeyFile.available()];
                    publicKeyFile.read(publicKey);

                    Certificate cert = new Certificate("X.509", publicKey);
                    controller.messageRoom(command.getArg(2), new Message(controller.getUserName(command.getArg(2)), command.getArg(3), command.getArg(1), cert));
                }
            } catch (RoomDoesNotExistException e) {
                cli.alert(e.getMessage());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
View Full Code Here

TOP

Related Classes of edu.drexel.cs544.mcmuc.channels.Controller

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.