# HG changeset patch # User one # Date 1373350206 -32400 # Node ID 10359a81506896d289f0a2dea56334abb836d004 # Parent d8ee57a1c2c6885cedb129a4e76ace7de29c8144 add alice.jungle.codesegment.remote diff -r d8ee57a1c2c6 -r 10359a815068 src/alice/jungle/codesegment/LogUpdateCodeSegment.java --- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -6,6 +6,12 @@ public class LogUpdateCodeSegment extends CodeSegment { + public Receiver arg1 = ids.create(CommandType.TAKE); + + public LogUpdateCodeSegment() { + + } + public void run() { diff -r d8ee57a1c2c6 -r 10359a815068 src/alice/jungle/remote/RemoteConfig.java --- a/src/alice/jungle/remote/RemoteConfig.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/alice/jungle/remote/RemoteConfig.java Tue Jul 09 15:10:06 2013 +0900 @@ -6,7 +6,7 @@ public String hostname; public int connectPort = 10000; - public String key; + public String key = "remote"; public RemoteConfig(String[] args) { super(args); diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/bbs/App.java --- a/src/jungle/test/bbs/App.java Mon Jul 08 20:25:58 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -package jungle.test.bbs; - -import javax.servlet.Servlet; - -import org.mortbay.jetty.Server; -import org.mortbay.jetty.servlet.ServletHandler; -import org.mortbay.jetty.servlet.ServletHolder; - -/** - * Hello world! - * - */ -public class App -{ - public static void main( String[] args ) throws Exception - { - BulletinBoard cassaBBS = null; - if(args.length == 0){ - cassaBBS = new JungleBulletinBoard(); - }else{ - cassaBBS = new CassandraBulletinBoard("test-cluster","localhost:9160","cassaBBS2"); - } - - - String createBoardMessagePath = "/createBoardMessage"; - String createBoardPath = "/createBoard"; - String editMessagePath = "/editMessage"; - String showBoardMessagePath = "/showBoardMessage"; - - Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); - Servlet createBoard = new CreateBoardServlet(cassaBBS); - Servlet editBoardMessage = new EditMessageServlet(cassaBBS); - Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); - Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); - - Server serv = new Server(8080); - ServletHandler context = new ServletHandler(); - context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); - context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); - context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); - context.addServletWithMapping(new ServletHolder(index),"/"); - context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); - serv.addHandler(context); - serv.start(); - } -} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/bbs/DistributeApp.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/bbs/DistributeApp.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,55 @@ +package jungle.test.bbs; + +import javax.servlet.Servlet; + +import org.mortbay.jetty.Server; +import org.mortbay.jetty.servlet.ServletHandler; +import org.mortbay.jetty.servlet.ServletHolder; + +import alice.daemon.AliceDaemon; +import alice.datasegment.DataSegment; +import alice.jungle.codesegment.LogUpdateCodeSegment; +import alice.jungle.remote.RemoteConfig; + +/** + * Hello world! + * + */ +public class DistributeApp +{ + public static void main( String[] args ) throws Exception + { + BulletinBoard cassaBBS = null; + cassaBBS = new NetworkJungleBulletinBoard(); + RemoteConfig conf = new RemoteConfig(args); + new AliceDaemon(conf).listen(); + if(conf.hostname != null) { + DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); + LogUpdateCodeSegment cs = new LogUpdateCodeSegment(); + cs.arg1.setKey("remote", "log"); + + } + + + String createBoardMessagePath = "/createBoardMessage"; + String createBoardPath = "/createBoard"; + String editMessagePath = "/editMessage"; + String showBoardMessagePath = "/showBoardMessage"; + + Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); + Servlet createBoard = new CreateBoardServlet(cassaBBS); + Servlet editBoardMessage = new EditMessageServlet(cassaBBS); + Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); + Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); + + Server serv = new Server(8080); + ServletHandler context = new ServletHandler(); + context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); + context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); + context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); + context.addServletWithMapping(new ServletHolder(index),"/"); + context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); + serv.addHandler(context); + serv.start(); + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/bbs/JungleBulletinBoard.java --- a/src/jungle/test/bbs/JungleBulletinBoard.java Mon Jul 08 20:25:58 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,209 +0,0 @@ -package jungle.test.bbs; - -import java.nio.ByteBuffer; -import java.util.concurrent.atomic.AtomicInteger; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; -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.core.Children; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter; - -public class JungleBulletinBoard implements BulletinBoard -{ - private final Jungle jungle; - - public JungleBulletinBoard() - { - jungle = new DefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); - jungle.createNewTree("boards"); - } - - public Iterable getBoards() - { - JungleTree tree = jungle.getTreeByName("boards"); - Node node = tree.getRootNode(); - Children chs = node.getChildren(); - - IterableConverter.Converter converter = new IterableConverter.Converter(){ - public String conv(Node _b) { - ByteBuffer e = _b.getAttributes().get("name"); - return new String(e.array()); - } - }; - - return new IterableConverter(chs,converter); - } - - public void createBoards(final String _name,final String _author,final String _initMessage,final String _editKey) - { - if(null == jungle.createNewTree(_name)){ - throw new IllegalStateException(); - } - - JungleTree tree = jungle.getTreeByName("boards"); - JungleTreeEditor editor = tree.getTreeEditor(); - DefaultNodePath root = new DefaultNodePath(); - Either either = editor.addNewChildAt(root,0); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - - either = editor.putAttribute(root.add(0),"name",ByteBuffer.wrap(_name.getBytes())); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - Either result = editor.success(); - if(result.isA()){ - throw new IllegalStateException(); - } - - tree = jungle.getTreeByName(_name); - editor = tree.getTreeEditor(); - either = editor.addNewChildAt(root,0); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - - NodeEditor e = new NodeEditor(){ - public > Either edit(T _e){ - _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); - _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_initMessage.getBytes())).b(); - _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); - return DefaultEither.newB(_e); - } - }; - - either = editor.edit(root.add(0),e); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - } - - public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey) - { - JungleTree tree = jungle.getTreeByName(_board); - if(tree == null){ - throw new IllegalStateException(); - } - - JungleTreeEditor editor; - do{ - Node node = tree.getRootNode(); - int size = node.getChildren().size(); - DefaultNodePath path = new DefaultNodePath(); - - editor = tree.getTreeEditor(); - Either either = editor.addNewChildAt(path,size); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - - NodeEditor e = new NodeEditor(){ - public > Either edit(T _e){ - _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); - _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b(); - _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); - return DefaultEither.newB(_e); - } - }; - - path = path.add(size); - either = editor.edit(path,e); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - }while(editor.success().isA()); - } - - public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey) - { - JungleTreeEditor editor = null; - do{ - DefaultNodePath path = new DefaultNodePath(); - path = path.add(Integer.parseInt(_uuid)); - - JungleTree tree = jungle.getTreeByName(_board); - editor = tree.getTreeEditor(); - NodeEditor e = new NodeEditor(){ - public > Either edit(T _e){ - _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); - _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b(); - _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); - return DefaultEither.newB(_e); - } - }; - - Either either = editor.edit(path,e); - if(either.isA()){ - throw new IllegalStateException(); - } - editor = either.b(); - }while(editor.success().isA()); - } - - public Iterable getMessages(String _boardName) - { - JungleTree tree = jungle.getTreeByName(_boardName); - Node node = tree.getRootNode(); - Children chs = node.getChildren(); - - final AtomicInteger counter = new AtomicInteger(0); - IterableConverter.Converter converter = new IterableConverter.Converter(){ - public BoardMessage conv(Node _b) { - String uuid = Integer.toString(counter.get()); - String author = new String(_b.getAttributes().get("author").array()); - String message = new String(_b.getAttributes().get("mes").array()); - counter.incrementAndGet(); - return new BoardMessageImpl(author,message,uuid); - } - }; - - return new IterableConverter(chs,converter); - } - - private static class BoardMessageImpl implements BoardMessage - { - private final String author; - private final String message; - private final String uuid; - - public BoardMessageImpl(String _author,String _message,String _uuid) - { - author = _author; - message = _message; - uuid = _uuid; - } - - public String getAuthor() - { - return author; - } - - public String getMessage() - { - return message; - } - - public String getUUID() - { - return uuid; - } - } -} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/bbs/JungleManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/bbs/JungleManager.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,70 @@ +package jungle.test.bbs; + +import java.nio.ByteBuffer; + +import alice.jungle.core.NetworkDefaultJungle; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; +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.Command; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; + +public class JungleManager { + static Jungle jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); + + public JungleManager() { + + } + + public Jungle getJungle() { + return jungle; + } + + public JungleTree createNewTree(String name) { + return jungle.createNewTree(name); + } + + + public Either edit(JungleTreeEditor _editor ,TreeOperationLog _log) { + JungleTreeEditor editor = _editor; + Either either = null; + for (TreeOperation op : _log) { + either = _edit(editor, op); + if(either.isA()) { + return either; + } + editor = either.b(); + } + return either; + } + + private Either _edit(JungleTreeEditor editor, + TreeOperation op) { + NodePath path = op.getNodePath(); + NodeOperation nodeOp = op.getNodeOperation(); + Command c = nodeOp.getCommand(); + String key = ""; + switch (c) { + case PUT_ATTRIBUTE: + key = nodeOp.getKey(); + ByteBuffer value = nodeOp.getValue(); + return editor.putAttribute(path, key, value); + case DELETE_ATTRIBUTE: + key = nodeOp.getKey(); + return editor.deleteAttribute(path, key); + case APPEND_CHILD: + return editor.addNewChildAt(path, 0); + case DELETE_CHILD: + return editor.deleteChildAt(path, 0); + } + return null; + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/bbs/NetworkJungleBulletinBoard.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,213 @@ +package jungle.test.bbs; + +import java.nio.ByteBuffer; +import java.util.concurrent.atomic.AtomicInteger; + +import alice.jungle.core.NetworkDefaultJungle; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; +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.core.Children; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter; + +public class NetworkJungleBulletinBoard implements BulletinBoard +{ + private JungleManager jvm; + private final Jungle jungle; + + public NetworkJungleBulletinBoard() + { + jvm = new JungleManager(); + jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); + jungle.createNewTree("boards"); + } + + public Iterable getBoards() + { + JungleTree tree = jungle.getTreeByName("boards"); + Node node = tree.getRootNode(); + Children chs = node.getChildren(); + + IterableConverter.Converter converter = new IterableConverter.Converter(){ + public String conv(Node _b) { + ByteBuffer e = _b.getAttributes().get("name"); + return new String(e.array()); + } + }; + + return new IterableConverter(chs,converter); + } + + public void createBoards(final String _name,final String _author,final String _initMessage,final String _editKey) + { + if(null == jungle.createNewTree(_name)){ + throw new IllegalStateException(); + } + + JungleTree tree = jungle.getTreeByName("boards"); + JungleTreeEditor editor = tree.getTreeEditor(); + DefaultNodePath root = new DefaultNodePath(); + Either either = editor.addNewChildAt(root,0); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + + either = editor.putAttribute(root.add(0),"name",ByteBuffer.wrap(_name.getBytes())); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + Either result = editor.success(); + if(result.isA()){ + throw new IllegalStateException(); + } + + tree = jungle.getTreeByName(_name); + editor = tree.getTreeEditor(); + either = editor.addNewChildAt(root,0); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + + NodeEditor e = new NodeEditor(){ + public > Either edit(T _e){ + _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); + _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_initMessage.getBytes())).b(); + _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); + return DefaultEither.newB(_e); + } + }; + + either = editor.edit(root.add(0),e); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + editor.success(); + } + + public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey) + { + JungleTree tree = jungle.getTreeByName(_board); + if(tree == null){ + throw new IllegalStateException(); + } + + JungleTreeEditor editor; + do{ + Node node = tree.getRootNode(); + int size = node.getChildren().size(); + DefaultNodePath path = new DefaultNodePath(); + + editor = tree.getTreeEditor(); + Either either = editor.addNewChildAt(path,size); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + + NodeEditor e = new NodeEditor(){ + public > Either edit(T _e){ + _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); + _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b(); + _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); + return DefaultEither.newB(_e); + } + }; + + path = path.add(size); + either = editor.edit(path,e); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + }while(editor.success().isA()); + } + + public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey) + { + JungleTreeEditor editor = null; + do{ + DefaultNodePath path = new DefaultNodePath(); + path = path.add(Integer.parseInt(_uuid)); + + JungleTree tree = jungle.getTreeByName(_board); + editor = tree.getTreeEditor(); + NodeEditor e = new NodeEditor(){ + public > Either edit(T _e){ + _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b(); + _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b(); + _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b(); + return DefaultEither.newB(_e); + } + }; + + Either either = editor.edit(path,e); + if(either.isA()){ + throw new IllegalStateException(); + } + editor = either.b(); + }while(editor.success().isA()); + } + + public Iterable getMessages(String _boardName) + { + JungleTree tree = jungle.getTreeByName(_boardName); + Node node = tree.getRootNode(); + Children chs = node.getChildren(); + + final AtomicInteger counter = new AtomicInteger(0); + IterableConverter.Converter converter = new IterableConverter.Converter(){ + public BoardMessage conv(Node _b) { + String uuid = Integer.toString(counter.get()); + String author = new String(_b.getAttributes().get("author").array()); + String message = new String(_b.getAttributes().get("mes").array()); + counter.incrementAndGet(); + return new BoardMessageImpl(author,message,uuid); + } + }; + + return new IterableConverter(chs,converter); + } + + private static class BoardMessageImpl implements BoardMessage + { + private final String author; + private final String message; + private final String uuid; + + public BoardMessageImpl(String _author,String _message,String _uuid) + { + author = _author; + message = _message; + uuid = _uuid; + } + + public String getAuthor() + { + return author; + } + + public String getMessage() + { + return message; + } + + public String getUUID() + { + return uuid; + } + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/operation/JungleManager.java --- a/src/jungle/test/codesegment/operation/JungleManager.java Mon Jul 08 20:25:58 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -package jungle.test.codesegment.operation; - -import alice.jungle.core.NetworkDefaultJungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; - -public class JungleManager { - static Jungle jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); - - public JungleManager() { - - } - - public Jungle getJungle() { - return jungle; - } - - public JungleTree createNewTree(String name) { - return jungle.createNewTree(name); - } - - -} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/operation/ShowAttribute.java --- a/src/jungle/test/codesegment/operation/ShowAttribute.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/codesegment/operation/ShowAttribute.java Tue Jul 09 15:10:06 2013 +0900 @@ -10,6 +10,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; 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; diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/operation/StartJungleCodeSegment.java --- a/src/jungle/test/codesegment/operation/StartJungleCodeSegment.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/codesegment/operation/StartJungleCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -8,6 +8,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; +import jungle.test.bbs.JungleManager; import alice.codesegment.CodeSegment; import alice.jungle.datasegment.store.operations.DefaultTreeOperationContainer; diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/operation/TestPutAttributeCodeSegment.java --- a/src/jungle/test/codesegment/operation/TestPutAttributeCodeSegment.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/codesegment/operation/TestPutAttributeCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -17,6 +17,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 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 org.msgpack.type.Value; diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/persistence/TestJungle.java --- a/src/jungle/test/codesegment/persistence/TestJungle.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/codesegment/persistence/TestJungle.java Tue Jul 09 15:10:06 2013 +0900 @@ -4,7 +4,7 @@ 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.TreeEditor; -import jungle.test.codesegment.operation.JungleManager; +import jungle.test.bbs.JungleManager; import jungle.test.codesegment.operation.TestPutAttributeCodeSegment; public class TestJungle { diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/ClientCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/ClientCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,21 @@ +package jungle.test.codesegment.remote; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class ClientCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + + public void run() { + System.out.println("--ClientCodeSegment--"); + 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 d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/ClientFirstSetKey.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/ClientFirstSetKey.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,12 @@ +package jungle.test.codesegment.remote; + +import alice.codesegment.CodeSegment; + +public class ClientFirstSetKey extends CodeSegment { + + public void run() { + System.out.println("--ClientFirstSetKey--"); + ClientCodeSegment cs = new ClientCodeSegment(); + cs.arg1.setKey("remote","num"); + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/HostCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/HostCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,23 @@ +package jungle.test.codesegment.remote; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class HostCodeSegment extends CodeSegment { + + Receiver arg1 = ids.create(CommandType.TAKE); + + public void run() { + System.out.println("--HostCodeSegment--"); + int num = arg1.asInteger(); + System.out.println("num : "+ num); + num++; + ods.put("local", "num", num); + System.exit(0); +/* + HostCodeSegment cs = new HostCodeSegment(); + cs.arg1.setKey("local","num"); +*/ + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/HostFirstPut.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/HostFirstPut.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,13 @@ +package jungle.test.codesegment.remote; + +import alice.codesegment.CodeSegment; + +public class HostFirstPut extends CodeSegment { + + public void run() { + System.out.println("--HostFirstPut--"); + ods.put("local", "num", 0); + HostCodeSegment cs = new HostCodeSegment(); + cs.arg1.setKey("local", "num", 1); + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/StartClientCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/StartClientCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,14 @@ +package jungle.test.codesegment.remote; + +import alice.datasegment.DataSegment; +import alice.test.codesegment.remote.TestRemoteConfig; + +public class StartClientCodeSegment { + + static public void main(String[] args) { + System.out.println("--StartClientCodeSegment--"); + TestRemoteConfig conf = new TestRemoteConfig(args); + DataSegment.connect("remote", "", conf.hostname, conf.connectPort); + new ClientFirstSetKey().execute(); + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/codesegment/remote/StartHostCodeSegment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/jungle/test/codesegment/remote/StartHostCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -0,0 +1,14 @@ +package jungle.test.codesegment.remote; + +import alice.daemon.AliceDaemon; +import alice.jungle.remote.RemoteConfig; + +public class StartHostCodeSegment { + + static public void main(String[] args) { + System.out.println("--StartHostCodeSegment--"); + RemoteConfig conf = new RemoteConfig(args); + new AliceDaemon(conf).listen(); + new HostFirstPut().execute(); + } +} diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/core/practice/LogReadCodeSegment.java --- a/src/jungle/test/core/practice/LogReadCodeSegment.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/core/practice/LogReadCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 @@ -14,7 +14,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 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.codesegment.operation.JungleManager; +import jungle.test.bbs.JungleManager; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/core/practice/LogSendTest.java --- a/src/jungle/test/core/practice/LogSendTest.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/core/practice/LogSendTest.java Tue Jul 09 15:10:06 2013 +0900 @@ -12,7 +12,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; 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.codesegment.operation.JungleManager; +import jungle.test.bbs.JungleManager; public class LogSendTest { diff -r d8ee57a1c2c6 -r 10359a815068 src/jungle/test/core/practice/PrintChildrenAttribute.java --- a/src/jungle/test/core/practice/PrintChildrenAttribute.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/jungle/test/core/practice/PrintChildrenAttribute.java Tue Jul 09 15:10:06 2013 +0900 @@ -6,7 +6,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; -import jungle.test.codesegment.operation.JungleManager; +import jungle.test.bbs.JungleManager; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; diff -r d8ee57a1c2c6 -r 10359a815068 src/test/alice/jungle/codesegment/CopyAttrJungle2.java --- a/src/test/alice/jungle/codesegment/CopyAttrJungle2.java Mon Jul 08 20:25:58 2013 +0900 +++ b/src/test/alice/jungle/codesegment/CopyAttrJungle2.java Tue Jul 09 15:10:06 2013 +0900 @@ -8,7 +8,7 @@ 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.codesegment.operation.JungleManager; +import jungle.test.bbs.JungleManager; import jungle.test.core.practice.PrintChildrenAttribute; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType;