comparison src/alice/jungle/operations/NetworkTreeOperationLog.java @ 79:5b9708d9febc

Modified NetworkTreeOperationLog NetworkNodeOperation
author one
date Wed, 16 Oct 2013 19:25:02 +0900
parents 190f6a3bdab2
children 3f8ec40d536a
comparison
equal deleted inserted replaced
78:0055d917c796 79:5b9708d9febc
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
12 12
13 @Message 13 @Message
14 public class NetworkTreeOperationLog implements TreeOperationLog 14 public class NetworkTreeOperationLog implements TreeOperationLog
15 { 15 {
16 public Iterable<TreeOperation> list; 16 public LinkedList<TreeOperation> list;
17 public int size; 17 public int size;
18 18
19 public NetworkTreeOperationLog() { 19 public NetworkTreeOperationLog() {
20 list = new LinkedList<TreeOperation>(); 20 list = new LinkedList<TreeOperation>();
21 size = 0; 21 size = 0;
22 } 22 }
23 23
24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size) 24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size)
25 { 25 {
26 list = _list; 26 list = new LinkedList<TreeOperation>();
27 for(TreeOperation op: _list) {
28 NetworkTreeOperation nOp = new NetworkTreeOperation(op);
29 list.add(nOp);
30 }
27 size = _size; 31 size = _size;
28 } 32 }
29 33
30 public Iterable<TreeOperation> getOperationLogList() { 34 public Iterable<TreeOperation> getOperationLogList() {
31 return list; 35 return list;
37 } 41 }
38 42
39 @Override 43 @Override
40 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op) 44 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op)
41 { 45 {
42 TreeOperation op = new NetworkTreeOperation(_p, _op); 46 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op);
43 LinkedList<TreeOperation> newList = new LinkedList<TreeOperation>(); 47 list.add(op);
44 for (Iterator<TreeOperation> iter = list.iterator(); iter.hasNext();) { 48 return new NetworkTreeOperationLog(list, size+1);
45 TreeOperation o = iter.next();
46 newList.add(o);
47 }
48 newList.add(op);
49 return new NetworkTreeOperationLog(newList, size+1);
50 } 49 }
51 50
52 @Override 51 @Override
53 public NetworkTreeOperationLog append(TreeOperationLog _log) 52 public NetworkTreeOperationLog append(TreeOperationLog _log)
54 { 53 {
55 LinkedList<TreeOperation> newList = new LinkedList<TreeOperation>(); 54 for (TreeOperation o : _log) {
56 for (Iterator<TreeOperation> iter = list.iterator(); iter.hasNext();) { 55 NetworkTreeOperation op = new NetworkTreeOperation(o);
57 TreeOperation o = iter.next(); 56 list.add(op);
58 newList.add(o);
59 } 57 }
60 for (TreeOperation o : _log) { 58 return new NetworkTreeOperationLog(list, size+_log.length());
61 newList.add(o);
62 }
63 return new NetworkTreeOperationLog(newList, size+_log.length());
64 } 59 }
65 60
66 @Override 61 @Override
67 public int length() 62 public int length()
68 { 63 {