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);
 	}
 	
 }