Mercurial > hg > RemoteEditor > REPSessionManager
comparison rep/handler/Translator.java @ 434:0e72945867bb
merge on going...
author | one |
---|---|
date | Tue, 12 Jan 2010 02:24:29 +0900 |
parents | bd883b059360 |
children | 2b034d12170e |
comparison
equal
deleted
inserted
replaced
433:bd883b059360 | 434:0e72945867bb |
---|---|
52 * is returned. At this | 52 * is returned. At this |
53 * stage my writeQueue is empty, our editor is waiting for me. | 53 * stage my writeQueue is empty, our editor is waiting for me. |
54 * Start merge process. | 54 * Start merge process. |
55 * @param cmd | 55 * @param cmd |
56 */ | 56 */ |
57 public boolean catchOwnCommand(REPNode editor, int eid){ | 57 public boolean catchOwnCommand(REPNode editor, int eid0){ |
58 logger.writeLog("beforeMerge:"+unMergedCmds); | 58 logger.writeLog("beforeMerge:"+unMergedCmds); |
59 LinkedList<REPCommand> output = new LinkedList<REPCommand>(); | 59 LinkedList<REPCommand> output = new LinkedList<REPCommand>(); |
60 TreeSet<REPCommand> cmds = new TreeSet<REPCommand>(new REPCommandComparator(eid)); | |
61 // merge queue上にあるコマンドを全部undoコマンドするのと同時に | 60 // merge queue上にあるコマンドを全部undoコマンドするのと同時に |
62 // sort したコマンド列を生成する | 61 // sort したコマンド列を生成する |
63 for( REPCommand cmd0 : unMergedCmds) { | 62 for( REPCommand cmd0 : unMergedCmds) { |
64 output.add( createUndo(cmd0) ); | 63 output.add( createUndo(cmd0) ); |
65 } | 64 } |
65 | |
66 TreeSet<REPCommand> cmds = new TreeSet<REPCommand>(new REPCommandComparator(eid0)); | |
66 for( REPCommand cmd0 : editor.getSentList()) { | 67 for( REPCommand cmd0 : editor.getSentList()) { |
67 if (cmd0.cmd==REP.REPCMD_INSERT || cmd0.cmd==REP.REPCMD_DELETE) | 68 if (cmd0.cmd==REP.REPCMD_INSERT || cmd0.cmd==REP.REPCMD_DELETE) |
68 cmds.add(cmd0); | 69 cmds.add(cmd0); |
69 } | 70 } |
71 logger.writeLog("Ediotr"+eid+" Merge:: sorted sent list => Eid="+eid+cmds); | |
70 output.addAll(cmds); | 72 output.addAll(cmds); |
71 // ACKが来たものは必ず先頭 | 73 // ACKが来たものは必ず先頭 |
72 | 74 |
73 // unMerged command のdeleteのundo string は、この時点で使えない。 | 75 // unMerged command のdeleteのundo string は、この時点で使えない。 |
74 // Editor 側から送り返して来たものを使う必要がある。 | 76 // Editor 側から送り返して来たものを使う必要がある。 |