Mercurial > hg > Database > jungle-network
annotate src/main/java/app/bbs/codesegment/LogUpdateCodeSegment.java @ 113:7d9b7fcb4d9a
Add LogPutCodeSegment
author | one |
---|---|
date | Wed, 04 Dec 2013 20:38:51 +0900 |
parents | 8f9811a1e00c |
children | 495ac60d7f5f |
rev | line source |
---|---|
112 | 1 package app.bbs.codesegment; |
34 | 2 |
40 | 3 |
59
8a532ca5df80
refactoring LogUpdateCodeSegment and ChildLogCheckCodeSegment
one
parents:
58
diff
changeset
|
4 |
96 | 5 import java.util.List; |
6 | |
106
f42f2e6b31de
Removed project reference and Added dependency in pom.xml
one
parents:
105
diff
changeset
|
7 import alice.codesegment.CodeSegment; |
f42f2e6b31de
Removed project reference and Added dependency in pom.xml
one
parents:
105
diff
changeset
|
8 import alice.datasegment.CommandType; |
f42f2e6b31de
Removed project reference and Added dependency in pom.xml
one
parents:
105
diff
changeset
|
9 import alice.datasegment.Receiver; |
105 | 10 import alice.jungle.operations.NetworkTreeOperationLog; |
112 | 11 import app.bbs.JungleManager; |
40 | 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | |
34 | 15 |
16 public class LogUpdateCodeSegment extends CodeSegment { | |
17 | |
96 | 18 Receiver log = ids.create(CommandType.PEEK); |
19 Receiver clist = ids.create(CommandType.PEEK); | |
20 | |
47 | 21 public LogUpdateCodeSegment() { |
96 | 22 log.setKey("log"); |
23 clist.setKey("_CLIST");; | |
39 | 24 } |
25 | |
50 | 26 public LogUpdateCodeSegment(int index) { |
96 | 27 log.setKey("log", index); |
28 clist.setKey("_CLIST");; | |
49 | 29 } |
30 | |
34 | 31 public void run() { |
96 | 32 int index = log.index; |
33 NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class); | |
34 @SuppressWarnings("unchecked") | |
35 List<String> list = clist.asClass(List.class); | |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
36 if (!log.from.equals("local")) { |
96 | 37 Either<Error, JungleTreeEditor> either = JungleManager.update(netLog); |
38 if(either.isA()) { | |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
39 /* Should throw after new LogUpdateCodeSegment */ |
96 | 40 throw new IllegalStateException(); |
41 } | |
42 | 42 } |
96 | 43 for (String node : list) { |
44 if (!node.equals(log.from)) { | |
97
11ad00323206
Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents:
96
diff
changeset
|
45 ods.put(node, log.key, log.getVal()); |
96 | 46 } |
46 | 47 } |
99 | 48 new LogUpdateCodeSegment(index); |
34 | 49 } |
50 } |