Mercurial > hg > Members > nobuyasu > jungle-network
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 |
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; |
133
00fcb468de27
Rename to BulletinBoardJungleManager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
128
diff
changeset
|
9 import app.bbs.BulletinBoardJungleManager; |
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); | |
34 for (String node : list) { | |
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 | 37 } |
46 | 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 | 46 new LogUpdateCodeSegment(index); |
34 | 47 } |
48 } |