Mercurial > hg > RemoteEditor > REPSessionManager
view rep/EditorList.java @ 337:5ba5b7a9761b
use REPLogger
author | kono |
---|---|
date | Sun, 12 Oct 2008 18:42:18 +0900 |
parents | c83a3faec487 |
children | b18c24dcc5d2 |
line wrap: on
line source
package rep; import java.util.LinkedList; import rep.channel.REPSocketChannel; public class EditorList { private int numberOfEditor; private LinkedList<Editor> editorList = new LinkedList<Editor>(); public void sendJoinAck(REPCommand repCmd) { Forwarder editor = null; for(Forwarder editor2 : editorList){ error(String.valueOf(editor2.getEID()), String.valueOf(repCmd.eid)); if(editor2.getEID() == repCmd.eid){ editor = editor2; break; } } error(editor); editor.getChannel().write(repCmd); } public void sendJoinAck(REPSocketChannel<REPCommand> channel, REPCommand repCmd) { REPCommand command = repCmd; command.setCMD(REP.SMCMD_JOIN_ACK); channel.write(command); } public int addEditor(SessionManager manager,REPSocketChannel<REPCommand> channel, REPCommand repCmd) { numberOfEditor++; editorList.add(new Editor(manager,numberOfEditor, channel)); return numberOfEditor; } public void addEditor(SessionManager manager,REPSocketChannel<REPCommand> channel) { editorList.add(new Editor(manager,0, channel)); } public void setEID(REPCommand repCmd) { for(Forwarder editor : editorList){ if(editor.getEID() == 0){ editor.setEID(repCmd.eid); break; } } } private void error(Object obj) { if(obj == null){ SessionManager.logger.writeLog("null!"); } } private void error(String str1, String str2){ if(str1.equals(str2)){ return; }else{ SessionManager.logger.writeLog("Not equals! str1:str2"); } } public void sendPutAck(REPSocketChannel<REPCommand> channel, REPCommand repCmd) { channel.write(repCmd); } public void send(REPSocketChannel<REPCommand> channel, REPCommand command){ channel.write(command); } public void setHost(String myHost) { for(Editor editor : editorList) { editor.setHost(myHost); } } public Forwarder getEditor(String hostport) { for(Editor editor : editorList){ String[] splited = hostport.split(":"); SessionManager.logger.writeLog( splited[0] + "," + editor.getHost()); if(splited[0].equals(editor.getHost())){ return editor; } } return null; } public int addEditor(Editor editor) { numberOfEditor++; editorList.add(editor); return numberOfEditor; } public Forwarder getEditor(REPSocketChannel<REPCommand> channel) { Forwarder editor1 = null; for(Forwarder editor: editorList){ if(channel == editor.getChannel()){ editor1 = editor; } } return editor1; } }