Package org.jdesktop.wonderland.testharness.manager.common

Examples of org.jdesktop.wonderland.testharness.manager.common.SimpleTestDirectorMessage


        commsHandler.addMessageListener(SimpleTestDirectorMessage.class, new MessageListener()  {

            public void messageReceived(ManagerMessage msg) {
                assert(msg instanceof SimpleTestDirectorMessage);
               
                SimpleTestDirectorMessage message = (SimpleTestDirectorMessage) msg;
               
                System.err.println("Got message "+msg);
                switch(message.getMessageType()) {
                    case UI_UPDATE :
                        actualUsersTF.setText(Integer.toString(message.getUserCount()));
                        desiredUserCount.getModel().setValue(new Integer(message.getDesiredUserCount()));
                        break;
                    case USER_ADDED :
                        synchronized(users) {
                            final UserJPanel p = new UserJPanel(message.getUsername(), commsHandler);
                            users.put(p.getUsername(), p);
                            System.err.println("Addded USER "+p.getUsername());
                            SwingUtilities.invokeLater(new Runnable() {
                                public void run() {
                                    usersPanel.add(p);
                                    usersPanel.invalidate();
                                    usersPanel.validate();
                                }
                            });
                        }
                        break;
                    case USER_REMOVED :
                        synchronized(users) {
                            final UserJPanel p1 = users.remove(message.getUsername());
                            System.err.append("USER REMOVED "+p1+"  "+message.getUsername());
                            if (p1!=null) {
                                SwingUtilities.invokeLater(new Runnable() {
                                    public void run() {
                                        usersPanel.remove(p1);
                                        usersPanel.invalidate();
                                        usersPanel.validate();
                                        usersPanel.repaint();
                                        System.err.println("UsersPanel children "+usersPanel.getComponents().length);
                                    }
                                });
                            }
                        }
                        break;
                    case CLIENT_QUIT :
                        synchronized(users) {
                            UserJPanel p2 = users.get(message.getUsername());
                            if (p2!=null) {
                                // setClientQuit is Swing thread safe
                                p2.setClientQuit();
                            } else {
                                System.err.println("Got Quit message for unknown user "+message.getUsername());
                            }
                        }
                        break;
                    case USER_LIST :
                        synchronized(users) {
                            String[] allUsernames = message.getAllUsernames();
                            UserActionType[] allUserActions = message.getAllUserActions();
                            final ArrayList<UserJPanel> newPanels = new ArrayList();
                            for(int i=0; i<allUsernames.length; i++) {
                                UserJPanel up = users.get(allUsernames[i]);
                                if (up==null) {
                                    up = new UserJPanel(allUsernames[i], commsHandler);
                                    newPanels.add(up);
                                    up.setCurrentAction(allUserActions[i]);
                                } else {
                                    // TODO this needs to be an invokeLater
                                    up.setCurrentAction(allUserActions[i]);
                                }
                            }

                            SwingUtilities.invokeLater(new Runnable() {
                                public void run() {
                                    for(UserJPanel p : newPanels) {
                                        usersPanel.add(p);
                                    }
                                    usersPanel.invalidate();
                                    usersPanel.validate();
                                }
                            });
                        }
                        break;
                    default :
                        System.err.println("Unexpected message "+message.getMessageType());
                }
            }
           
        });
       
View Full Code Here


        commsHandler.addMessageListener(SimpleTestDirectorMessage.class, new CommsHandler.MessageListener() {

            public void messageReceived(ManagerMessage msg) {
                assert(msg instanceof SimpleTestDirectorMessage);
                SimpleTestDirectorMessage message = (SimpleTestDirectorMessage) msg;
               
                System.err.println("TestDirector received "+message.getMessageType());
               
                switch(message.getMessageType()) {
                    case REQUEST_STATUS :
                        sendUIUpdate();
                        String[] usernames = new String[users.size()];
                        UserActionType[] currentActions = new UserActionType[users.size()];
                        int i=0;
                        for(User u : users.values()) {
                            usernames[i] = u.getUsername();
                            currentActions[i] = u.getCurrentAction();
                            i++;
                        }
                        sendUIMessage(SimpleTestDirectorMessage.newUserListMessage(usernames, currentActions));
                        break;
                    case USER_COUNT :
                        targetUsers = message.getDesiredUserCount();
                        adjustUsers();
                        sendUIUpdate();
                        break;
                    case CHANGE_ALLOCATOR:
                        changeAllocator(message.getAllocatorName(),
                                        message.getProperties());
                        break;
                    case USER_ACTION_CHANGE_REQUEST :
                        User user = users.get(message.getUsername());
                        if (user!=null) {
                            userManager.changeUserAction(user, message.getUserAction());
                        }
                        break;
                    default :
                        System.err.println("Unexepected message type "+message.getMessageType());
                }

            }
        });
    }
View Full Code Here

TOP

Related Classes of org.jdesktop.wonderland.testharness.manager.common.SimpleTestDirectorMessage

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.