# HG changeset patch # User tkaito # Date 1219747526 -32400 # Node ID a5c56bff6359c275d8d64e06450bef395908157b # Parent 55bc9f6b0691240ef09de46e465fdef06b9e1eb8 *** empty log message *** diff -r 55bc9f6b0691 -r a5c56bff6359 src/pathfinder/mergetest/test/RepCommandOptimizeTest.java --- a/src/pathfinder/mergetest/test/RepCommandOptimizeTest.java Tue Aug 26 19:09:15 2008 +0900 +++ b/src/pathfinder/mergetest/test/RepCommandOptimizeTest.java Tue Aug 26 19:45:26 2008 +0900 @@ -19,7 +19,7 @@ }; - String[] test2 = new String[test1.length]; + //String[] test2 = new String[test1.length]; static LinkedList cmdlist = new LinkedList(); Text text = new Text(); @@ -58,7 +58,58 @@ System.out.println("------------ Text -----------"); text.printAllText(); } + LinkedList optimize(LinkedList input){ + LinkedList output = new LinkedList(); + for(REPCommand r : input){ + optimizedAdd(output,r); + } + + return reverse(output); + + } + private LinkedList reverse(LinkedList outp) { + LinkedList reverse = new LinkedList(); + for(REPCommand r : outp){ + reverse.addFirst(r); + } + return reverse; + } + private void optimizedAdd(LinkedList output, REPCommand r) { + switch(r.cmd){ + case REP.REPCMD_INSERT: + optimizedAddInsert(output,r);break; + case REP.REPCMD_DELETE: + optimizedAddDelete(output,r);break; + } + + } + private void optimizedAddDelete(LinkedList output, REPCommand r) { + for(REPCommand s : output){ + switch(r.cmd){ + case REP.REPCMD_INSERT: + break; + case REP.REPCMD_DELETE: + break; + } + } + + } + private void optimizedAddInsert(LinkedList output, REPCommand r) { + int lineno = r.lineno; + for(int i = 0; i < output.size(); i++){ + REPCommand s = output.get(i); + switch(s.cmd){ + case REP.REPCMD_INSERT: + break; + case REP.REPCMD_DELETE: + if(s.lineno == lineno){ + output.remove(s); + } + break; + } + } + } public static void main(String[] s){ RepCommandOptimizeTest rco = new RepCommandOptimizeTest();