# HG changeset patch
# User one
# Date 1387540055 -32400
# Node ID 895ab2907db316284ac78c01075a41e679f1bc87
# Parent 3f9c6ab43461bf512650f18372383638a9882bb8
Modified pom.xml
diff -r 3f9c6ab43461 -r 895ab2907db3 pom.xml
--- a/pom.xml Fri Dec 20 06:51:35 2013 +0900
+++ b/pom.xml Fri Dec 20 20:47:35 2013 +0900
@@ -2,7 +2,8 @@
4.0.0
jungle-network
jungle-network
- 0.0.2-SNAPSHOT
+ pom
+ 0.0.2-SNAPSHOT
src/main/java
src/test/java
@@ -43,7 +44,7 @@
-
+
UTF-8
@@ -90,12 +91,13 @@
3.1
+
org.msgpack
msgpack
diff -r 3f9c6ab43461 -r 895ab2907db3 src/main/java/alice/jungle/persistent/AliceJournal.java
--- a/src/main/java/alice/jungle/persistent/AliceJournal.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/main/java/alice/jungle/persistent/AliceJournal.java Fri Dec 20 20:47:35 2013 +0900
@@ -1,5 +1,7 @@
package alice.jungle.persistent;
+import java.util.Iterator;
+
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;
@@ -70,6 +72,12 @@
{
return null;
}
+
+ @Override
+ public Iterator iterator() {
+ return null;
+ }
+
}
diff -r 3f9c6ab43461 -r 895ab2907db3 src/main/java/alice/jungle/persistent/PersistentChangeListReader.java
--- a/src/main/java/alice/jungle/persistent/PersistentChangeListReader.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/main/java/alice/jungle/persistent/PersistentChangeListReader.java Fri Dec 20 20:47:35 2013 +0900
@@ -3,6 +3,7 @@
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Iterator;
import org.msgpack.MessagePack;
@@ -13,7 +14,7 @@
public class PersistentChangeListReader implements ChangeListReader {
private InputStream in;
- MessagePack msgpack = PersistentJournal.getMessagePack();
+ MessagePack msgpack = PersistentJournal.getMsgPackInstance();
public PersistentChangeListReader() {
in = null;
@@ -42,4 +43,29 @@
}
return null;
}
+
+ @Override
+ public Iterator iterator() {
+ return new Iterator() {
+
+ @Override
+ public boolean hasNext() {
+ try {
+ return in.available() != 0;
+ } catch (IOException e) {
+ return false;
+ }
+ }
+
+ @Override
+ public ChangeList next() {
+ return read();
+ }
+
+ @Override
+ public void remove() {
+
+ }
+ };
+ }
}
diff -r 3f9c6ab43461 -r 895ab2907db3 src/main/java/alice/jungle/persistent/PersistentChangeListWriter.java
--- a/src/main/java/alice/jungle/persistent/PersistentChangeListWriter.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/main/java/alice/jungle/persistent/PersistentChangeListWriter.java Fri Dec 20 20:47:35 2013 +0900
@@ -13,7 +13,7 @@
public class PersistentChangeListWriter implements ChangeListWriter {
- MessagePack msgpack = PersistentJournal.getMessagePack();
+ MessagePack msgpack = PersistentJournal.getMsgPackInstance();
OutputStream out;
public PersistentChangeListWriter(OutputStream _out) {
@@ -29,6 +29,7 @@
out.flush();
return Result.SUCCESS;
} catch (IOException e) {
+
}
return null;
}
diff -r 3f9c6ab43461 -r 895ab2907db3 src/main/java/alice/jungle/persistent/PersistentJournal.java
--- a/src/main/java/alice/jungle/persistent/PersistentJournal.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/main/java/alice/jungle/persistent/PersistentJournal.java Fri Dec 20 20:47:35 2013 +0900
@@ -18,10 +18,14 @@
private static ChangeListWriter WRITER;
private static ChangeListReader READER;
- private static MessagePack msgpack = new MessagePack();
+ private static MessagePack msgpack;
private static OutputStream out = null;
private static InputStream in = null;
+ static {
+ msgpack = new MessagePack();
+ }
+
public PersistentJournal() {
}
@@ -73,7 +77,7 @@
return in;
}
- public static MessagePack getMessagePack() {
+ public static MessagePack getMsgPackInstance() {
return msgpack;
}
diff -r 3f9c6ab43461 -r 895ab2907db3 src/main/java/app/bbs/JungleManager.java
--- a/src/main/java/app/bbs/JungleManager.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/main/java/app/bbs/JungleManager.java Fri Dec 20 20:47:35 2013 +0900
@@ -26,7 +26,7 @@
private static int NOT_CHANGE_POSITION = 0;
private JungleManager() {
- jungle = new DefaultJungle(null,"hogehoge",new DefaultTreeEditor(new DefaultTraverser()));
+ jungle = new DefaultJungle(null,"default",new DefaultTreeEditor(new DefaultTraverser()));
}
public static JungleManager getInstantce() {
@@ -42,7 +42,7 @@
}
public static JungleTree createNewTree(String name) {
- return instance.jungle.createNewTree(name);
+ return instance.jungle.createNewTree(name);
}
public static Either edit(JungleTreeEditor _editor ,TreeOperationLog _log, int pos) {
diff -r 3f9c6ab43461 -r 895ab2907db3 src/test/java/alice/jungle/PersistenJournalTest.java
--- a/src/test/java/alice/jungle/PersistenJournalTest.java Fri Dec 20 06:51:35 2013 +0900
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-package alice.jungle;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import alice.jungle.operations.NetworkNodePath;
-import alice.jungle.persistent.PersistentChangeList;
-import alice.jungle.persistent.PersistentJournal;
-import alice.jungle.persistent.PersistentJungle;
-import alice.jungle.transaction.JungleUpdater;
-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;
-
-public class PersistenJournalTest {
-
- public static void main(String[] args) throws IOException {
- PersistentJournal journal = new PersistentJournal(
- new File("./log/commit.log"));
- Jungle jungle = new PersistentJungle(journal, "uuid",new DefaultTreeEditor(new DefaultTraverser()));
- 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();
-
- PersistentJournal journal2 = new PersistentJournal();
- journal2.setInputFile(new File("./log/commit.log"));
- journal2.setOutputFile(new File("./log/commit2.log"));
- Jungle jungle2 = new PersistentJungle(journal, "uuid2", new DefaultTreeEditor(new DefaultTraverser()));
- ChangeListReader reader = journal2.getReader();
- PersistentChangeList chList = (PersistentChangeList) reader.read();
- for (; chList != null; chList = (PersistentChangeList) reader.read()) {
- String treeName = chList.getTreeName();
- JungleTree tree2 = jungle2.getTreeByName(treeName);
- 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()) {
- System.err.println("JungleUpdater Error");
- System.exit(0);
- }
- editor2 = either2.b();
- editor2.success();
- printChangeList(chList);
- System.out.println();
- }
- JungleTree tree2 = jungle2.getTreeByName("hoge");
- Node node = tree2.getRootNode();
- System.out.println("Children size : "+node.getChildren().size());
-
- journal2.close();
-
- }
-
- public static void printChangeList(ChangeList chList) {
- 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 (opValue.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));
- }
-
- }
-
-}
diff -r 3f9c6ab43461 -r 895ab2907db3 src/test/java/alice/jungle/PersistentJournalTest.java
--- a/src/test/java/alice/jungle/PersistentJournalTest.java Fri Dec 20 06:51:35 2013 +0900
+++ b/src/test/java/alice/jungle/PersistentJournalTest.java Fri Dec 20 20:47:35 2013 +0900
@@ -5,7 +5,6 @@
import java.nio.ByteBuffer;
import alice.jungle.operations.NetworkNodePath;
-import alice.jungle.persistent.PersistentChangeList;
import alice.jungle.persistent.PersistentJournal;
import alice.jungle.persistent.PersistentJungle;
import alice.jungle.transaction.JungleUpdater;
@@ -16,11 +15,8 @@
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;
@@ -52,8 +48,7 @@
journal2.setOutputFile(new File("./log/commit2.log"));
Jungle jungle2 = new PersistentJungle(journal1, "uuid2", new DefaultTreeEditor(new DefaultTraverser()));
ChangeListReader reader = journal2.getReader();
- ChangeList chList = reader.read();
- for (; chList != null; chList = reader.read()) {
+ for (ChangeList chList : reader) {// != null; chList = reader.read()) {
String treeName = chList.getTreeName();
JungleTree tree2 = jungle2.getTreeByName(treeName);
if(tree2 == null) {