# HG changeset patch # User one # Date 1373358726 -32400 # Node ID 7e94de2d6bc06b492a52f92722994cbc3a74547c # Parent 10359a81506896d289f0a2dea56334abb836d004 add PutAnotherLogCodeSegment, PutHostLogCodeSegment diff -r 10359a815068 -r 7e94de2d6bc0 src/alice/jungle/codesegment/LogUpdateCodeSegment.java --- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -1,8 +1,17 @@ package alice.jungle.codesegment; +import java.io.IOException; + +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; +import jungle.test.bbs.JungleManager; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; +import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer; public class LogUpdateCodeSegment extends CodeSegment { @@ -13,9 +22,22 @@ } public void run() { + DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class); + DefaultTreeOperationLog log = null; + try { + log = container.convert(); + } catch (IOException e) { + e.printStackTrace(); + } - + JungleManager jm = new JungleManager(); + JungleTree tree = jm.getJungle().getTreeByName("boards"); + JungleTreeEditor editor = tree.getTreeEditor(); + Either either = jm.edit(editor, log); + if(either.isA()) { + throw new IllegalStateException(); + } + editor = either.b(); + editor.success(); } - - } diff -r 10359a815068 -r 7e94de2d6bc0 src/jungle/test/bbs/DistributeApp.java --- a/src/jungle/test/bbs/DistributeApp.java Tue Jul 09 15:10:06 2013 +0900 +++ b/src/jungle/test/bbs/DistributeApp.java Tue Jul 09 17:32:06 2013 +0900 @@ -2,6 +2,9 @@ import javax.servlet.Servlet; +import jungle.test.bbs.codesegment.PutAnotherLogCodeSegment; +import jungle.test.bbs.codesegment.PutHostLogCodeSegment; + import org.mortbay.jetty.Server; import org.mortbay.jetty.servlet.ServletHandler; import org.mortbay.jetty.servlet.ServletHolder; @@ -22,12 +25,18 @@ BulletinBoard cassaBBS = null; cassaBBS = new NetworkJungleBulletinBoard(); RemoteConfig conf = new RemoteConfig(args); - new AliceDaemon(conf).listen(); - if(conf.hostname != null) { + if(conf.hostname == null) { + /* Host Side */ + new AliceDaemon(conf).listen(); + PutHostLogCodeSegment cs = new PutHostLogCodeSegment(); + cs.arg1.setKey("local","log"); + } else { + /* Client Side */ DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); LogUpdateCodeSegment cs = new LogUpdateCodeSegment(); - cs.arg1.setKey("remote", "log"); - + cs.arg1.setKey("remote", "hostLog"); + PutAnotherLogCodeSegment cs2 = new PutAnotherLogCodeSegment(); + cs2.arg1.setKey("local", "log"); } diff -r 10359a815068 -r 7e94de2d6bc0 src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -0,0 +1,21 @@ +package jungle.test.bbs.codesegment; + +import org.msgpack.type.Value; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class PutAnotherLogCodeSegment extends CodeSegment { + + public Receiver arg1 = ids.create(CommandType.TAKE); + + public void run() { + Value v = (Value)arg1.getVal(); + ods.put("remote", "anotherLog", v); + PutAnotherLogCodeSegment cs = new PutAnotherLogCodeSegment(); + cs.arg1.setKey("local", "log"); + + } + +} diff -r 10359a815068 -r 7e94de2d6bc0 src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -0,0 +1,19 @@ +package jungle.test.bbs.codesegment; + +import org.msgpack.type.Value; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class PutHostLogCodeSegment extends CodeSegment { + + public Receiver arg1 = ids.create(CommandType.TAKE); + + public void run() { + Value v = (Value) arg1.getVal(); + ods.put("remote", "hostLog", v); + PutHostLogCodeSegment cs = new PutHostLogCodeSegment(); + cs.arg1.setKey("local", "log"); + } +} diff -r 10359a815068 -r 7e94de2d6bc0 src/jungle/test/codesegment/remote/ClientCodeSegment.java --- a/src/jungle/test/codesegment/remote/ClientCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 +++ b/src/jungle/test/codesegment/remote/ClientCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -10,12 +10,14 @@ public void run() { System.out.println("--ClientCodeSegment--"); + System.out.println("from : " + arg1.from); + System.out.println("index : "+ arg1.index); int num = arg1.asInteger(); System.out.println("num : "+num); num++; ods.put("remote", "num", num); System.exit(0); -// ods.put("remote", "num", num); + } } diff -r 10359a815068 -r 7e94de2d6bc0 src/jungle/test/codesegment/remote/HostCodeSegment.java --- a/src/jungle/test/codesegment/remote/HostCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 +++ b/src/jungle/test/codesegment/remote/HostCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -10,6 +10,8 @@ public void run() { System.out.println("--HostCodeSegment--"); + System.out.println("index : "+ arg1.index); + System.out.println("from : "+ arg1.from); int num = arg1.asInteger(); System.out.println("num : "+ num); num++;