annotate src/alice/test/dpp/codesegment/philosophy/TakeRightForkCodeSegment.java @ 23:da62aa1f4d87

hg rename codesegment package
author one
date Mon, 10 Dec 2012 00:22:41 +0900
parents src/alice/test/dpp/codesegment/TakeRightForkCodeSegment.java@6018e62cb198
children edd9ced13896
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
da62aa1f4d87 hg rename codesegment package
one
parents: 20
diff changeset
1 package alice.test.dpp.codesegment.philosophy;
16
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
2
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
3 import alice.codesegment.CodeSegment;
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
4 import alice.datasegment.CommandType;
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
5 import alice.datasegment.Receiver;
20
6018e62cb198 modified
one
parents: 18
diff changeset
6 import alice.test.dpp.datasegment.Fork;
6018e62cb198 modified
one
parents: 18
diff changeset
7 import alice.test.dpp.datasegment.Philosophy;
16
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
8
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
9 public class TakeRightForkCodeSegment extends CodeSegment {
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
10
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
11 Receiver arg1 = ids.create(CommandType.TAKE);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
12 Receiver arg2 = ids.create(CommandType.TAKE);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
13
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
14 public TakeRightForkCodeSegment(String pName, String forkName) {
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
15 arg1.setKey(pName);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
16 arg2.setKey(forkName);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
17 }
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
18
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
19 @Override
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
20 public void run() {
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
21 Philosophy phil = arg1.asClass(Philosophy.class);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
22 Fork fork = arg2.asClass(Fork.class);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
23 if (fork.getFork(phil.getName())) {
18
f0a2e2d2094e add PutLeftForkCodeSegment, PutRightCodeSegment
one
parents: 16
diff changeset
24 phil.setState(Philosophy.State.TAKELEFTFORK);
16
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
25 new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
26 } else {
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
27 new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork());
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
28 }
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
29 ods.update("local", phil.getName(), phil);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
30 ods.update("local", fork.getForkName(), fork);
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
31 }
f5c2fad58b7e add TakeRightForkCodeSegment TakeLeftForkCodeSegment
one
parents:
diff changeset
32 }