annotate src/jungle/app/bbs/codesegment/LogUpdateCodeSegment.java @ 96:fcce7ca4adb9

Modified LogUpdateCodesegment
author one
date Mon, 18 Nov 2013 19:34:15 +0900
parents 87ec5dd0dc27
children 11ad00323206
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
29127ac788a6 move some files
one
parents: 65
diff changeset
1 package jungle.app.bbs.codesegment;
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
2
40
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
3
59
8a532ca5df80 refactoring LogUpdateCodeSegment and ChildLogCheckCodeSegment
one
parents: 58
diff changeset
4
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
5 import java.util.List;
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
6
40
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
7e94de2d6bc0 add PutAnotherLogCodeSegment, PutHostLogCodeSegment
one
parents: 39
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
66
29127ac788a6 move some files
one
parents: 65
diff changeset
10 import jungle.app.bbs.JungleManager;
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
11 import alice.codesegment.CodeSegment;
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
12 import alice.datasegment.CommandType;
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
13 import alice.datasegment.Receiver;
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
14 import alice.jungle.operations.NetworkTreeOperationLog;
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
15
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
16 public class LogUpdateCodeSegment extends CodeSegment {
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
17
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
18 Receiver log = ids.create(CommandType.PEEK);
52
61b2de3f7730 add HashSetDataSegment and HashLogUpdateCodeSegment.
one
parents: 51
diff changeset
19 Receiver host = ids.create(CommandType.PEEK);
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
20 Receiver clist = ids.create(CommandType.PEEK);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
21
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 34
diff changeset
22
47
686057add8a4 confirmed LogUpdateCodeSegment
one
parents: 46
diff changeset
23 public LogUpdateCodeSegment() {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
24 log.setKey("log");
50
459b50f1a6ee add ChildLogCheckCodeSegment.
one
parents: 49
diff changeset
25 host.setKey("host");
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
26 clist.setKey("_CLIST");;
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 34
diff changeset
27 }
10359a815068 add alice.jungle.codesegment.remote
one
parents: 34
diff changeset
28
50
459b50f1a6ee add ChildLogCheckCodeSegment.
one
parents: 49
diff changeset
29 public LogUpdateCodeSegment(int index) {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
30 log.setKey("log", index);
50
459b50f1a6ee add ChildLogCheckCodeSegment.
one
parents: 49
diff changeset
31 host.setKey("host");
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
32 clist.setKey("_CLIST");;
49
a89c3539bff2 modified LogUpdateCodeSegment
one
parents: 47
diff changeset
33 }
a89c3539bff2 modified LogUpdateCodeSegment
one
parents: 47
diff changeset
34
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
35 public void run() {
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
36 int index = log.index;
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
37 NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
38 String hostName = host.asString();
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
39 @SuppressWarnings("unchecked")
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
40 List<String> list = clist.asClass(List.class);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
41 if (!hostName.equals((log.from))) {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
42 Either<Error, JungleTreeEditor> either = JungleManager.update(netLog);
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
43 if(either.isA()) {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
44 throw new IllegalStateException();
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
45 }
42
4419ac56cbfd implemented serverName filed
one
parents: 40
diff changeset
46 }
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
47 for (String node : list) {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
48 if (!node.equals(log.from)) {
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
49 ods.update(node, log.key, log.getVal());
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 75
diff changeset
50 }
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
51 }
51
9e782b4eb06e add HashSetConvertDataSegment
one
parents: 50
diff changeset
52 new LogUpdateCodeSegment(index);
34
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
53 }
bf696a6334b2 add LogUpdateCodeSegment
one
parents:
diff changeset
54 }