Mercurial > hg > RemoteEditor > REPSessionManager
comparison test/sematest/TestEditor.java @ 405:0b1d52ffb803
TestEditor fix
author | one |
---|---|
date | Tue, 25 Nov 2008 03:46:31 +0900 |
parents | 2cf5392b2a9f |
children | 8009dd7b2013 |
comparison
equal
deleted
inserted
replaced
404:4bb04d5a9bbf | 405:0b1d52ffb803 |
---|---|
227 private void handle(REPCommand cmd) { | 227 private void handle(REPCommand cmd) { |
228 if (cmd==null) return; | 228 if (cmd==null) return; |
229 ns.writeLog(name +"(eid="+eid+",sid="+sid+")"+": read "+cmd); | 229 ns.writeLog(name +"(eid="+eid+",sid="+sid+")"+": read "+cmd); |
230 switch(cmd.cmd) { | 230 switch(cmd.cmd) { |
231 case REPCMD_INSERT : | 231 case REPCMD_INSERT : |
232 text.insert(cmd.lineno, cmd.string); | 232 if (cmd.eid!=eid) { |
233 text.insert(cmd.lineno, cmd.string); | |
234 } | |
233 forwardCommand(cmd); | 235 forwardCommand(cmd); |
234 break; | 236 break; |
235 case REPCMD_DELETE : | 237 case REPCMD_DELETE : |
236 String del=""; | 238 if (cmd.eid!=eid) { |
237 if(cmd.lineno>text.size()) { | 239 String del=""; |
238 del = text.delete(cmd.lineno); | 240 if(cmd.lineno>text.size()) { |
239 } | 241 del = text.delete(cmd.lineno); |
240 cmd.setString(del); | 242 } |
243 cmd.setString(del); | |
244 } | |
241 forwardCommand(cmd); | 245 forwardCommand(cmd); |
242 break; | 246 break; |
243 case REPCMD_NOP : | 247 case REPCMD_NOP : |
244 case REPCMD_INSERT_ACK : | 248 case REPCMD_INSERT_ACK : |
245 case REPCMD_DELETE_ACK : | 249 case REPCMD_DELETE_ACK : |
246 forwardCommand(cmd); | 250 forwardCommand(cmd); |
247 break; | 251 break; |
248 case REPCMD_CLOSE : | 252 case REPCMD_CLOSE : |
249 case REPCMD_CLOSE_2 : | 253 case REPCMD_CLOSE_2 : |
250 assert(false); | 254 assert(false); |
251 break; | 255 break; |
252 | 256 |
253 case SMCMD_JOIN_ACK : | 257 case SMCMD_JOIN_ACK : |
254 sid = cmd.sid; | 258 sid = cmd.sid; |
255 eid = cmd.eid; | 259 eid = cmd.eid; |
256 name += "(eid="+eid+",sid="+sid+")"; | 260 name += "(eid="+eid+",sid="+sid+")"; |
257 inputLock = false; | 261 inputLock = false; |
258 break; | 262 break; |
259 case SMCMD_PUT_ACK : | 263 case SMCMD_PUT_ACK : |
260 sid = cmd.sid; | 264 sid = cmd.sid; |
261 eid = cmd.eid; | 265 eid = cmd.eid; |
262 name += "(eid="+eid+",sid="+sid+")"; | 266 name += "(eid="+eid+",sid="+sid+")"; |
263 inputLock = false; | 267 inputLock = false; |
264 break; | 268 break; |
265 case SMCMD_QUIT : | 269 case SMCMD_QUIT : |
266 if (cmd.eid!=eid) | 270 if (cmd.eid!=eid) |
267 forwardCommand(cmd); | 271 forwardCommand(cmd); |
268 else | 272 else |
269 sendCommand(new REPCommand(REP.SMCMD_QUIT_2, | 273 sendCommand(new REPCommand(REP.SMCMD_QUIT_2, |
270 sid, eid, seq, 0, "")); | 274 sid, eid, seq, 0, "")); |
271 // stop input processing after this command | 275 // stop input processing after this command |
272 cmds.clear(); | 276 cmds.clear(); |
273 break; | 277 break; |
274 case SMCMD_START_MERGE : | 278 case SMCMD_START_MERGE : |
275 // lock user input during merge (optional) | 279 // lock user input during merge (optional) |
276 inputLock = hasInputLock; | 280 inputLock = hasInputLock; |
277 cmd.cmd = REP.SMCMD_START_MERGE_ACK; | 281 cmd.cmd = REP.SMCMD_START_MERGE_ACK; |
278 sendCommand(cmd); | 282 sendCommand(cmd); |
279 break; | 283 break; |
280 case SMCMD_END_MERGE : | 284 case SMCMD_END_MERGE : |
281 inputLock = false; | 285 inputLock = false; |
282 break; | 286 break; |
283 case SMCMD_QUIT_2 : | 287 case SMCMD_QUIT_2 : |
284 if (cmd.eid!=eid) { | 288 if (cmd.eid!=eid) { |
285 forwardCommand(cmd); | 289 forwardCommand(cmd); |
286 } else { | 290 } else { |
287 cmd.cmd = REP.SMCMD_QUIT_2_ACK; | 291 cmd.cmd = REP.SMCMD_QUIT_2_ACK; |
288 sendCommand(cmd); | 292 sendCommand(cmd); |
289 } | 293 } |
290 running = false; | 294 running = false; |
291 break; | 295 break; |
292 case SMCMD_SYNC: | 296 case SMCMD_SYNC: |
293 // start contents sync with newly joined editor | 297 // start contents sync with newly joined editor |
294 cmd.cmd = REP.SMCMD_SYNC_ACK; | 298 cmd.cmd = REP.SMCMD_SYNC_ACK; |
295 forwardCommand(cmd); | 299 forwardCommand(cmd); |
296 //if (cmd.eid==eid) { | 300 //if (cmd.eid==eid) { |
297 if (master && syncEnable ) { | 301 if (master && syncEnable ) { |
298 syncCounter = 1; | 302 syncCounter = 1; |
299 timeout = 1; | 303 timeout = 1; |
300 } | 304 } |
301 break; | 305 break; |
302 default: | 306 default: |
303 assert(false); | 307 assert(false); |
304 break; | 308 break; |
305 } | 309 } |
306 } | 310 } |
307 | 311 |
308 | 312 |
309 public int getPort() { | 313 public int getPort() { |