Mercurial > hg > Members > nobuyasu > jungle-network
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 { |