# HG changeset patch # User pin # Date 1219647183 -32400 # Node ID 7ebd30e5e385b789679ac6d2104c763bd6ed055e # Parent 0dfb6413a31e8d7eb3c718b2d2da2acff71daefe *** empty log message *** diff -r 0dfb6413a31e -r 7ebd30e5e385 src/pathfinder/mergetest/EditorSimulatorWithoutMerger.java --- a/src/pathfinder/mergetest/EditorSimulatorWithoutMerger.java Sun Aug 24 18:08:10 2008 +0900 +++ b/src/pathfinder/mergetest/EditorSimulatorWithoutMerger.java Mon Aug 25 15:53:03 2008 +0900 @@ -63,6 +63,7 @@ } else { ns.writeLog("\t\tEditor"+eid+" edit text and pass Cmd. " + " : " + cmd, 3); + //if(eid == 2)ns.writeLog("\t\tEditor"+eid+" edit text and pass Cmd. " + " : " + cmd, 1); text.edit(cmd); cs.write(new REPCommand(cmd)); } diff -r 0dfb6413a31e -r 7ebd30e5e385 src/pathfinder/mergetest/SessionManagerSimulatorWithMerger.java --- a/src/pathfinder/mergetest/SessionManagerSimulatorWithMerger.java Sun Aug 24 18:08:10 2008 +0900 +++ b/src/pathfinder/mergetest/SessionManagerSimulatorWithMerger.java Mon Aug 25 15:53:03 2008 +0900 @@ -110,6 +110,8 @@ //quitコマンドが一周してきた if(editorList.get(nextEditor.eid).isEmpty()) { command.setCMD(REP.SMCMD_QUIT_2); + }else{ + System.out.println("has Unmerged Commands."); } } } @@ -135,8 +137,15 @@ if(command.eid == eid){ if(checkOwnCommand(command)){ //エディタからの編集コマンドが戻ってきた場合、マージしてエディタへ反映 + if(eid == 2)System.out.println("returned Editor Command : " + command); REPCommand[] cmds = editorList.get(eid).catchOwnCommand(command); for(REPCommand cmd : cmds){ + try { + Thread.sleep(50); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } REPCommand tmp2 = new REPCommand(cmd); tmp2.eid = REP.MERGE_EID; channel.write(pack(tmp2)); @@ -144,18 +153,19 @@ }else{ //エディタからの新たな編集コマンド + if(eid == 2)System.out.println("new Editor Command : " + command); editorList.get(eid).transSendCmd(command); nextChannel.write(pack(command)); } }else if(command.eid == REP.MERGE_EID){ //マージのときにエディタからの割り込みがないか確認 - //if(eid == 2)System.out.println(" Merged Command : " + command); + if(eid == 2)System.out.println(" Merged Command : " + command); if(editorList.get(eid).checkMergeConflict(command)){ LinkedList againList = editorList.get(eid).getMergeAgain(); for(REPCommand againCommand : againList){ channel.write(pack(againCommand)); - System.out.println("Remerge : " + againCommand); + if(eid == 2)System.out.println(" reMerge : " + againCommand); } } diff -r 0dfb6413a31e -r 7ebd30e5e385 src/pathfinder/mergetest/UsersSimulator.java --- a/src/pathfinder/mergetest/UsersSimulator.java Sun Aug 24 18:08:10 2008 +0900 +++ b/src/pathfinder/mergetest/UsersSimulator.java Mon Aug 25 15:53:03 2008 +0900 @@ -19,6 +19,12 @@ ns.writeLog("UsersSimulator start.", 1); ChannelSimulator channel = ns.getAcceptedSession(eid); while(cmds.size()>0){ + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } REPCommand cmd0 = createCmd(); channel.write(cmd0); } diff -r 0dfb6413a31e -r 7ebd30e5e385 src/sample/merge/TranslaterImp1.java --- a/src/sample/merge/TranslaterImp1.java Sun Aug 24 18:08:10 2008 +0900 +++ b/src/sample/merge/TranslaterImp1.java Mon Aug 25 15:53:03 2008 +0900 @@ -90,7 +90,9 @@ //REPCommand retCmd = cmd.clone(); String str = new String(cmd.string); REPCommand retCmd = new REPCommand(cmd.cmd, cmd.sid, cmd.eid, cmd.seq, cmd.lineno, str.length(), str); - + + retCmd.eid = REP.MERGE_EID; + if (cmd.cmd==REP.REPCMD_INSERT) retCmd.cmd=REP.REPCMD_DELETE; else if (cmd.cmd==REP.REPCMD_DELETE) retCmd.cmd=REP.REPCMD_INSERT; else if (cmd.cmd == REP.REPCMD_REPLACE) retCmd = createUndoReplace(retCmd); @@ -258,7 +260,8 @@ public LinkedList getMergeAgain() { LinkedList returnCommand = new LinkedList(); for(int i = 0; i < mergeAgainList.size(); i++){ - returnCommand.add(createUndo(mergeAgainList.getLast())); + //eid = REP.MEGE_EID + returnCommand.add(createUndo(mergeAgainList.get(mergeAgainList.size() - i -1))); } for(REPCommand command : mergeAgainList){ if(command.eid == REP.MERGE_EID){ @@ -267,6 +270,7 @@ } for(REPCommand command : mergeAgainList){ if(command.eid == eid){ + command.eid = REP.MERGE_EID; returnCommand.add(command); } }