/* * ActionExecuter.java * * Created on November 22, 2004, 7:43 PM */ package pt.jkaiui.manager; import java.awt.MediaTracker; import java.net.MalformedURLException; import java.net.URL; import java.net.URLDecoder; import java.io.*; import java.util.logging.Logger; import javax.swing.ImageIcon; import pt.jkaiui.JKaiUI; import pt.jkaiui.core.Arena; import pt.jkaiui.core.ChatMessage; import pt.jkaiui.core.Diags; import pt.jkaiui.core.InMessage; import pt.jkaiui.core.KaiString; import pt.jkaiui.core.User; import pt.jkaiui.core.messages.*; import pt.jkaiui.tools.log.ConfigLog; import pt.jkaiui.ui.InfoPanel; import pt.jkaiui.ui.modes.*; import static pt.jkaiui.core.KaiConfig.ConfigTag.*; /** * @author pedro */ public class ActionExecuter { private static Logger _logger; private static Manager manager; private static String CurrentArena; private static boolean KaiVectorOutFlag;//�����ňړ��������ǂ����̔���t���O // private static Chat2 chatbuf;//�ꎞ�ۊ� /** Creates a new instance of ActionExecuter */ public ActionExecuter( Manager manager ) { _logger = ConfigLog.getLogger(this.getClass().getName()); this.manager = manager; } public static void execute(Message msg){ // UI -> Engine -- DiscoverMssage if (msg instanceof DiscoverEngine){ // just send the message manager.send( (I_OutMessage) msg); } // UI -> Engine -- KaiVectorOut -> Enter an arena else if (msg instanceof KaiVectorOut){ KaiVectorOutFlag = true; JKaiUI.getArenaMode().setIndexArenaModeComboBox(0); // just send the message KaiVectorOut vec = (KaiVectorOut) msg; //_logger.config("Entering arena "+ vec.getVector()); manager.send( (I_OutMessage) msg); } // UI -> Engine -- KaiVectorOut -> Enter parent arena else if (msg instanceof KaiVectorParent){ // just send the message KaiVectorParent vec = (KaiVectorParent) msg; _logger.config("Entering arena "+ vec.getVector()); KaiVectorOut out = new KaiVectorOut(); out.setVector(vec.getVector()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); model.clear(); KaiVectorOut vecOut = new KaiVectorOut(); vecOut.setVector(vec.getVector()); execute(vecOut); } // Engine -> UI -- Engine Here else if (msg instanceof EngineHere){ _logger.info("Attaching to engine"); manager.send(new AttachEngine()); } // Engine -> UI -- Attached else if (msg instanceof AttachEngine){ JKaiUI.connected(); _logger.finest("Attached! Getting State"); // set caps CapsOut caps = new CapsOut(); manager.send(caps); manager.send( new GetState() ); } // Engine -> UI -- EngineInUse else if (msg instanceof EngineInUse){ _logger.info("Engine in use. Taking over..."); manager.send( new Takeover() ); } // Engine -> UI -- ClientNotLogged else if (msg instanceof ClientNotLoggedIn){ ClientNotLoggedIn m = (ClientNotLoggedIn) msg; _logger.finest("Client not logged in; User: " + m.getUser().decode() + "; Auto: " + (m.isAuto()?"on":"off") ); LoginMessage login = new LoginMessage(); login.setLogin(new KaiString(JKaiUI.getConfig().getConfigString(TAG))); login.setPassword(new KaiString(JKaiUI.getConfig().getConfigString(PASSWORD))); manager.send( login ); } else if ( msg instanceof ConnectedArena){ JKaiUI.getMainUI().jButtonArenaMode.doClick(); } // Engine -> UI -- Status Message else if (msg instanceof Status){ Status m = (Status) msg; _logger.info("Status: " + m.getMessage().decode()); } // Engine -> UI -- Add Contact else if (msg instanceof AddContact){ AddContact contact = (AddContact) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); model.addElement(user); } // Engine -> UI -- Connected Message else if (msg instanceof ConnectedMessenger){ MessengerMode mode = JKaiUI.getMessengerMode(); JKaiUI.selectMode(mode); _logger.info("In Messenger Mode"); } // Engine -> UI -- AdminPrivileges else if (msg instanceof AdminPrivileges){ AdminPrivileges m = (AdminPrivileges) msg; String[] admins = m.getUsers().decode().split("/"); JKaiUI.ADMINISTRATORS.clear(); for( int i=0; i<admins.length; i++){ JKaiUI.ADMINISTRATORS.add(admins[i]); } _logger.config("Administrators: "+ m.getUsers().decode()); } // Engine -> UI -- ModeratorPrivileges else if (msg instanceof ModeratorPrivileges){ ModeratorPrivileges m = (ModeratorPrivileges) msg; // add this to the list of MODERATORS String[] moderators = m.getUsers().decode().split("/"); JKaiUI.MODERATORS.clear(); for( int i=0; i<moderators.length; i++){ JKaiUI.MODERATORS.add(moderators[i]); } _logger.config("Moderators: "+ m.getUsers().decode()); } // Engine -> UI -- Contact Online else if (msg instanceof ContactOnline) { ContactOnline contact = (ContactOnline) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); user = (User) model.getElement(user); user.setOnline(true); model.updateElement(user); // Contact added. Lets fetch its avatar! AvatarOut avatar = new AvatarOut(); avatar.setUser(contact.getUser()); execute(avatar); if (JKaiUI.getConfig().getConfigBoolean(ShowFriendLoginInfo)) { JKaiUI.getChatManager().loginFriend(contact); } JKaiUI.getLogFileManager().println(contact); } // Engine -> UI -- Contact Offline else if (msg instanceof ContactOffline) { ContactOffline contact = (ContactOffline) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); user = (User) model.getElement(user); user.setOnline(false); model.updateElement(user); if (JKaiUI.getConfig().getConfigBoolean(ShowFriendLoginInfo)) { JKaiUI.getChatManager().logoutFriend(contact); } JKaiUI.getLogFileManager().println(contact); } // Engine -> UI -- Joins Vector else if (msg instanceof JoinsVector) { JoinsVector contact = (JoinsVector) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); user = (User) model.getElement(user); user.setOnline(true); model.updateElement(user); JKaiUI.getLogFileManager().println(contact); } // Engine -> UI -- LeavesVector else if (msg instanceof LeavesVector) { // System.out.println("LeavesVectorstart"); LeavesVector contact = (LeavesVector) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); // System.out.println("LeavesVector:" + ((User) model.getElement(user)).getName()); user = (User) model.getElement(user); user.setOnline(false); model.removeElement(user); // System.out.println("LeavesVectorend"); } // Engine -> UI -- SubVector else if (msg instanceof SubVector){ SubVector contact = (SubVector) msg; Arena arena = new Arena(); arena.setUser(false); arena.setVector(contact.getVector().decode()); arena.setUsers(contact.getCount()); arena.setSubs(contact.getSubs()); arena.setPass(contact.isPass()); arena.setMaxPlayers(contact.getMaxPlayers()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); model.updateElement(arena); // JKaiUI.getChatManager().addGotoArenaMenuItem(arena); JKaiUI.getLogFileManager().println(contact); } // Engine -> UI -- UserSubVector else if (msg instanceof UserSubVector) { // System.out.println("UserSubVectorstart"); UserSubVector contact = (UserSubVector) msg; Arena arena = new Arena(); arena.setVector(contact.getVector().decode()); arena.setUser(true); arena.setUsers(contact.getCount()); arena.setSubs(contact.getSubs()); arena.setPass(contact.isPass()); arena.setMaxPlayers(contact.getMaxPlayers()); arena.setMaxPlayers(contact.getMaxPlayers()); try{ if(JKaiUI.getConfig().getConfigBoolean(URLDecode)){ //URL�f�R�[�h arena.setDescription(URLDecoder.decode(contact.getDescription().decode(),"utf-8")); }else{ arena.setDescription(contact.getDescription().decode()); } }catch(Exception e){ System.out.println("Action UserSubVector:"+e); } MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); // System.out.println("UserSubVector:" + arena.getName()); model.updateElement(arena); // JKaiUI.getChatManager().addGotoArenaMenuItem(arena); JKaiUI.getLogFileManager().println(contact); // System.out.println("UserSubVectorend"); } // Engine -> UI -- SubVectorUpdate else if (msg instanceof SubVectorUpdate){ // System.out.println("SubVectorUpdatestart"); SubVectorUpdate contact = (SubVectorUpdate) msg; Arena arena = new Arena(); arena.setVector(contact.getVector().decode()); // get all other values MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); int index = model.indexOf(arena); if (index != -1) { // System.out.println("SubVectorUpdate:" + (Arena) model.getElement(arena)); arena = (Arena) model.getElementAt(index); } if (arena != null) { //JBI testing... arena.setUsers(contact.getCount()); arena.setSubs(contact.getSubs()); model.updateElement(arena); } // System.out.println("SubVectorUpdateend"); } // Engine -> UI -- RemoveSubVector else if (msg instanceof RemoveSubVector){ // System.out.println("RemoveSubVectorstart"); RemoveSubVector contact = (RemoveSubVector) msg; Arena arena = new Arena(); arena.setVector(contact.getVector().decode()); // get all other values MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); // System.out.println("RemoveSubVector:" + arena.getName()); model.removeElement(arena); // JKaiUI.getChatManager().removeGotoArenaMenuItem(arena); // System.out.println("RemoveSubVectorend"); } // Engine -> UI -- ArenaPing else if (msg instanceof ArenaPing){ ArenaPing contact = (ArenaPing) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); user = (User) model.getElement(user); user.setPing(contact.getPing()); user.setStatus(contact.getStatus()); model.updateElement(user); } // Engine -> UI -- ContactPing else if (msg instanceof ContactPing){ ContactPing contact = (ContactPing) msg; User user = new User(); user.setName(contact.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); // To preserve other attributes user = (User) model.getElement(user); user.setOnline(true); user.setPing(contact.getPing()); user.setCurrentArena(contact.getCurrentArena().decode()); model.updateElement(user); } // Engine -> UI -- User Data else if (msg instanceof UserData){ // I'll force messenger mode. This will initialize chats KaiVectorOut vecOut = new KaiVectorOut(); vecOut.setVector(new KaiString("")); execute(vecOut); } // Engine -> UI -- Already logged in else if (msg instanceof LoggedIn){ _logger.config("Already logged in"); } // Engine -> UI -- KaiVectorIn else if (msg instanceof KaiVectorIn){ if (KaiVectorOutFlag == false) { if (JKaiUI.getConfig().getConfigBoolean(AutoArenaMoving)) { KaiVectorOut vecOut = new KaiVectorOut(); vecOut.setVector(new KaiString(CurrentArena)); execute(vecOut); System.out.println("AutoArenaMoving"); } } else { KaiVectorOutFlag = false; } KaiVectorIn vec = (KaiVectorIn) msg; _logger.info("Entered arena: " + vec.getVector().decode()); // Now that we are inside, do the other operations //Clean list, unless we went back to messenger mode if ( vec.getVector().decode().length() > 0){ MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); model.clear(); } // Set Status //JKaiUI.getArenaMode().resetArenaMode(); // Enable or disable creating sub arenas JKaiUI.getArenaMode().enableCreateArena(vec.isCreatable()); if (vec.getVector().decode().length()>0) JKaiUI.ARENA = vec.getVector().decode(); // Enable or disable the "go parent" JKaiUI.getArenaMode().enableGoParentArena(! JKaiUI.ARENA.equals("Arena")); // After entering, we want to get the sub arenas. GetVectors info = new GetVectors(); info.setVector(vec.getVector()); manager.send(info); // After enter, set chatroom ChatModeOut chat = new ChatModeOut(); chat.setRoom((vec.getVector().decode().length() > 0) ? vec.getVector() : new KaiString("General Chat")); execute(chat); JKaiUI.getManager().send(new GetMetrics()); if (JKaiUI.getConfig().getConfigBoolean(AutoHostSetting)) { //Auto Host Setting when you move ArenaStatusOut statusMsg = new ArenaStatusOut(); statusMsg.setStatus(2); statusMsg.setPlayers(1); // TODO: SUPPORT MORE LOCAL PLAYERS execute(statusMsg); JKaiUI.getArenaMode().setIndexArenaModeComboBox(1); } } // Engine -> UI -- ChatMode else if (msg instanceof ChatMode){ //Im now chatting in this room. But I already knew that.... } // Engine -> UI -- Chat message else if (msg instanceof Chat){ Chat m = (Chat) msg; // Now Im testing a few messages InMessage _msg = new InMessage(); _msg.setUser(new User(m.getUser().decode())); _msg.setType(ChatMessage.PUBLIC_MESSAGE); _msg.setMessage(m.getMessage().decode()); // Dont echo my own messages if (!_msg.getUser().getName().equals(JKaiUI.getConfig().getConfigString(TAG))) { if ((JKaiUI.getConfig().getConfigBoolean(HideServerMessage)) && (_msg.getUser().getUser().equalsIgnoreCase("kai orbital mesh"))) { } else { JKaiUI.getChatManager().processMessage(_msg); } //kai orbital mesh�͏��O if(!_msg.getUser().getUser().equalsIgnoreCase("kai orbital mesh")){ JKaiUI.getLogFileManager().println(m, CurrentArena); } } } // Engine -> UI -- Chat2 message else if (msg instanceof Chat2){ Chat2 m = (Chat2) msg; /* if (m.getUnknown1().decode().equals("0") && m.getUnknown2().decode().equals("1")) { // Now Im testing a few messages chatbuf = new Chat2(); chatbuf.setUser(m.getUser()); chatbuf.setRoom(m.getRoom()); chatbuf.setMessage(m.getMessage()); } else if (m.getUnknown1().decode().equals("1") && m.getUnknown2().decode().equals("0")) { */ // Now Im testing a few messages InMessage _msg = new InMessage(); _msg.setUser(new User(m.getUser().decode())); _msg.setType(ChatMessage.PUBLIC_MESSAGE); // _msg.setMessage(chatbuf.getMessage().decode() + m.getMessage().decode()); _msg.setMessage(m.getMessage().decode()); // chatbuf = null; // Dont echo my own messages if (!_msg.getUser().getName().equals(JKaiUI.getConfig().getConfigString(TAG))) { if ((JKaiUI.getConfig().getConfigBoolean(HideServerMessage)) && (_msg.getUser().getUser().equalsIgnoreCase("kai orbital mesh"))) { } else { JKaiUI.getChatManager().processMessage(_msg); } //kai orbital mesh�͏��O if (!_msg.getUser().getUser().equalsIgnoreCase("kai orbital mesh")) { JKaiUI.getLogFileManager().println(m, CurrentArena); } } // } } // Engine -> UI -- PM message else if (msg instanceof PM ){ PM m = (PM) msg; // Now Im testing a few messages InMessage _msg = new InMessage(); _msg.setUser(new User(m.getUser().decode())); _msg.setType(ChatMessage.PRIVATE_MESSAGE); _msg.setMessage(m.getMessage().decode()); JKaiUI.getChatManager().processMessage(_msg); JKaiUI.getLogFileManager().println(m); } // Engine -> UI -- Arena PM else if (msg instanceof ArenaPM ){ ArenaPM m = (ArenaPM) msg; // Now Im testing a few messages InMessage _msg = new InMessage(); _msg.setUser(new User(m.getUser().decode())); _msg.setType(ChatMessage.PRIVATE_MESSAGE); _msg.setMessage(m.getMessage().decode()); JKaiUI.getChatManager().processMessage(_msg); JKaiUI.getLogFileManager().println(m); } // UI -> Engine -- PM else if (msg instanceof PMOut){ // just send the message manager.send( (I_OutMessage) msg); JKaiUI.getLogFileManager().println((PMOut) msg); } else if (msg instanceof ArenaPMOut){ // just send the message manager.send( (I_OutMessage) msg); JKaiUI.getLogFileManager().println((ArenaPMOut) msg); } // UI -> Engine -- Add and Remove else if (msg instanceof AddContactOut){ // just send the message manager.send( (I_OutMessage) msg); } else if (msg instanceof RemoveContactOut){ // just send the message manager.send( (I_OutMessage) msg); } // Engine -> UI -- Contact removed else if (msg instanceof RemoveContact){ RemoveContact contact = (RemoveContact) msg; User user = new User(); user.setName(contact.getUser().decode()); user.setOnline(false); _logger.info("User "+ contact.getUser().decode() + " removed successfully"); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); model.removeElement(user); } // UI -> Engine -- Enter chatroom else if (msg instanceof ChatModeOut){ //�����̈ړ��������I�Ɏ��� ChatModeOut vec = (ChatModeOut) msg; CurrentArena = vec.getRoom().decode(); JKaiUI.getChatManager().enterRoom(vec.getRoom().decode()); manager.send( (I_OutMessage) msg); } // Engine -> UI -- JoinsChat // TODO: put in config wheather to receive this? else if (msg instanceof JoinsChat){ JoinsChat vec = (JoinsChat) msg; // Notification JKaiUI.getChatManager().joinsRoom(vec.getUser().decode()); // Change user icon. Do that in arena mode only, for now User user = new User(); user.setName(vec.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); if (model.indexOf(user) != -1 ){ user = (User) model.getElement(user); user.setChat(true); model.updateElement(user); //JKaiUI.getMainUI().getListModelArenaUsers().addElement(user.getName()); } else { if (!JKaiUI.getMainUI().getListModelArenaUsers().contains(user.getName())) { JKaiUI.getMainUI().getListModelChatUsers().addElement(user.getName()); JKaiUI.getMainUI().UpdateChatUsersQuantity(); } } } // Engine -> UI -- LeavesChat else if (msg instanceof LeavesChat) { // System.out.println("LeavesChatstart"); LeavesChat vec = (LeavesChat) msg; JKaiUI.getChatManager().leavesRoom(vec.getUser().decode()); // Change user icon. Do that in arena mode only, for now User user = new User(); user.setName(vec.getUser().decode()); MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getArenaMode().getListModel(); if (model.indexOf(user) != -1) { // System.out.println("LeavesChat:"+((User)model.getElement(user)).getName()); user = (User) model.getElement(user); user.setChat(false); model.updateElement(user); //JKaiUI.getMainUI().getListModelArenaUsers().removeElement(user.getName()); } else { JKaiUI.getMainUI().getListModelChatUsers().removeElement(user.getName()); JKaiUI.getMainUI().UpdateChatUsersQuantity(); } // System.out.println("LeavesChatend"); } // Engine -> UI -- Chat message else if (msg instanceof ChatOut){ manager.send( (I_OutMessage) msg); JKaiUI.getLogFileManager().println((ChatOut)msg, CurrentArena); } // Engine -> UI -- Arena Status else if (msg instanceof ArenaStatusOut){ manager.send( (I_OutMessage) msg); } // Engine -> UI -- CreateVectorOut else if (msg instanceof CreateVectorOut){ KaiVectorOutFlag = true; _logger.info("Creating room..."); manager.send( (I_OutMessage) msg); } // UI -> Engine -- DettachEngineOut else if (msg instanceof DetachEngineOut){ _logger.info("Dettaching..."); manager.send( (I_OutMessage) msg); JKaiUI.disconnected(); } // Engine -> UI -- DettachEngine else if (msg instanceof DetachEngine){ _logger.warning("Remotely Dettached"); JKaiUI.disconnected(); } // UI -> Engine -- AvatarOut else if (msg instanceof AvatarOut){ // just send it manager.send( (I_OutMessage) msg); } // Engine -> UI -- Avatar else if (msg instanceof Avatar){ Avatar avatar = (Avatar) msg; // only makes sense if we have an url!! if ( avatar.getUrl().decode().length() == 0 ) return; User user = new User(); user.setName(avatar.getUser().decode()); ImageIcon icon = null; File cacheFolder = new File(JKaiUI.getConfig().getConfigString(AVATARCACHE) + File.separator + "users"); if(!cacheFolder.exists()) cacheFolder.mkdirs(); File iconLocation = new File(cacheFolder, user.getName().toLowerCase() + ".ii"); // 86400000 milliseconds in a day if(iconLocation.exists() && (JKaiUI.getConfig().getConfigInt(CACHEDAYS) > 0) && (iconLocation.lastModified() < System.currentTimeMillis() + (86400000 * JKaiUI.getConfig().getConfigInt(CACHEDAYS)))) { try { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(iconLocation)); icon = (ImageIcon) ois.readObject(); ois.close(); } catch(ClassNotFoundException cnfe) { System.out.println("Avatar:"+cnfe); } catch(IOException ioe) { System.out.println("Couldn't read avatar cache! Reason: " + ioe.getMessage()); } } if(icon == null) { System.out.println("OLD"); URL url = null; try{ url = new URL(avatar.getUrl().decode()); } catch (MalformedURLException e){ System.out.println("Avatar:"+e); _logger.severe("Malformed image url for user " + avatar.getUser().decode() +": " + e.getMessage()); } icon = new ImageIcon(url); try { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(iconLocation)); oos.writeObject(icon); oos.close(); } catch(IOException ioe) { System.out.println("Couldn't cache avatar! Reason: " + ioe.getMessage()); } } MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getMessengerMode().getListModel(); user = (User) model.getElement(user); if (icon.getImageLoadStatus() == MediaTracker.COMPLETE) { user.setIcon(icon); } model.updateElement(user); } else if (msg instanceof Metrics) { Metrics metrics = (Metrics) msg; MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getDiagMode().getListModel(); JKaiUI.setKaiEngineVersion(metrics.getVersion().toString()); Diags diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagEngine")); diag.setIcon(diag.ICON_DIAG_ENGINE); diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagVersion") + " " + metrics.getVersion().toString()); diag.setValue2(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagPlatform") + " " + metrics.getPlatform().toString()); if (model.contains(diag)) { model.removeElement(diag); } model.add(0,diag); diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagHardware")); diag.setIcon(diag.ICON_DIAG_HARDWARE); diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagNetCard") + " " + metrics.getNetCard().toString()); diag.setValue2(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagTechnology") + " " + metrics.getTechnology().toString()); if (model.contains(diag)) { model.removeElement(diag); } model.add(0,diag); diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagNetwork")); diag.setIcon(diag.ICON_DIAG_NETWORK); diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagIP") + " " + metrics.getIP().toString() + " " + java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagPort") + " " + metrics.getPort().toString()); // You can uncomment the line below and comment out the line above if you want the IP/Port to be seperated with a colon (ie 192.168.1.1:30000) //diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagIP") + " " + metrics.getIP() + ":" + metrics.getPort()); diag.setValue2(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagRechable") + " " + metrics.getReachable().toString()); if (model.contains(diag)) { model.removeElement(diag); } model.add(0,diag); diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagOrbServer")); diag.setIcon(diag.ICON_DIAG_ORBSERVER); diag.setValue1(metrics.getOrbServer().toString()); if (model.contains(diag)) { model.removeElement(diag); } model.add(0,diag); } else if (msg instanceof LocalDevice) { LocalDevice locdev = (LocalDevice) msg; MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getDiagMode().getListModel(); Diags diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagMAC") + " " + locdev.getMac()); diag.setConsoleIcon(locdev.getMac()); diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagConfOK")); if (!model.contains(diag)) { model.addElement(diag); } else { model.updateElement(diag); } } else if (msg instanceof DhcpFailure) { DhcpFailure locdev = (DhcpFailure) msg; MessengerModeListModel model = (MessengerModeListModel) JKaiUI.getDiagMode().getListModel(); Diags diag = new Diags(); diag.setName(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagMAC") + " " + locdev.getMac()); diag.setConsoleIcon(locdev.getMac()); diag.setValue1(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagConfFailed")); diag.setValue2(java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle").getString("LBL_DiagConfFailedDHCP")); if (!model.contains(diag)) { model.addElement(diag); } else { model.updateElement(diag); } } else if (msg instanceof UserProfile) { UserProfile uprof = (UserProfile) msg; InfoPanel infp = JKaiUI.getMainUI().getJPanelInfos(); infp.setUser(uprof.GetUser()); infp.setAge(uprof.GetAge()); infp.setBandwidth(uprof.GetBandwidth()); infp.setLocation(uprof.GetLocation()); infp.setConsoles(uprof.GetConsoles()); infp.setGames(uprof.GetGames()); infp.showPanel(); } else if( msg instanceof RemoteArenaDevice){ JKaiUI.getLogFileManager().println(msg); } else if( msg instanceof CodePage){ } else if( msg instanceof ArenaStatus){ } else if( msg instanceof SessionKey){ } } }