changeset 339:bb9e202af4d8

*** empty log message ***
author kono
date Sun, 12 Oct 2008 19:51:53 +0900
parents bcb4ea4ff208
children f55843e829d6
files Todo rep/REPCommand.java rep/translator/TranslatorImpl.java
diffstat 3 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Todo	Sun Oct 12 19:20:16 2008 +0900
+++ b/Todo	Sun Oct 12 19:51:53 2008 +0900
@@ -3,6 +3,12 @@
 Todo: (kono)
 DELETE時のundoのための文字列は、SM/Editor間でだけ必要。Editorから戻って来た
 コマンドをSM側で最新にする必要がある。外に出す時には使わないので消して良い。
+	Done: 戻って来た時に、unMergedListに入れているらしい
+
+Todo: (kono)
+new String(hoge)が結構ある。Javaの文字列は変更不可能なので、こんな
+ことをする意味はない。
+	Done:
 
 Todo: (kono)
 PUT の時に、master session managerまで行って、session番号を確定する
--- a/rep/REPCommand.java	Sun Oct 12 19:20:16 2008 +0900
+++ b/rep/REPCommand.java	Sun Oct 12 19:51:53 2008 +0900
@@ -27,7 +27,7 @@
 		this.throughMaster = false;
 	}
 	public REPCommand(REPCommand cmd){
-		this(cmd.cmd, cmd.sid, cmd.eid, cmd.seq, cmd.lineno, new String(cmd.string));
+		this(cmd.cmd, cmd.sid, cmd.eid, cmd.seq, cmd.lineno, cmd.string);
 	}
 
 	public REPCommand() {
@@ -45,8 +45,8 @@
 	}
 	
 	public String toString(){
-		String repCmdString = new String(cmd + ",sid=" + sid + ",eid=" + eid + ",seq=" + seq +
-				",lineno=" + lineno + ",sz=" + string.length() + "," + string);
+		String repCmdString = cmd + ",sid=" + sid + ",eid=" + eid + ",seq=" + seq +
+				",lineno=" + lineno + ",sz=" + string.length() + "," + string;
 		return repCmdString;
 	}
 
--- a/rep/translator/TranslatorImpl.java	Sun Oct 12 19:20:16 2008 +0900
+++ b/rep/translator/TranslatorImpl.java	Sun Oct 12 19:51:53 2008 +0900
@@ -162,6 +162,11 @@
 		assert (cmd.eid != eid);
 		// nop command の挿入は Editor 側で行って、こちら側ではやらない
 		unMergedCmds.add(cmd);
+		if(cmd.cmd==REP.REPCMD_DELETE) {
+			// delete のundo用の文字列は、外に出す意味はない
+			cmd = new REPCommand(cmd);
+			cmd.string=null;
+		}
 		nextEditor.send(cmd);
 	}