# HG changeset patch # User sugi # Date 1402469399 -32400 # Node ID 56d4f93a3921a1416fef5d0e0e5128d34e16b5af # Parent 878d397904da421853848fe3eac6c73253b874ba add RegisterList diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/Aquarium.java --- a/src/main/java/alice/test/topology/aquarium/fx/Aquarium.java Tue Jun 10 19:36:46 2014 +0900 +++ b/src/main/java/alice/test/topology/aquarium/fx/Aquarium.java Wed Jun 11 15:49:59 2014 +0900 @@ -30,6 +30,7 @@ primaryStage.setOnCloseRequest(new EventHandler(){ @Override public void handle(WindowEvent event) { + // should send finish DataSegment System.exit(0); } }); @@ -55,7 +56,6 @@ } } }); - primaryStage.setScene(scene); primaryStage.show(); } @@ -67,8 +67,8 @@ // Create and position camera PerspectiveCamera camera = new PerspectiveCamera(true); camera.getTransforms().addAll( - new Rotate(-20, Rotate.Y_AXIS), - new Rotate(-20, Rotate.X_AXIS), + new Rotate(0, Rotate.Y_AXIS), + new Rotate(0, Rotate.X_AXIS), new Translate(0, 0, -15)); camera.setId("camera"); diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/CheckMyName.java --- a/src/main/java/alice/test/topology/aquarium/fx/CheckMyName.java Tue Jun 10 19:36:46 2014 +0900 +++ b/src/main/java/alice/test/topology/aquarium/fx/CheckMyName.java Wed Jun 11 15:49:59 2014 +0900 @@ -1,5 +1,6 @@ package alice.test.topology.aquarium.fx; +import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -8,9 +9,9 @@ import alice.datasegment.Receiver; public class CheckMyName extends CodeSegment { - private Receiver host = ids.create(CommandType.PEEK); + private Receiver host = ids.create(CommandType.PEEK); private Pattern pattern = Pattern.compile("^(node|cli|local)([0-9]+)$"); - + public CheckMyName(){ host.setKey("host"); } @@ -20,19 +21,26 @@ String name = host.asString(); Matcher matcher = pattern.matcher(name); matcher.find(); - + // use view scope //String type = matcher.group(1); - //int num = new Integer(matcher.group(2)); + int num = new Integer(matcher.group(2)); + if (num == 0){ // root node + new RegisterList(); + ods.put("registeredList", new ArrayList()); + } else { + new ReceiveRegisterList(); + } + FishInfo fishInfo = new FishInfo(0,0,0); fishInfo.setName(name); - + ods.put("fishData", fishInfo); - + new CreateObject(); new AddObject(); - + String[] args = {name}; Aquarium.main(args); } diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/CreateObject.java --- a/src/main/java/alice/test/topology/aquarium/fx/CreateObject.java Tue Jun 10 19:36:46 2014 +0900 +++ b/src/main/java/alice/test/topology/aquarium/fx/CreateObject.java Wed Jun 11 15:49:59 2014 +0900 @@ -23,7 +23,6 @@ @Override public void run() { - System.out.println("receive data " +info.from); FishInfo fishInfo = info.asClass(FishInfo.class); BooleanProperty showWireframe = new SimpleBooleanProperty(false); diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/ReceiveRegisterList.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/test/topology/aquarium/fx/ReceiveRegisterList.java Wed Jun 11 15:49:59 2014 +0900 @@ -0,0 +1,25 @@ +package alice.test.topology.aquarium.fx; + +import java.util.ArrayList; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class ReceiveRegisterList extends CodeSegment { + private Receiver info = ids.create(CommandType.PEEK); + + public ReceiveRegisterList(){ + info.setKey("registeredList"); + } + + @Override + public void run() { + @SuppressWarnings("unchecked") + ArrayList list = info.asClass(ArrayList.class); + for (FishInfo f :list){ + System.out.println(f.name); + } + } + +} diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/RegisterList.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/test/topology/aquarium/fx/RegisterList.java Wed Jun 11 15:49:59 2014 +0900 @@ -0,0 +1,33 @@ +package alice.test.topology.aquarium.fx; + +import java.util.ArrayList; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class RegisterList extends CodeSegment{ + + private Receiver info = ids.create(CommandType.TAKE); // created fish object info + private Receiver info1 = ids.create(CommandType.PEEK); // created fish List + + public RegisterList(){ + info.setKey("register"); + info1.setKey("registeredList"); + } + + @Override + public void run() { + System.out.println("registeredList"); + FishInfo fishInfo = info.asClass(FishInfo.class); + + @SuppressWarnings("unchecked") + ArrayList list = info1.asClass(ArrayList.class); + + list.add(fishInfo); + ods.update(info1.key, list); + new SendDataOthers(info1, "registeredList"); + new RegisterList(); + } + +} diff -r 878d397904da -r 56d4f93a3921 src/main/java/alice/test/topology/aquarium/fx/SendDataOthers.java --- a/src/main/java/alice/test/topology/aquarium/fx/SendDataOthers.java Tue Jun 10 19:36:46 2014 +0900 +++ b/src/main/java/alice/test/topology/aquarium/fx/SendDataOthers.java Wed Jun 11 15:49:59 2014 +0900 @@ -7,6 +7,7 @@ import alice.datasegment.Receiver; public class SendDataOthers extends CodeSegment { + // this CodeSegment is bad. private Receiver info = ids.create(CommandType.PEEK); private Receiver info1; // should use dataSegment @@ -20,11 +21,9 @@ @Override public void run() { - System.out.println(key); @SuppressWarnings("unchecked") List nodes = info.asClass(List.class); for (String node : nodes) { - System.out.println(node); if (!info1.from.equals(node)) ods.put(node, key, info1.getVal()); }