changeset 25:f77f0bb99f35

modify each CodeSegment
author one
date Tue, 15 Jan 2013 16:41:57 +0900
parents edd9ced13896
children 5eb22e2f7169
files src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java src/alice/test/dpp/codesegment/philosophy/PutLeftForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy/PutRightForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy/TakeLeftForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy/TakeRightForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java src/alice/test/dpp/codesegment/philosophy2/PutLeftForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy2/PutRightForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy2/TakeLeftForkCodeSegment.java src/alice/test/dpp/codesegment/philosophy2/TakeRightForkCodeSegment.java
diffstat 13 files changed, 139 insertions(+), 138 deletions(-) [+]
line wrap: on
line diff
--- a/src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ b/src/alice/test/dpp/codesegment/philosophy/EatCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -17,8 +17,8 @@
 	public void run() {
 		Philosophy phil = arg1.asClass(Philosophy.class);
 		System.out.println(phil.getName() + " is eating.");
-		phil.setState(Philosophy.State.PUTRIGHTFORK);
-		new PutRightForkCodeSegment(phil.getName(), phil.getRightFork());
+		phil.setState(Philosophy.State.PUTFORK);
+		new PutForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork());
 		ods.update("local", phil.getName(), phil);
 	}
 }
--- a/src/alice/test/dpp/codesegment/philosophy/PutLeftForkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-package alice.test.dpp.codesegment.philosophy;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.test.dpp.datasegment.Fork;
-import alice.test.dpp.datasegment.Philosophy;
-
-public class PutLeftForkCodeSegment extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	Receiver arg2 = ids.create(CommandType.TAKE);
-	
-	public PutLeftForkCodeSegment(String pName, String fork) {
-		arg1.setKey(pName);
-		arg2.setKey(fork);
-	}
-	
-	@Override
-	public void run() {
-		Philosophy phil = arg1.asClass(Philosophy.class);
-		Fork fork = arg2.asClass(Fork.class);
-		System.out.println(phil.getName() +" put left fork.");
-		fork.onTheTable(phil.getName());
-		phil.setState(Philosophy.State.THINK);
-		new ThinkCodeSegment(phil.getName());
-		ods.update("local", phil.getName(), phil);
-		ods.update("local", fork.getForkName(), fork);
-	}
-}
--- a/src/alice/test/dpp/codesegment/philosophy/PutRightForkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-package alice.test.dpp.codesegment.philosophy;
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.test.dpp.datasegment.Fork;
-import alice.test.dpp.datasegment.Philosophy;
-
-
-public class PutRightForkCodeSegment extends CodeSegment {
-	
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	Receiver arg2 = ids.create(CommandType.TAKE);
-	
-	public PutRightForkCodeSegment(String pName, String fork) {
-		arg1.setKey(pName);
-		arg2.setKey(fork);
-	}
-	
-	@Override
-	public void run() {
-		Philosophy phil = arg1.asClass(Philosophy.class);
-		Fork fork = arg2.asClass(Fork.class);
-		System.out.println(phil.getName() +" put right fork.");
-		fork.onTheTable(phil.getName());
-		phil.setState(Philosophy.State.PUTLEFTFORK);
-		new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
-		ods.update("local", phil.getName(), phil);
-		ods.update("local", fork.getForkName(), fork);
-	}
-}
--- a/src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ b/src/alice/test/dpp/codesegment/philosophy/ScheduleCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -3,6 +3,7 @@
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
+import alice.test.dpp.codesegment.philosophy2.TakeRightForkCodeSegment;
 import alice.test.dpp.datasegment.Philosophy;
 
 public class ScheduleCodeSegment extends CodeSegment {
--- a/src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ b/src/alice/test/dpp/codesegment/philosophy/StartCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -10,9 +10,9 @@
 	public void run() {
 		System.out.println("run StartCodeSegment");
 		
-		new ScheduleCodeSegment("phil1");
-		new ScheduleCodeSegment("phil2");
-		new ScheduleCodeSegment("phil3");
+		new ThinkCodeSegment("phil1");
+		new ThinkCodeSegment("phil2");
+		new ThinkCodeSegment("phil3");
 		
 		ods.update("local", "phil1", new Philosophy("phil1","fork1","fork2"));
 		ods.update("local", "phil2", new Philosophy("phil2","fork2","fork3"));
--- a/src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ b/src/alice/test/dpp/codesegment/philosophy/TakeForkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -28,15 +28,14 @@
 		Fork rightFork = arg2.asClass(Fork.class);
 		Fork leftFork = arg3.asClass(Fork.class);
 		System.out.println(phil.getName() + " is trying to take the fork.");
-
 		if (leftFork.takeFork(phil.getName()) && rightFork.takeFork(phil.getName()) ) {
 			phil.setState(Philosophy.State.EAT);
+			new EatCodeSegment(phil.getName());
 		} else {
-			leftFork.onTheTable(phil.getName());
-			rightFork.onTheTable(phil.getName());
+//			leftFork.onTheTable(phil.getName());
+//			rightFork.onTheTable(phil.getName());
+			new TakeForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork());
 		}
-
-		new ScheduleCodeSegment(phil.getName());
 		ods.update("local", phil.getName(), phil);
 		ods.update("local", leftFork.getForkName(), leftFork);
 		ods.update("local", rightFork.getForkName(), rightFork);
--- a/src/alice/test/dpp/codesegment/philosophy/TakeLeftForkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-package alice.test.dpp.codesegment.philosophy;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.test.dpp.datasegment.Fork;
-import alice.test.dpp.datasegment.Philosophy;
-
-public class TakeLeftForkCodeSegment extends CodeSegment {
-
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	Receiver arg2 = ids.create(CommandType.TAKE);
-	
-	public TakeLeftForkCodeSegment(String pName, String forkName) {
-		arg1.setKey(pName);
-		arg2.setKey(forkName);
-	}
-	
-	@Override
-	public void run() {
-		Philosophy phil = arg1.asClass(Philosophy.class);
-		Fork fork = arg2.asClass(Fork.class);
-		System.out.println(phil.getName() + " take left fork.");
-		if (fork.takeFork(phil.getName())) {
-			phil.setState(Philosophy.State.EAT);
-			new EatCodeSegment(phil.getName());
-		} else { 
-			new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
-		}
-		ods.update("local", phil.getName(), phil);
-		ods.update("local", fork.getForkName(), fork);
-	}
-}
--- a/src/alice/test/dpp/codesegment/philosophy/TakeRightForkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-package alice.test.dpp.codesegment.philosophy;
-
-import alice.codesegment.CodeSegment;
-import alice.datasegment.CommandType;
-import alice.datasegment.Receiver;
-import alice.test.dpp.datasegment.Fork;
-import alice.test.dpp.datasegment.Philosophy;
-
-public class TakeRightForkCodeSegment extends CodeSegment {
-
-	Receiver arg1 = ids.create(CommandType.TAKE);
-	Receiver arg2 = ids.create(CommandType.TAKE);
-	
-	public TakeRightForkCodeSegment(String pName, String forkName) {
-		arg1.setKey(pName);
-		arg2.setKey(forkName);
-	}
-	
-	@Override
-	public void run() {
-		Philosophy phil = arg1.asClass(Philosophy.class);
-		Fork fork = arg2.asClass(Fork.class);
-		if (fork.takeFork(phil.getName())) {
-			phil.setState(Philosophy.State.TAKELEFTFORK);
-			new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
-		} else { 
-			new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork());
-		}
-		ods.update("local", phil.getName(), phil);
-		ods.update("local", fork.getForkName(), fork);
-	}
-}
--- a/src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java	Mon Dec 10 00:47:57 2012 +0900
+++ b/src/alice/test/dpp/codesegment/philosophy/ThinkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -17,9 +17,8 @@
 	public void run() {
 		Philosophy phil = arg1.asClass(Philosophy.class);		
 		System.out.println(phil.getName() + " is thinking");
-		phil.setState(Philosophy.State.TAKERIGHTFORK);
-		new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork());
+		phil.setState(Philosophy.State.TAKEFORK);
+		new TakeForkCodeSegment(phil.getName(), phil.getRightFork(), phil.getLeftFork());
 		ods.update("local", phil.getName(), phil);
 	}
-	
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/test/dpp/codesegment/philosophy2/PutLeftForkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -0,0 +1,31 @@
+package alice.test.dpp.codesegment.philosophy2;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.test.dpp.codesegment.philosophy.ThinkCodeSegment;
+import alice.test.dpp.datasegment.Fork;
+import alice.test.dpp.datasegment.Philosophy;
+
+public class PutLeftForkCodeSegment extends CodeSegment {
+	
+	Receiver arg1 = ids.create(CommandType.TAKE);
+	Receiver arg2 = ids.create(CommandType.TAKE);
+	
+	public PutLeftForkCodeSegment(String pName, String fork) {
+		arg1.setKey(pName);
+		arg2.setKey(fork);
+	}
+	
+	@Override
+	public void run() {
+		Philosophy phil = arg1.asClass(Philosophy.class);
+		Fork fork = arg2.asClass(Fork.class);
+		System.out.println(phil.getName() +" put left fork.");
+		fork.onTheTable(phil.getName());
+		phil.setState(Philosophy.State.THINK);
+		new ThinkCodeSegment(phil.getName());
+		ods.update("local", phil.getName(), phil);
+		ods.update("local", fork.getForkName(), fork);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/test/dpp/codesegment/philosophy2/PutRightForkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -0,0 +1,30 @@
+package alice.test.dpp.codesegment.philosophy2;
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.test.dpp.datasegment.Fork;
+import alice.test.dpp.datasegment.Philosophy;
+
+
+public class PutRightForkCodeSegment extends CodeSegment {
+	
+	Receiver arg1 = ids.create(CommandType.TAKE);
+	Receiver arg2 = ids.create(CommandType.TAKE);
+	
+	public PutRightForkCodeSegment(String pName, String fork) {
+		arg1.setKey(pName);
+		arg2.setKey(fork);
+	}
+	
+	@Override
+	public void run() {
+		Philosophy phil = arg1.asClass(Philosophy.class);
+		Fork fork = arg2.asClass(Fork.class);
+		System.out.println(phil.getName() +" put right fork.");
+		fork.onTheTable(phil.getName());
+		phil.setState(Philosophy.State.PUTLEFTFORK);
+		new PutLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
+		ods.update("local", phil.getName(), phil);
+		ods.update("local", fork.getForkName(), fork);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/test/dpp/codesegment/philosophy2/TakeLeftForkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -0,0 +1,34 @@
+package alice.test.dpp.codesegment.philosophy2;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.test.dpp.codesegment.philosophy.EatCodeSegment;
+import alice.test.dpp.datasegment.Fork;
+import alice.test.dpp.datasegment.Philosophy;
+
+public class TakeLeftForkCodeSegment extends CodeSegment {
+
+	Receiver arg1 = ids.create(CommandType.TAKE);
+	Receiver arg2 = ids.create(CommandType.TAKE);
+	
+	public TakeLeftForkCodeSegment(String pName, String forkName) {
+		arg1.setKey(pName);
+		arg2.setKey(forkName);
+	}
+	
+	@Override
+	public void run() {
+		Philosophy phil = arg1.asClass(Philosophy.class);
+		Fork fork = arg2.asClass(Fork.class);
+		System.out.println(phil.getName() + " take left fork.");
+		if (fork.takeFork(phil.getName())) {
+			phil.setState(Philosophy.State.EAT);
+			new EatCodeSegment(phil.getName());
+		} else { 
+			new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
+		}
+		ods.update("local", phil.getName(), phil);
+		ods.update("local", fork.getForkName(), fork);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/test/dpp/codesegment/philosophy2/TakeRightForkCodeSegment.java	Tue Jan 15 16:41:57 2013 +0900
@@ -0,0 +1,32 @@
+package alice.test.dpp.codesegment.philosophy2;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.test.dpp.datasegment.Fork;
+import alice.test.dpp.datasegment.Philosophy;
+
+public class TakeRightForkCodeSegment extends CodeSegment {
+
+	Receiver arg1 = ids.create(CommandType.TAKE);
+	Receiver arg2 = ids.create(CommandType.TAKE);
+	
+	public TakeRightForkCodeSegment(String pName, String forkName) {
+		arg1.setKey(pName);
+		arg2.setKey(forkName);
+	}
+	
+	@Override
+	public void run() {
+		Philosophy phil = arg1.asClass(Philosophy.class);
+		Fork fork = arg2.asClass(Fork.class);
+		if (fork.takeFork(phil.getName())) {
+			phil.setState(Philosophy.State.TAKELEFTFORK);
+			new TakeLeftForkCodeSegment(phil.getName(), phil.getLeftFork());
+		} else { 
+			new TakeRightForkCodeSegment(phil.getName(), phil.getRightFork());
+		}
+		ods.update("local", phil.getName(), phil);
+		ods.update("local", fork.getForkName(), fork);
+	}
+}