Mercurial > hg > Database > Alice
annotate src/main/java/alice/test/topology/aquarium/fx/CheckAllFishInfoExist.java @ 547:e91a574b69de dispose
remove index
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Aug 2015 16:15:17 +0900 |
parents | 15eeb439830c |
children |
rev | line source |
---|---|
384 | 1 package alice.test.topology.aquarium.fx; |
2 | |
397
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
3 import java.io.IOException; |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
4 |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
5 import javafx.scene.Group; |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
6 import javafx.scene.Node; |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
7 |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
8 import org.msgpack.MessagePack; |
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
9 import org.msgpack.type.ArrayValue; |
396
f64e53200228
root node send all object information to "registeredList" Key
sugi
parents:
384
diff
changeset
|
10 import org.msgpack.type.Value; |
384 | 11 |
12 import alice.codesegment.CodeSegment; | |
13 import alice.datasegment.CommandType; | |
14 import alice.datasegment.Receiver; | |
15 | |
397
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
16 public class CheckAllFishInfoExist extends CodeSegment { |
419 | 17 // this CS check all fish object exist in scene |
384 | 18 |
419 | 19 private Receiver info = ids.create(CommandType.TAKE); // fishInfoList |
467 | 20 private Receiver info1 = ids.create(CommandType.PEEK); |
397
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
21 |
419 | 22 public CheckAllFishInfoExist(){ |
547 | 23 info.setKey("receiveRegisteredList", this); |
24 info1.setKey("root", this); | |
419 | 25 } |
396
f64e53200228
root node send all object information to "registeredList" Key
sugi
parents:
384
diff
changeset
|
26 |
419 | 27 @Override |
28 public void run() { | |
29 try { | |
30 new SendDataOthers(info, info.key); | |
31 ods.put("registeredList", info.getVal()); | |
32 ArrayValue fishInfoList = info.asClass(Value.class).asArrayValue(); | |
543
f3f7e256ee03
add AliceDaemon on paramater
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
539
diff
changeset
|
33 MessagePack packer = aliceDaemon.packer; |
419 | 34 Group root = info1.asClass(Group.class); |
35 for (Value v : fishInfoList){ | |
36 boolean exist = false; | |
529
cb7c31848d16
add CompressedDSMs
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
467
diff
changeset
|
37 FishInfo info = packer.convert(v, FishInfo.class); |
419 | 38 if (info.name != null) { |
39 for (Node n : root.getChildren()) { | |
40 if (info.name.equals(n.getId())) { | |
41 exist = true; | |
42 break; | |
467 | 43 } |
419 | 44 } |
397
ca92da166f1a
check All fish object in own scene om CheckAllFishInfoExist code segment
sugi
parents:
396
diff
changeset
|
45 |
419 | 46 if (!exist) { |
47 info.fromCheckExist = true; | |
48 ods.put("fishData", info); | |
49 } | |
50 } | |
51 } | |
52 | |
53 } catch (IOException e) { | |
54 e.printStackTrace(); | |
55 } | |
56 this.recycle(); | |
57 } | |
384 | 58 |
59 } |