comparison src/alice/test/dpp/codesegment/PutRightForkCodeSegment.java @ 18:f0a2e2d2094e

add PutLeftForkCodeSegment, PutRightCodeSegment
author one
date Sun, 09 Dec 2012 23:00:34 +0900
parents
children 6018e62cb198
comparison
equal deleted inserted replaced
17:92cde6277018 18:f0a2e2d2094e
1 package alice.test.dpp.codesegment;
2 import alice.codesegment.CodeSegment;
3 import alice.datasegment.CommandType;
4 import alice.datasegment.Receiver;
5 import alice.test.dpp.model.Fork;
6 import alice.test.dpp.model.Philosophy;
7
8
9 public class PutRightForkCodeSegment extends CodeSegment {
10
11 Receiver arg1 = ids.create(CommandType.TAKE);
12 Receiver arg2 = ids.create(CommandType.TAKE);
13
14 public PutRightForkCodeSegment(String pName, String fork) {
15 arg1.setKey(pName);
16 arg2.setKey(fork);
17 }
18
19 @Override
20 public void run() {
21 Philosophy phil = arg1.asClass(Philosophy.class);
22 Fork fork = arg2.asClass(Fork.class);
23 System.out.println(phil.getName() +" put right fork.");
24 fork.onTheTable(phil.getName());
25 phil.setState(Philosophy.State.PUTLEFTFORK);
26 new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
27 ods.update("local", phil.getName(), phil);
28 ods.update("local", fork.getForkName(), fork);
29 }
30 }