# HG changeset patch # User one # Date 1383634591 -32400 # Node ID f3f89613c7e33ccd9dfe11f491264c31703bf6c2 # Parent 0c98717f186e7c58544510d970dd0500bc5f947c Rmoved NetworkJournal diff -r 0c98717f186e -r f3f89613c7e3 src/alice/jungle/persistence/NetworkJournal.java --- a/src/alice/jungle/persistence/NetworkJournal.java Tue Nov 05 09:13:30 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -package alice.jungle.persistence; - -import java.io.EOFException; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Iterator; - -import org.msgpack.MessagePack; - -import alice.jungle.operations.NetworkTreeOperationLog; - -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.operations.TreeOperation; - -public class NetworkJournal implements Journal { - - private static final NetworkChangeListWriter WRITER = new NetworkChangeListWriter(); - private static final NetworkChangeListReader READER = new NetworkChangeListReader(); - private static MessagePack msgpack = new MessagePack(); - private static OutputStream out = null; - private static InputStream in = null; - - public NetworkJournal() { - - } - - public NetworkJournal(File file) throws FileNotFoundException { - out = new FileOutputStream(file, true); - in = new FileInputStream(file); - } - - @Override - public ChangeListReader getReader() { - return READER; - } - @Override - public ChangeListWriter getWriter() { - return WRITER; - } - - public void close() throws IOException { - out.close(); - in.close(); - } - - public void setOutputFile(File file) throws FileNotFoundException { - out = new FileOutputStream(file); - } - - public void setInputFile(File file) throws FileNotFoundException { - in = new FileInputStream(file); - } - - public void setOutputStream(OutputStream _out) { - out = _out; - } - - public OutputStream getOutputStream() { - return out; - } - - public void setInputStream(InputStream _in) { - in = _in; - } - - public InputStream getInputStream() { - return in; - } - - private static class NetworkChangeListWriter implements ChangeListWriter - { - @Override - public Result write(ChangeList _operations) - { - NetworkTreeOperationLog log = new NetworkTreeOperationLog(_operations); - try { - msgpack.write(out, log); - out.flush(); - } catch (IOException e) { - return null; - } - return Result.SUCCESS; - } - } - - public static MessagePack getMessagePack() { - return msgpack; - } - - private static class NetworkChangeListReader implements ChangeListReader - { - @Override - public ChangeListReader newReader() - { - return this; - } - - @Override - public ChangeList read() - { - try { - final NetworkTreeOperationLog readLog = msgpack.read(in, NetworkTreeOperationLog.class); - ChangeList cl = new ChangeList() { - @Override - public Iterator iterator() { - return readLog.iterator(); - } - @Override - public String uuid() { - return readLog.getUUID(); - } - @Override - public String getTreeName() { - return readLog.getTreeName(); - } - }; - return cl; - } catch (EOFException e){ -// e.printStackTrace(); - } catch (IOException e) { -// e.printStackTrace(); - } - return null; - } - - } -} diff -r 0c98717f186e -r f3f89613c7e3 src/alice/jungle/persistence/PersistentChangeListReader.java --- a/src/alice/jungle/persistence/PersistentChangeListReader.java Tue Nov 05 09:13:30 2013 +0900 +++ b/src/alice/jungle/persistence/PersistentChangeListReader.java Tue Nov 05 15:56:31 2013 +0900 @@ -13,7 +13,7 @@ public class PersistentChangeListReader implements ChangeListReader { private static InputStream in; - MessagePack msgpack = NetworkJournal.getMessagePack(); + MessagePack msgpack = PersistentJournal.getMessagePack(); public PersistentChangeListReader() { in = null; diff -r 0c98717f186e -r f3f89613c7e3 src/alice/jungle/persistence/PersistentJournal.java --- a/src/alice/jungle/persistence/PersistentJournal.java Tue Nov 05 09:13:30 2013 +0900 +++ b/src/alice/jungle/persistence/PersistentJournal.java Tue Nov 05 15:56:31 2013 +0900 @@ -27,7 +27,7 @@ } public PersistentJournal(File file) throws FileNotFoundException { - out = new FileOutputStream(file, true); + out = new FileOutputStream(file); in = new FileInputStream(file); WRITER = new PersistentChangeListWriter(out); READER = new PersistentChangeListReader(in); diff -r 0c98717f186e -r f3f89613c7e3 src/jungle/app/bbs/codesegment/StartBBSCodeSegment.java --- a/src/jungle/app/bbs/codesegment/StartBBSCodeSegment.java Tue Nov 05 09:13:30 2013 +0900 +++ b/src/jungle/app/bbs/codesegment/StartBBSCodeSegment.java Tue Nov 05 15:56:31 2013 +0900 @@ -81,9 +81,6 @@ // try {Thread.sleep(100);} catch(Exception e) { e.printStackTrace(); } new LogUpdateCodeSegment(); } - - - } } diff -r 0c98717f186e -r f3f89613c7e3 src/test/alice/jungle/PersistenJournalTest.java --- a/src/test/alice/jungle/PersistenJournalTest.java Tue Nov 05 09:13:30 2013 +0900 +++ b/src/test/alice/jungle/PersistenJournalTest.java Tue Nov 05 15:56:31 2013 +0900 @@ -60,6 +60,7 @@ if(tree2 == null) { tree2 = jungle2.createNewTree(treeName); } + System.out.println("Tree name :"+treeName); JungleTreeEditor editor2 = tree2.getTreeEditor(); Either either2 = JungleUpdater.edit(editor2, chList.getTreeOperationLog()); if (either2.isA()) { diff -r 0c98717f186e -r f3f89613c7e3 src/test/alice/jungle/PersistentExample.java --- a/src/test/alice/jungle/PersistentExample.java Tue Nov 05 09:13:30 2013 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -package test.alice.jungle; - -import java.io.File; -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.core.Node; -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.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.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; -import alice.jungle.core.NetworkDefaultJungle; -import alice.jungle.operations.NetworkNodePath; -import alice.jungle.persistence.NetworkJournal; - -/* - * Hello World - */ - -public class PersistentExample { - - public static void main(String[] args) throws IOException { - NetworkJournal journal = new NetworkJournal( - new File("./log/commit.log")); - Jungle jungle = new NetworkDefaultJungle(journal, "uuid", - new DefaultTreeEditor(new DefaultTraverser()), "node00"); - jungle.createNewTree("hoge"); - JungleTree tree = jungle.getTreeByName("hoge"); - JungleTreeEditor editor = tree.getTreeEditor(); - NetworkNodePath path = new NetworkNodePath(); - String key = "key"; - ByteBuffer value = ByteBuffer.wrap("value".getBytes()); - int pos = 0; - Either either = editor.addNewChildAt(path, pos); - if(either.isA()){ - System.out.println("Failed addNewChildAt"); - System.exit(0); - } - editor = either.b(); - either = editor.putAttribute(path, key, value); - - JungleTreeEditor e = either.b(); - e.success(); - journal.close(); - - NetworkJournal journal2 = new NetworkJournal(new File("./log/commit.log")); - ChangeListReader reader = journal2.getReader(); - ChangeList chList = reader.read(); - for (; chList != null; chList = reader.read()) { - for (TreeOperation op : chList) { - NodePath p = op.getNodePath(); - NodeOperation nodeOp = op.getNodeOperation(); - Command c = nodeOp.getCommand(); - String str = ""; - switch (c) { - case PUT_ATTRIBUTE: - String opKey = nodeOp.getKey(); - ByteBuffer opValue = nodeOp.getValue(); - if (value.limit() < 100) { - str = String.format("key:%s,value:%s", opKey, - new String(opValue.array())); - } else { - str = String.format("key:%s,value:%d", opKey, - opValue.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, p, str)); - } - } - - } - -}