Mercurial > hg > Database > jungle-network
view src/jungle/test/codesegment/persistence/AliceJournal.java @ 17:c767e7af4d88
add TestPutAttributeCodeSegmnet and StartJungleCodeSegment
author | one |
---|---|
date | Fri, 28 Jun 2013 12:36:07 +0900 |
parents | |
children | e968224ad0ce |
line wrap: on
line source
package jungle.test.codesegment.persistence; import java.nio.ByteBuffer; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Result; 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.operations.NodeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; import jungle.test.datasegment.store.operations.DefaultNodeOperationContainer; import jungle.test.datasegment.store.operations.DefaultTreeOperationContainer; public class AliceJournal implements Journal { private static final AliceChangeListWriter ALICE_WRITER = new AliceChangeListWriter(); private static final AliceChangeListReader ALICE_READER = new AliceChangeListReader(); @Override public ChangeListReader getReader() { return ALICE_READER; } @Override public ChangeListWriter getWriter() { return ALICE_WRITER; } private static class AliceChangeListWriter implements ChangeListWriter { @Override public Result write(ChangeList _operations) { /* for(TreeOperation op : _operations){ DefaultTreeOperationContainer container = new DefaultTreeOperationContainer(); container.unconvert(op); cs.ods.update("local", "op", op); } */ for(TreeOperation op : _operations){ NodePath p = op.getNodePath(); NodeOperation nodeOp = op.getNodeOperation(); Command c = nodeOp.getCommand(); String args = ""; switch(c){ case PUT_ATTRIBUTE: String key = nodeOp.getKey(); ByteBuffer value = nodeOp.getValue(); if(value.limit() < 100){ args = String.format("key:%s,value:%s",key,new String(value.array())); }else{ args = String.format("key:%s,value:%d",key,value.limit()); } break; case DELETE_ATTRIBUTE: args = String.format("key:%s",nodeOp.getKey()); break; case APPEND_CHILD: args = String.format("pos:%d",nodeOp.getPosition()); break; case DELETE_CHILD: args = String.format("pos:%d",nodeOp.getPosition()); break; } System.out.println(String.format("[%s:%s:%s]",c,p,args)); } return Result.SUCCESS; } } private static class AliceChangeListReader implements ChangeListReader { @Override public ChangeListReader newReader() { return this; } @Override public ChangeList read() { return null; } } }