Mercurial > hg > Database > jungle-network
annotate src/main/java/app/bbs/codesegment/LogUpdateCodeSegment.java @ 128:48d342e72dd7
Modified to TAKE in LogUpdateCodeSegment
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 11 Jan 2014 08:55:29 +0900 |
parents | 495ac60d7f5f |
children | 00fcb468de27 |
rev | line source |
---|---|
112 | 1 package app.bbs.codesegment; |
34 | 2 |
96 | 3 import java.util.List; |
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 | 8 import alice.jungle.operations.NetworkTreeOperationLog; |
123 | 9 import app.bbs.BullentInBoardJungleManager; |
40 | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | |
34 | 13 |
14 public class LogUpdateCodeSegment extends CodeSegment { | |
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 | 17 Receiver clist = ids.create(CommandType.PEEK); |
18 | |
47 | 19 public LogUpdateCodeSegment() { |
96 | 20 log.setKey("log"); |
21 clist.setKey("_CLIST");; | |
39 | 22 } |
23 | |
50 | 24 public LogUpdateCodeSegment(int index) { |
96 | 25 log.setKey("log", index); |
26 clist.setKey("_CLIST");; | |
49 | 27 } |
28 | |
34 | 29 public void run() { |
96 | 30 int index = log.index; |
31 NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class); | |
32 @SuppressWarnings("unchecked") | |
33 List<String> list = clist.asClass(List.class); | |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
34 if (!log.from.equals("local")) { |
123 | 35 Either<Error, JungleTreeEditor> either = BullentInBoardJungleManager.update(netLog); |
96 | 36 if(either.isA()) { |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
37 /* Should throw after new LogUpdateCodeSegment */ |
96 | 38 throw new IllegalStateException(); |
39 } | |
42 | 40 } |
96 | 41 for (String node : list) { |
42 if (!node.equals(log.from)) { | |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
43 ods.put(node, log.key, log.getVal()); |
96 | 44 } |
46 | 45 } |
99 | 46 new LogUpdateCodeSegment(index); |
34 | 47 } |
48 } |