annotate src/main/java/app/bbs/codesegment/LogUpdateCodeSegment.java @ 141:7ce940e454f0

Modified LogUpdateCodeSegment
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 25 Jan 2014 20:30:22 +0900
parents 00fcb468de27
children 85dab752d0ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
8f9811a1e00c Moved app files
one
parents: 106
diff changeset
1 package app.bbs.codesegment;
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
2
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
3 import java.util.List;
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
4
106
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
5 import alice.codesegment.CodeSegment;
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
6 import alice.datasegment.CommandType;
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
7 import alice.datasegment.Receiver;
105
f9e29a52efd3 Move some files
one
parents: 99
diff changeset
8 import alice.jungle.operations.NetworkTreeOperationLog;
133
00fcb468de27 Rename to BulletinBoardJungleManager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 128
diff changeset
9 import app.bbs.BulletinBoardJungleManager;
40
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
13
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
14 public class LogUpdateCodeSegment extends CodeSegment {
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
15
128
48d342e72dd7 Modified to TAKE in LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
16 Receiver log = ids.create(CommandType.TAKE);
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
17 Receiver clist = ids.create(CommandType.PEEK);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
18
47
686057add8a4 confirmed LogUpdateCodeSegment
one
parents: 46
diff changeset
19 public LogUpdateCodeSegment() {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
20 log.setKey("log");
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
21 clist.setKey("_CLIST");;
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 34
diff changeset
22 }
10359a815068 add alice.jungle.codesegment.remote
one
parents: 34
diff changeset
23
50
459b50f1a6ee add ChildLogCheckCodeSegment.
one
parents: 49
diff changeset
24 public LogUpdateCodeSegment(int index) {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
25 log.setKey("log", index);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
26 clist.setKey("_CLIST");;
49
a89c3539bff2 modified LogUpdateCodeSegment
one
parents: 47
diff changeset
27 }
a89c3539bff2 modified LogUpdateCodeSegment
one
parents: 47
diff changeset
28
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
29 public void run() {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
30 int index = log.index;
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
31 NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
32 @SuppressWarnings("unchecked")
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
33 List<String> list = clist.asClass(List.class);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
34 for (String node : list) {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
35 if (!node.equals(log.from)) {
97
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 96
diff changeset
36 ods.put(node, log.key, log.getVal());
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
37 }
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
38 }
141
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
39 if (!log.from.equals("local")) {
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
40 Either<Error, JungleTreeEditor> either = BulletinBoardJungleManager.update(netLog);
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
41 if(either.isA()) {
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
42 new LogUpdateCodeSegment(index);
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
43 throw new IllegalStateException();
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
44 }
7ce940e454f0 Modified LogUpdateCodeSegment
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
45 }
99
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
46 new LogUpdateCodeSegment(index);
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
47 }
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
48 }