Mercurial > hg > Members > nobuyasu > Alice > DPPAlice
diff src/alice/test/dpp/codesegment/EatCodeSegment.java @ 14:33727db069c2
add ScheduleCodeSegment. modified CodeSegment
author | one |
---|---|
date | Wed, 28 Nov 2012 17:41:42 +0900 |
parents | bfaaebb50a2e |
children | 7e91e919a7de |
line wrap: on
line diff
--- a/src/alice/test/dpp/codesegment/EatCodeSegment.java Wed Nov 28 16:21:34 2012 +0900 +++ b/src/alice/test/dpp/codesegment/EatCodeSegment.java Wed Nov 28 17:41:42 2012 +0900 @@ -3,29 +3,23 @@ import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; -import alice.test.dpp.model.Fork; import alice.test.dpp.model.Philosophy; public class EatCodeSegment extends CodeSegment { - Philosophy phil; Receiver arg1 = ids.create(CommandType.TAKE); - Receiver arg2 = ids.create(CommandType.TAKE); - public EatCodeSegment(Philosophy p) { - phil = p; - arg1.setKey(phil.getLeftFork()); - arg2.setKey(phil.getRightFork()); + public EatCodeSegment(String pName) { + arg1.setKey(pName); } @Override public void run() { + Philosophy phil = arg1.asClass(Philosophy.class); System.out.println(phil.getName() + " is eating."); - Fork leftFork = arg1.asClass(Fork.class); - Fork rightFork = arg2.asClass(Fork.class); - new PutForkCodeSegment(phil); - ods.update("local", leftFork.getForkName(), leftFork); - ods.update("local", rightFork.getForkName(), rightFork); + phil.setState(Philosophy.State.PUTFORK); + new ScheduleCodeSegment(phil.getName()); + ods.update("local", phil.getName(), phil); } }