Mercurial > hg > Database > Alice
diff src/alice/test/topology/aquarium/CheckMyName.java @ 134:53aff28cde6b working
change package
author | sugi |
---|---|
date | Wed, 15 Aug 2012 17:11:57 +0900 |
parents | src/alice/test/topology/fishmodel/beta/CheckMyName.java@26b4b18c51fa |
children | 2f401fd70311 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/alice/test/topology/aquarium/CheckMyName.java Wed Aug 15 17:11:57 2012 +0900 @@ -0,0 +1,78 @@ +package alice.test.topology.aquarium; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + + +public class CheckMyName extends CodeSegment { + Receiver host = ids.create(CommandType.PEEK); + Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$"); + String key = "fish"; + + @Override + public void run(){ + + String name = host.asString(); + Matcher matcher = pattern.matcher(name); + + matcher.find(); + String type = matcher.group(1); + int num = new Integer(matcher.group(2)); + /* + ods.put("local", "myMax", num); + if (type.equals("cli")){ + ods.put("parent", "check", num); + }else if (type.equals("node")){ + if (num !=0){ + ods.put("parent", "check", num); + } else { + + } + } + */ + + MakeFrame frame = new MakeFrame(name); + RoutingTable routing = new RoutingTable(); + /* + ods.put("local", "max", num); + new CheckLocalIndex(key,1); + */ + if (type.equals("cli")){ + System.out.println("cli"+num); + routing.table.add(new Routing("parent")); + ods.put("local", "list", routing); + + new AddRoutingTable(routing,0); + ods.put("parent", "member", name); + + }else if (type.equals("node")){ + System.out.println("node"+num); + if (num != 0){ + routing.table.add(new Routing("parent")); + ods.put("parent", "member", name); + + } + ods.put("local", "list", routing); + new AddRoutingTable(routing,0); + + } + + ods.update("local", key, new FishPoint(-0.1f,-0.1f)); + new SetLocation(new MakeObject(frame),key,0,num); + new CheckLocalIndex(key,1); + + for (int i = 0;i < 3 ; i++){ + key = "fish"+i; + if (num == 0) new AutoIncrement(key,0); + ods.update("local", key, new FishPoint(0.2f*i,0.2f*i)); + new SetLocation(new MakeObject(frame),key,0,num); + new CheckLocalIndex(key,1); + } + + + } +}