# HG changeset patch # User one # Date 1370896867 -32400 # Node ID ee93e16d5a3faadd2ad49752a5dd7075709cde51 # Parent b7396f848d7838773b88282b2cc56135b8bc9c7a implement unconvert and convert method in DefaultTreeOperationLog class diff -r b7396f848d78 -r ee93e16d5a3f src/jungle/test/datasegment/store/operations/DefaultTreeOperationLogContainer.java --- a/src/jungle/test/datasegment/store/operations/DefaultTreeOperationLogContainer.java Tue Jun 11 05:33:03 2013 +0900 +++ b/src/jungle/test/datasegment/store/operations/DefaultTreeOperationLogContainer.java Tue Jun 11 05:41:07 2013 +0900 @@ -32,9 +32,49 @@ PutAttributeOperation putOp = new PutAttributeOperation(key, b); DefaultNodePath nodePath = new DefaultNodePath(); nodePath = nodePath.add(1).add(2).add(3); - TreeOperation op = new DefaultTreeOperation(nodePath, putOp); + List list = new LinkedList(); + list.add(op); + list.add(op); + list.add(op); + DefaultTreeOperationLog log = new DefaultTreeOperationLog(list, list.size()); + DefaultTreeOperationLogContainer logContainer = new DefaultTreeOperationLogContainer(); + logContainer.unconvert(log); + + TreeOperationLog convertedLog = logContainer.convert(); + for (TreeOperation treeOp : convertedLog) { + 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:%s]", c, nodePath, str)); + for (int i: nodePath ) { + System.out.println(i); + } + + } } @@ -49,12 +89,9 @@ for(TreeOperation op : _log) { NodeOperation nOp = op.getNodeOperation(); NodePath nodePath = op.getNodePath(); - DefaultNodeOperationContainer nodeOpContainer = new DefaultNodeOperationContainer(); - nodeOpContainer.unconvert(nOp); - DefaultNodePathContainer nodePathContainer = new DefaultNodePathContainer(); - nodePathContainer.unconvert(nodePath); + DefaultTreeOperation treeOp = new DefaultTreeOperation(nodePath, nOp); DefaultTreeOperationContainer container = new DefaultTreeOperationContainer(); - container.unconvert(nodeOpContainer, nodePathContainer); + container.unconvert(treeOp); Value v = msgpack.unconvert(container); list.add(v); }