# HG changeset patch # User nobuyasu # Date 1385634103 -32400 # Node ID 6e7724d55a7269e44a2cb715b860ea8c30556490 # Parent 164283d23f2dc9b56d12d7c2b75d595bebf48d1d Removed some class container diff -r 164283d23f2d -r 6e7724d55a72 src/main/java/alice/jungle/datasegment/container/DefaultNodeOperationContainer.java --- a/src/main/java/alice/jungle/datasegment/container/DefaultNodeOperationContainer.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -package alice.jungle.datasegment.container; - -import java.io.IOException; -import java.nio.ByteBuffer; - -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteAttributeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; - -import org.msgpack.MessagePack; -import org.msgpack.annotation.Message; -import org.msgpack.template.OrdinalEnumTemplate; -import org.msgpack.type.Value; - -import alice.codesegment.SingletonMessage; - -@Message -public class DefaultNodeOperationContainer { - - public int pos; - public String key; - public Value value; - public Value commandValue; - - public static void main(String[] args) throws IOException { - String key = "hoge"; - ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes()); - PutAttributeOperation op = new PutAttributeOperation(key, b); - DefaultNodeOperationContainer container = new DefaultNodeOperationContainer(); - container.unconvert(op); - NodeOperation convertedOp = container.convert(); - System.out.println("pos : "+convertedOp.getPosition()); - System.out.println("Command : "+convertedOp.getCommand()); - System.out.println("key : "+convertedOp.getKey()); - System.out.println("value : "+new String(convertedOp.getValue().array())); - - } - - public DefaultNodeOperationContainer() { - - } - - public void unconvert(NodeOperation op) throws IOException { -// MessagePack msgpack = new MessagePack(); - MessagePack msgpack = SingletonMessage.getInstance(); - pos = op.getPosition(); - key = op.getKey(); - value = null; - if (op.getValue() != null) { - ByteBuffer b = op.getValue(); - byte[] bytes = b.array(); - Value v = msgpack.unconvert(bytes); - value = v; - } - Command c = op.getCommand(); - msgpack.register(Command.class, new OrdinalEnumTemplate(Command.class)); - Value cValue = msgpack.unconvert(c); - commandValue = cValue; - } - - public NodeOperation convert() throws IOException{ -// MessagePack msgpack = new MessagePack(); - MessagePack msgpack = SingletonMessage.getInstance(); - msgpack.register(Command.class, new OrdinalEnumTemplate(Command.class)); - Command c = msgpack.convert(commandValue, Command.class); - ByteBuffer b = null; - if (value != null) { - b = ByteBuffer.wrap(msgpack.convert(value, byte[].class)); - } - if (c == Command.PUT_ATTRIBUTE) { - return new PutAttributeOperation(key, b); - } else if (c == Command.APPEND_CHILD) { - return new AppendChildAtOperation(pos); - } else if (c == Command.DELETE_CHILD) { - return new DeleteChildAtOperation(pos); - } else if (c == Command.DELETE_ATTRIBUTE){ - return new DeleteAttributeOperation(key); - } - return null; - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/main/java/alice/jungle/datasegment/container/DefaultNodePathContainer.java --- a/src/main/java/alice/jungle/datasegment/container/DefaultNodePathContainer.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -package alice.jungle.datasegment.container; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; - -import org.msgpack.MessagePack; -import org.msgpack.annotation.Message; -import org.msgpack.template.IntegerTemplate; -import org.msgpack.template.ListTemplate; -import org.msgpack.type.Value; - -@Message -public class DefaultNodePathContainer { - - public Value pathValue; - - public static void main(String[] args) throws IOException { - DefaultNodePath p = new DefaultNodePath(); - p = p.add(1).add(2).add(3); - DefaultNodePathContainer pathContainer = new DefaultNodePathContainer(); - pathContainer.unconvert(p); - NodePath convertedPath = pathContainer.convert(); - for (int i : convertedPath) { - System.out.println(i); - } - } - - public DefaultNodePathContainer() { - - } - - public void unconvert(NodePath path) throws IOException { - MessagePack msgpack = new MessagePack(); - List list = new LinkedList(); - for(Integer i : path) { - list.add(i); - } - /* Remove first Element(-1). */ - list.remove(0); - Value v = msgpack.unconvert(list); - pathValue = v; - } - - public DefaultNodePath convert() throws IOException { - MessagePack msgpack = new MessagePack(); - msgpack.register(List.class, new ListTemplate(IntegerTemplate.getInstance())); - List convertedList = (List)msgpack.convert(pathValue, List.class); - DefaultNodePath path = new DefaultNodePath(); - for (int i: convertedList) { - path = path.add(i); - } - return path; - } -} diff -r 164283d23f2d -r 6e7724d55a72 src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationContainer.java --- a/src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationContainer.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -package alice.jungle.datasegment.container; - -import java.io.IOException; -import java.nio.ByteBuffer; - -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.DefaultNodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; - -import org.msgpack.MessagePack; -import org.msgpack.annotation.Message; -import org.msgpack.type.Value; - -import alice.codesegment.SingletonMessage; - -@Message -public class DefaultTreeOperationContainer { - - Value pathValue; - Value opValue; - - public static void main(String[] args) throws IOException { - String key = "hoge"; - ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes()); - PutAttributeOperation op = new PutAttributeOperation(key, b); - - DefaultNodePath p = new DefaultNodePath(); - p = p.add(1).add(2).add(3); - DefaultTreeOperation treeOp = new DefaultTreeOperation(p, op); - - DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer(); - treeOperationContainer.unconvert(treeOp); - - TreeOperation treeOperation = treeOperationContainer.convert(); - NodePath nodePath = treeOperation.getNodePath(); - NodeOperation nodeOp = treeOperation.getNodeOperation(); - Command c = nodeOp.getCommand(); - String str = ""; - switch (c) { - case PUT_ATTRIBUTE: - String k = nodeOp.getKey(); - ByteBuffer value = nodeOp.getValue(); - if (value.limit() < 100) { - str = String.format("key:%s,value:%s", k, - new String(value.array())); - } else { - str = String.format("key:%s,value:%d", k, value.limit()); - } - break; - case DELETE_ATTRIBUTE: - str = String.format("key:%s", nodeOp.getKey()); - break; - case APPEND_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - break; - case DELETE_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - break; - } - System.out.println(String.format("[%s:%s:%s]", c, nodePath, str)); - for (int i: nodePath ) { - System.out.println(i); - } - } - - public DefaultTreeOperationContainer() { - - } - - public void unconvert(DefaultTreeOperation _op) throws IOException { - NodeOperation nodeOp = _op.getNodeOperation(); - NodePath nodePath = _op.getNodePath(); - DefaultNodeOperationContainer opContainer = new DefaultNodeOperationContainer(); - opContainer.unconvert(nodeOp); - DefaultNodePathContainer pathContainer = new DefaultNodePathContainer(); - pathContainer.unconvert(nodePath); - unconvert(opContainer, pathContainer); - } - - public void unconvert(DefaultNodeOperationContainer _op, - DefaultNodePathContainer _path) throws IOException { -// MessagePack msgpack = new MessagePack(); - MessagePack msgpack = SingletonMessage.getInstance(); - pathValue = msgpack.unconvert(_path); - opValue = msgpack.unconvert(_op); - } - - public TreeOperation convert() throws IOException { -// MessagePack msgpack = new MessagePack(); - MessagePack msgpack = SingletonMessage.getInstance(); - DefaultNodePathContainer pathContainer = msgpack.convert(pathValue, DefaultNodePathContainer.class); - DefaultNodeOperationContainer opContainer = msgpack.convert(opValue, DefaultNodeOperationContainer.class); - return new DefaultTreeOperation(pathContainer.convert(), opContainer.convert()); - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationLogContainer.java --- a/src/main/java/alice/jungle/datasegment/container/DefaultTreeOperationLogContainer.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -package alice.jungle.datasegment.container; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; - -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; -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 org.msgpack.MessagePack; -import org.msgpack.annotation.Message; -import org.msgpack.template.ListTemplate; -import org.msgpack.template.ValueTemplate; -import org.msgpack.type.Value; - -import alice.codesegment.SingletonMessage; - -@Message -public class DefaultTreeOperationLogContainer { - - Value logValue; - String treeName; - String uuid; - String updaterName; - String revision; - long timestamp; - - public DefaultTreeOperationLogContainer() { - logValue = null; - treeName = ""; - uuid = ""; - updaterName = ""; - revision = ""; - timestamp = Long.MAX_VALUE; - } - - public void setTreeName(String _treeName) { - treeName = _treeName; - } - - public String getTreeName() { - return treeName; - } - - public void setUUID(String _uuid) { - uuid = _uuid; - } - - public String getUUID() { - return uuid; - } - - public void setUpdaterName(String _updaterName) { - updaterName = _updaterName; - } - - public String getServerName() { - return updaterName; - } - - public void setRevision(String _revision) { - revision = _revision; - } - - public String getRevision() { - return revision; - } - - public void setTimeStamp(long t) { - timestamp = t; - } - - public long getTimeStamp() { - return timestamp; - } - - public void unconvert(Iterable _log) throws IOException { - MessagePack msgpack = SingletonMessage.getInstance(); - List list = new LinkedList(); - for(TreeOperation op : _log) { - NodeOperation nOp = op.getNodeOperation(); - NodePath nodePath = op.getNodePath(); - DefaultTreeOperation treeOp = new DefaultTreeOperation(nodePath, nOp); - DefaultTreeOperationContainer container = new DefaultTreeOperationContainer(); - container.unconvert(treeOp); - Value v = msgpack.unconvert(container); - list.add(v); - } - Value listValue = msgpack.unconvert(list); - logValue = listValue; - } - - public DefaultTreeOperationLog convert() throws IOException { - MessagePack msgpack = SingletonMessage.getInstance(); - msgpack.register(List.class, new ListTemplate(ValueTemplate.getInstance())); - List listValue = msgpack.convert(logValue, List.class); - List logList = new LinkedList(); - for(Value v: listValue) { - DefaultTreeOperationContainer container = msgpack.convert(v, DefaultTreeOperationContainer.class); - logList.add(container.convert()); - } - DefaultTreeOperationLog log = new DefaultTreeOperationLog(logList, logList.size()); - return log; - } - - public String getHashLogString() { - return treeName + revision + updaterName; - } - - -} diff -r 164283d23f2d -r 6e7724d55a72 src/main/java/alice/jungle/datasegment/store/HashSetDataSegment.java --- a/src/main/java/alice/jungle/datasegment/store/HashSetDataSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -package alice.jungle.datasegment.store; - -import java.util.HashSet; - -import org.msgpack.annotation.Message; - -@Message -public class HashSetDataSegment { - public HashSet hash = new HashSet(); - public HashSetDataSegment() {} -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/CheckDoubleTreeAttr.java --- a/src/test/java/alice/jungle/CheckDoubleTreeAttr.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -package alice.jungle; - -import java.nio.ByteBuffer; -import java.util.Iterator; - -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.core.Children; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class CheckDoubleTreeAttr extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - - public CheckDoubleTreeAttr() { - arg1.setKey("count"); - } - - public void run() { - int count = arg1.asInteger(); - - DoubleJungleManager djm = new DoubleJungleManager(); - Jungle jungle1 = djm.getJungle1(); - Jungle jungle2 = djm.getJungle2(); - JungleTree tree1 = jungle1.getTreeByName("tree"); - JungleTree tree2 = jungle2.getTreeByName("tree"); - - Node node1 = tree1.getRootNode(); - Node node2 = tree2.getRootNode(); - Children chs1 = node1.getChildren(); - Children chs2 = node2.getChildren(); - - Iterator iter1 = chs1.iterator(); - Iterator iter2 = chs2.iterator(); - - for(; iter1.hasNext() && iter2.hasNext();) { - Node n1 = iter1.next(); - Node n2 = iter2.next(); - ByteBuffer b1 = n1.getAttributes().get("key"); - ByteBuffer b2 = n2.getAttributes().get("key"); - String str1 = new String(b1.array()); - String str2 = new String(b2.array()); - if(!str1.equals(str2)) { - System.out.println("Failed "); - System.out.println("str1 "+ str1); - System.out.println("str2 "+ str2); - System.exit(0); - } else { - System.out.println("success: " + str1); - } - } - - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/CopyAttrJungle2.java --- a/src/test/java/alice/jungle/CopyAttrJungle2.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -package alice.jungle; - -import java.io.IOException; - -import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer; -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.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 alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class CopyAttrJungle2 extends CodeSegment { - - Receiver logReceiver = ids.create(CommandType.TAKE); - Receiver countReceiver = ids.create(CommandType.TAKE); - - public CopyAttrJungle2() { - logReceiver.setKey("log"); - countReceiver.setKey("count2"); - } - - public void run() { - System.out.println("CopyAttrJungle2"); - int count = countReceiver.asInteger(); - DefaultTreeOperationLogContainer container = logReceiver.asClass(DefaultTreeOperationLogContainer.class); - DefaultTreeOperationLog log = null; - try { - log = container.convert(); - } catch (IOException e) { - e.printStackTrace(); - System.exit(0); - } - String treeName = container.getTreeName(); - DoubleJungleManager djm = new DoubleJungleManager(); - Jungle jungle2 = djm.getJungle2(); - JungleTree tree = jungle2.getTreeByName(treeName); - - JungleTreeEditor editor = tree.getTreeEditor(); - Either either = djm.edit(editor, log); - if (either.isA()) { - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - new CheckDoubleTreeAttr(); - ods.update("count", count); - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/DoubleJungleManager.java --- a/src/test/java/alice/jungle/DoubleJungleManager.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -package alice.jungle; - -import java.nio.ByteBuffer; - -import alice.jungle.core.NetworkDefaultJungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; -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 DoubleJungleManager { - - static Jungle jungle1 = new NetworkDefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); - static Jungle jungle2 = new NetworkDefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); - - - public DoubleJungleManager() { - - } - - public Jungle getJungle1() { - return jungle1; - } - - public Jungle getJungle2() { - return jungle2; - } - - - 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 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/LocalDoubleJungleTree.java --- a/src/test/java/alice/jungle/LocalDoubleJungleTree.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -package alice.jungle; - -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; - -public class LocalDoubleJungleTree { - - public static void main(String[] args) { - System.out.println("LocalDoubleJungleTree"); - DoubleJungleManager djm = new DoubleJungleManager(); - Jungle jungle1 = djm.getJungle1(); - Jungle jungle2 = djm.getJungle2(); - jungle1.createNewTree("tree"); - jungle2.createNewTree("tree"); - - PutAttrJungle1 cs = new PutAttrJungle1(); - cs.ods.update("count1", 0); - - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/PutAttrJungle1.java --- a/src/test/java/alice/jungle/PutAttrJungle1.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -package alice.jungle; - -import java.nio.ByteBuffer; - -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.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 alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class PutAttrJungle1 extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - - public PutAttrJungle1() { - arg1.setKey("count1"); - } - - public void run() { - System.out.println("PutAttrJungle1"); - int count = arg1.asInteger(); - Jungle jungle1 = new DoubleJungleManager().getJungle1(); - JungleTree tree = jungle1.getTreeByName("tree"); - 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), "key", ByteBuffer.wrap("message".getBytes())); - if(either.isA()) { - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - - new CopyAttrJungle2(); - ods.update("count2", count); - - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/ListTest.java --- a/src/test/java/alice/jungle/log/example/ListTest.java Tue Nov 26 18:40:32 2013 +0900 +++ b/src/test/java/alice/jungle/log/example/ListTest.java Thu Nov 28 19:21:43 2013 +0900 @@ -1,7 +1,6 @@ package alice.jungle.log.example; import java.util.Iterator; -import java.util.concurrent.atomic.AtomicInteger; import fj.P2; import fj.data.List; diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/LogReadCodeSegment.java --- a/src/test/java/alice/jungle/log/example/LogReadCodeSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -package alice.jungle.log.example; - -import java.io.IOException; -import java.nio.ByteBuffer; - -import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer; -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.logger.DefaultTreeOperationLog; -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.util.Either; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -import jungle.app.bbs.JungleManager; -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class LogReadCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - - public LogReadCodeSegment() { - arg1.setKey("log"); - } - - public void run() { - System.out.println("--LogReadCodeSegment--"); - - DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class); - DefaultTreeOperationLog log = null; - try { - log = container.convert(); - } catch (IOException e) { - e.printStackTrace(); - } - Jungle jungle = JungleManager.getJungle(); - JungleTree tree = jungle.getTreeByName("tree"); - JungleTreeEditor editor = tree.getTreeEditor(); - Either either = edit(editor, log); - if (either.isA()) { - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - new PrintChildrenAttribute("key1"); - ods.update("key1", "key1"); - } - - private 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 str = ""; - String key = ""; - switch (c) { - case PUT_ATTRIBUTE: - key = nodeOp.getKey(); - ByteBuffer value = nodeOp.getValue(); - if (value.limit() < 100) { - str = String.format("key:%s,value:%s", key, - new String(value.array())); - } else { - str = String.format("key:%s,value:%d", key, value.limit()); - } - return editor.putAttribute(path, key, value); - case DELETE_ATTRIBUTE: - key = nodeOp.getKey(); - str = String.format("key:%s", nodeOp.getKey()); - return editor.deleteAttribute(path, key); - case APPEND_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - return editor.addNewChildAt(path, 0); - case DELETE_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - return editor.deleteChildAt(path, 0); - } - return null; - } -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/LogSendTest.java --- a/src/test/java/alice/jungle/log/example/LogSendTest.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -package alice.jungle.log.example; - -import java.io.IOException; -import java.nio.ByteBuffer; - -import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer; -import alice.jungle.transaction.NetworkDefaultJungleTreeEditor; -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.DefaultNodePath; -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.app.bbs.JungleManager; - -public class LogSendTest { - - public static void main(String[] args) { - System.out.println("Start LogSendTest"); - JungleTree tree = JungleManager.createNewTree("tree"); - 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), "key1", ByteBuffer.wrap("first message".getBytes())); - if(either.isA()) { - throw new IllegalStateException(); - } - NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) either.b(); - TreeOperationLog log = nEditor.getTreeOperationLog(); - - DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer(); - try { - container.unconvert(log); - } catch (IOException e) { - e.printStackTrace(); - } - LogReadCodeSegment cs = new LogReadCodeSegment(); - cs.ods.update("log", container); - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/PrintChildrenAttribute.java --- a/src/test/java/alice/jungle/log/example/PrintChildrenAttribute.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -package alice.jungle.log.example; - -import java.nio.ByteBuffer; - -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.core.Children; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; -import jungle.app.bbs.JungleManager; -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class PrintChildrenAttribute extends CodeSegment { - - Receiver key = ids.create(CommandType.TAKE); - - public PrintChildrenAttribute(String _key) { - key.setKey(_key); - } - - public void run() { - System.out.println("--PrintChildrenAttribute--"); - String k = key.asString(); - System.out.println("key : "+ k); - Jungle jungle = JungleManager.getJungle(); - JungleTree tree = jungle.getTreeByName("tree"); - Node node = tree.getRootNode(); - Children chs = node.getChildren(); - System.out.println("children size : "+chs.size()); - for(Node n : chs) { - ByteBuffer b = n.getAttributes().get(k); - System.out.println(new String(b.array())); - } - - System.exit(0); - - } - - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/StartCodeSegment.java --- a/src/test/java/alice/jungle/log/example/StartCodeSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -package alice.jungle.log.example; - -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.LinkedList; -import java.util.List; - -import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteAttributeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; -import alice.codesegment.CodeSegment; - -public class StartCodeSegment extends CodeSegment { - - @Override - public void run() { - System.out.println("run StartCodeSegment"); - - TestCodeSegment cs = new TestCodeSegment(); - cs.arg1.setKey("log"); - System.out.println("create TestCodeSegment"); - - DefaultTreeOperationLog log = getSampleOperationLog(); - DefaultTreeOperationLogContainer logContainer = new DefaultTreeOperationLogContainer(); - try { - logContainer.unconvert(log); - ods.update("local", "log", logContainer); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public DefaultTreeOperationLog getSampleOperationLog() { - String key = "hoge"; - ByteBuffer b = ByteBuffer.wrap("messagepack value".getBytes()); - DefaultNodePath nodePath1 = new DefaultNodePath(); - nodePath1 = nodePath1.add(1); - DefaultNodePath nodePath2 = nodePath1.add(2); - AppendChildAtOperation appendChildOp1 = new AppendChildAtOperation(1); - AppendChildAtOperation appendChildOp2 = new AppendChildAtOperation(2); - PutAttributeOperation putOp = new PutAttributeOperation(key, b); - DeleteAttributeOperation deleteOp = new DeleteAttributeOperation("hoge"); - DeleteChildAtOperation deleteChild = new DeleteChildAtOperation(2); - List list = new LinkedList(); - list.add(new DefaultTreeOperation(new DefaultNodePath(), appendChildOp1)); - list.add(new DefaultTreeOperation(nodePath1, appendChildOp2)); - list.add(new DefaultTreeOperation(nodePath2, putOp)); - list.add(new DefaultTreeOperation(nodePath2, deleteOp)); - list.add(new DefaultTreeOperation(nodePath1, deleteChild)); - DefaultTreeOperationLog log = new DefaultTreeOperationLog(list, list.size()); - return log; - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/TestCodeSegment.java --- a/src/test/java/alice/jungle/log/example/TestCodeSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -package alice.jungle.log.example; - -import java.io.IOException; -import java.nio.ByteBuffer; - -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.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 alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; -import alice.jungle.core.NetworkDefaultJungle; -import alice.jungle.datasegment.container.DefaultTreeOperationLogContainer; -import alice.jungle.transaction.NetworkDefaultJungleTreeEditor; - -import org.msgpack.type.Value; - -public class TestCodeSegment extends CodeSegment { - - static Jungle jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); - - // create input datasegment arg1 - Receiver arg1 = ids.create(CommandType.PEEK); - - public TestCodeSegment() { - arg1.setKey("log"); - jungle.createNewTree("tree"); - } - - @Override - public void run() { - System.out.println("type = " + arg1.type); - System.out.println("index = " + arg1.index); - System.out.println("data = " + arg1.getVal()); - System.out.println(((Value)arg1.getVal()).getType()); - - DefaultTreeOperationLogContainer convertedLogContainer = arg1.asClass(DefaultTreeOperationLogContainer.class); - TreeOperationLog convertedLog = null; - try { - convertedLog = convertedLogContainer.convert(); - } catch (IOException e) { - e.printStackTrace(); - } - printLog(convertedLog); - - JungleTree tree = jungle.getTreeByName("tree"); - NetworkDefaultJungleTreeEditor editor = (NetworkDefaultJungleTreeEditor) tree.getTreeEditor(); -/* - JungleTreeEditor tEditor = editor.setNewLogAndGetEditor(convertedLog); - - Either either = tEditor.success(); - if (either.isA()) { - throw new IllegalStateException(); - } -*/ - System.exit(0); - } - - public void printLog(TreeOperationLog log) { - for (TreeOperation treeOp : log) { - NodePath path = treeOp.getNodePath(); - NodeOperation nodeOp = treeOp.getNodeOperation(); - Command c = nodeOp.getCommand(); - String str = ""; - switch (c) { - case PUT_ATTRIBUTE: - String k = nodeOp.getKey(); - ByteBuffer value = nodeOp.getValue(); - if (value.limit() < 100) { - str = String.format("key:%s,value:%s", k, - new String(value.array())); - } else { - str = String.format("key:%s,value:%d", k, value.limit()); - } - break; - case DELETE_ATTRIBUTE: - str = String.format("key:%s", nodeOp.getKey()); - break; - case APPEND_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - break; - case DELETE_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - break; - } - System.out.println(String.format("[%s:%s]", c, str)); - System.out.println("path:"); - for (int i: path ) { - System.out.println(i); - } - } - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/TestLocalAlice.java --- a/src/test/java/alice/jungle/log/example/TestLocalAlice.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -package alice.jungle.log.example; - -import alice.daemon.AliceDaemon; -import alice.daemon.Config; - -public class TestLocalAlice { - public static void main(String args[]) { - new AliceDaemon(new Config(args)).listen(); // logger off - new StartCodeSegment().execute(); - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/codesement/operation/ShowAttribute.java --- a/src/test/java/alice/jungle/log/example/codesement/operation/ShowAttribute.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -package alice.jungle.log.example.codesement.operation; - -import java.nio.ByteBuffer; - -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.util.Either; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; -import jungle.app.bbs.JungleManager; -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class ShowAttribute extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - - public ShowAttribute() { - arg1.setKey("show"); - } - - public void run() { - System.out.println("--ShowAttribute--"); - - Jungle jungle = JungleManager.getJungle(); - JungleTree tree = jungle.getTreeByName("tree"); - Node node = tree.getRootNode(); - Children chs = node.getChildren(); - System.out.println("children size : "+chs.size()); - for(Node n : chs) { - ByteBuffer b = n.getAttributes().get("key1"); - System.out.println(new String(b.array())); - } - - System.exit(0); - - - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/codesement/operation/StartJungleCodeSegment.java --- a/src/test/java/alice/jungle/log/example/codesement/operation/StartJungleCodeSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -package alice.jungle.log.example.codesement.operation; - -import java.io.IOException; - -import alice.jungle.datasegment.container.DefaultTreeOperationContainer; -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.DefaultNodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; -import jungle.app.bbs.JungleManager; - -public class StartJungleCodeSegment { - - public static void main(String[] args) { - System.out.println("--StartJungleCodeSegment--"); - - JungleTree tree = JungleManager.createNewTree("tree"); - JungleTreeEditor editor = tree.getTreeEditor(); - DefaultNodePath path = new DefaultNodePath(); - path = path.add(0); - editor.addNewChildAt(path, 0); - editor.success(); - - TestPutAttributeCodeSegment cs = new TestPutAttributeCodeSegment(); - DefaultTreeOperation treeOp = cs.getSampleOperation("message0"); - DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer(); - try { - treeOperationContainer.unconvert(treeOp); - } catch (IOException e) { - e.printStackTrace(); - } - cs.ods.update("local", "log", treeOperationContainer); - } - -} diff -r 164283d23f2d -r 6e7724d55a72 src/test/java/alice/jungle/log/example/codesement/operation/TestPutAttributeCodeSegment.java --- a/src/test/java/alice/jungle/log/example/codesement/operation/TestPutAttributeCodeSegment.java Tue Nov 26 18:40:32 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -package alice.jungle.log.example.codesement.operation; - -import java.io.IOException; -import java.nio.ByteBuffer; - -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.DefaultNodePath; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation; -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.app.bbs.JungleManager; -import alice.jungle.datasegment.container.DefaultTreeOperationContainer; -import alice.jungle.transaction.NetworkDefaultJungleTreeEditor; - - -import alice.codesegment.CodeSegment; -import alice.datasegment.CommandType; -import alice.datasegment.Receiver; - -public class TestPutAttributeCodeSegment extends CodeSegment { - - Receiver arg1 = ids.create(CommandType.TAKE); - - public TestPutAttributeCodeSegment() { - arg1.setKey("log"); - } - - public void run() { - System.out.println("--TestPutAttributeCodeSegment--"); - DefaultTreeOperationContainer convertedOpContainer = arg1 - .asClass(DefaultTreeOperationContainer.class); - TreeOperation convertedOp = null; - try { - convertedOp = convertedOpContainer.convert(); - } catch (IOException e) { - e.printStackTrace(); - } - Jungle jungle = JungleManager.getJungle(); - JungleTree tree = jungle.getTreeByName("tree"); - JungleTreeEditor editor = tree.getTreeEditor(); - DefaultNodePath root = new DefaultNodePath(); - Either either = editor.addNewChildAt(root, 0); - if (either.isA()) { - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) tree - .getTreeEditor(); - either = edit(nEditor, convertedOp); - if (either.isA()) { - throw new IllegalStateException(); - } - editor = either.b(); - editor.success(); - if (arg1.index >= 10) { - new ShowAttribute(); - ods.update("local", "show", 1); - return; - } - TestPutAttributeCodeSegment cs = new TestPutAttributeCodeSegment(); - DefaultTreeOperation treeOp = cs.getSampleOperation("message"+ arg1.index); - DefaultTreeOperationContainer treeOperationContainer = new DefaultTreeOperationContainer(); - try { - treeOperationContainer.unconvert(treeOp); - } catch (IOException e) { - e.printStackTrace(); - } - ods.update("local", "log", treeOperationContainer); - } - - public DefaultTreeOperation getSampleOperation(String message) { - /* Create TreeOperation */ - String key = "key1"; - ByteBuffer b = ByteBuffer.wrap(message.getBytes()); - PutAttributeOperation op = new PutAttributeOperation(key, b); - DefaultNodePath p = new DefaultNodePath(); - p = p.add(0); - DefaultTreeOperation treeOp = new DefaultTreeOperation(p, op); - return treeOp; - } - - public Either edit(JungleTreeEditor editor, - TreeOperation op) { - NodePath path = op.getNodePath(); - NodeOperation nodeOp = op.getNodeOperation(); - Command c = nodeOp.getCommand(); - String str = ""; - String key = ""; - switch (c) { - case PUT_ATTRIBUTE: - key = nodeOp.getKey(); - ByteBuffer value = nodeOp.getValue(); - if (value.limit() < 100) { - str = String.format("key:%s,value:%s", key, - new String(value.array())); - } else { - str = String.format("key:%s,value:%d", key, value.limit()); - } - return editor.putAttribute(path, key, value); - case DELETE_ATTRIBUTE: - key = nodeOp.getKey(); - str = String.format("key:%s", nodeOp.getKey()); - return editor.deleteAttribute(path, key); - case APPEND_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - return editor.addNewChildAt(path, 0); - case DELETE_CHILD: - str = String.format("pos:%d", nodeOp.getPosition()); - return editor.deleteChildAt(path, 0); - } - return null; - } -}