annotate src/alice/jungle/operations/NetworkTreeOperationLog.java @ 80:3f8ec40d536a

Added NetworkTreeOperationlogTest
author one
date Wed, 16 Oct 2013 19:38:56 +0900
parents 5b9708d9febc
children b3ccefdf2b43
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
190f6a3bdab2 rename some packages
one
parents: 2
diff changeset
1 package alice.jungle.operations;
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
2
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
3 import java.util.Iterator;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
4 import java.util.LinkedList;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
5
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
6 import org.msgpack.annotation.Message;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
7
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
12
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
13 @Message
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
14 public class NetworkTreeOperationLog implements TreeOperationLog
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
15 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
16 public LinkedList<TreeOperation> list;
2
20498c88a70d add Container
one
parents: 1
diff changeset
17 public int size;
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
18
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
19 public NetworkTreeOperationLog() {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
20 list = new LinkedList<TreeOperation>();
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
21 size = 0;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
22 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
23
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
24 public NetworkTreeOperationLog(Iterable<TreeOperation> _list, int _size)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
25 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
26 list = new LinkedList<TreeOperation>();
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
27 for(TreeOperation op: _list) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
28 NetworkTreeOperation nOp = new NetworkTreeOperation(op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
29 list.add(nOp);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
30 }
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
31 size = _size;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
32 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
33
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
34 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
35 public Iterator<TreeOperation> iterator() {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
36 return list.iterator();
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
37 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
38
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
39 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
40 public NetworkTreeOperationLog add(NodePath _p, NodeOperation _op)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
41 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
42 NetworkTreeOperation op = new NetworkTreeOperation(_p, _op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
43 list.add(op);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
44 return new NetworkTreeOperationLog(list, size+1);
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
45 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
46
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
47 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
48 public NetworkTreeOperationLog append(TreeOperationLog _log)
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
49 {
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
50 for (TreeOperation o : _log) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
51 NetworkTreeOperation op = new NetworkTreeOperation(o);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
52 list.add(op);
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
53 }
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 31
diff changeset
54 return new NetworkTreeOperationLog(list, size+_log.length());
1
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
55 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
56
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
57 @Override
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
58 public int length()
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
59 {
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
60 return size;
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
61 }
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
62
8ee02d1a2b12 add jungle.test.operations
one
parents:
diff changeset
63 }