# HG changeset patch # User tatsuki # Date 1485446983 -32400 # Node ID a0529572fbcb47749f847b0f725233663d43dacf # Parent b8ddf62689ee08383d5b110f559ae5aa15a92dd6 Path Convert magpack bug fix diff -r b8ddf62689ee -r a0529572fbcb src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/DefaultNodePath.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/DefaultNodePath.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/DefaultNodePath.java Fri Jan 27 01:09:43 2017 +0900 @@ -118,12 +118,12 @@ } @Override - public PathType getPathType() { + public int getPathType() { return PathType.Default; } @Override // Defultでは今の所使わない - public NodePath setType(PathType type) { + public NodePath setType(int type) { return null; } diff -r b8ddf62689ee -r a0529572fbcb src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/NodePath.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/NodePath.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/NodePath.java Fri Jan 27 01:09:43 2017 +0900 @@ -15,6 +15,6 @@ public NodePath addHead(int pos); public String getKey(); public ByteBuffer getValue(); - public PathType getPathType(); - public NodePath setType(PathType type); + public int getPathType(); + public NodePath setType(int type); } diff -r b8ddf62689ee -r a0529572fbcb src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/PathType.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/PathType.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/PathType.java Fri Jan 27 01:09:43 2017 +0900 @@ -1,5 +1,15 @@ package jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath; -public enum PathType { - Default,RedBlack,RedBlackNode,RedBlackAttribute +import org.msgpack.annotation.Message; + +//enumで作るとmsgPackでイニシャライズ出来なかった +@Message +public class PathType { + public static final int Default = 0; + + public static final int RedBlack = 1; + + public static final int RedBlackNode = 2; + + public static final int RedBlackAttribute = 3; } diff -r b8ddf62689ee -r a0529572fbcb src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/RedBlackTreeNodePath.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/RedBlackTreeNodePath.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungle/store/nodepath/RedBlackTreeNodePath.java Fri Jan 27 01:09:43 2017 +0900 @@ -11,7 +11,7 @@ private final String key; private final ByteBuffer value; - private final PathType type; + private final int type; public RedBlackTreeNodePath() { this.key = "default"; @@ -25,7 +25,7 @@ this.type = PathType.RedBlack; } - private RedBlackTreeNodePath(String key, ByteBuffer value, PathType type) { + private RedBlackTreeNodePath(String key, ByteBuffer value, int type) { this.key = key; this.value = value; this.type = type; @@ -42,12 +42,12 @@ } @Override - public PathType getPathType() { + public int getPathType() { return type; } @Override - public NodePath setType(PathType type) { + public NodePath setType(int type) { return new RedBlackTreeNodePath(this.getKey(), this.getValue(), type); } diff -r b8ddf62689ee -r a0529572fbcb src/main/java/jp/ac/u_ryukyu/ie/cr/jungleNetwork/operations/NetworkNodePath.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/jungleNetwork/operations/NetworkNodePath.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/jungleNetwork/operations/NetworkNodePath.java Fri Jan 27 01:09:43 2017 +0900 @@ -13,7 +13,7 @@ @Message public class NetworkNodePath implements NodePath { LinkedList path; - PathType type; + int type; public NetworkNodePath() { path = new LinkedList(); @@ -29,7 +29,7 @@ type = _p.getPathType(); } - public NetworkNodePath(NodePath _p, PathType type) { + public NetworkNodePath(NodePath _p, int type) { path = new LinkedList(); for (Integer pos : _p) { path.add(pos); @@ -115,12 +115,12 @@ } @Override - public PathType getPathType() { + public int getPathType() { return PathType.Default; } @Override //ネットワークでは今のところ使わない - public NodePath setType(PathType type) { + public NodePath setType(int type) { return null; } } diff -r b8ddf62689ee -r a0529572fbcb src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetKeysTest.java --- a/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetKeysTest.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetKeysTest.java Fri Jan 27 01:09:43 2017 +0900 @@ -3,8 +3,8 @@ import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.jungle.core.Attributes; -import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath; +import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.RedBlackTreeNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree; @@ -32,10 +32,9 @@ } Jungle jungle = new DefaultJungle(null, "hogehoge"); JungleTree tree = jungle.createNewRedBlackTree("TreeName", "balanceKey"); - NodePath path = new DefaultNodePath(); - JungleTreeEditor editor = tree.getJungleTreeEditor(); ByteBuffer value = ByteBuffer.wrap(("value").getBytes()); + NodePath path = new RedBlackTreeNodePath(balanceKey,value); Either either = editor.addNewChildAndPutAttribute(path, 0, balanceKey, value); //ノードの追加 Assert.assertFalse(either.isA()); editor = either.b(); diff -r b8ddf62689ee -r a0529572fbcb src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetfilteringKeyTest.java --- a/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetfilteringKeyTest.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/impl/redblacktreenode/GetfilteringKeyTest.java Fri Jan 27 01:09:43 2017 +0900 @@ -3,8 +3,8 @@ import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.jungle.core.Attributes; -import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath; +import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.RedBlackTreeNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree; @@ -39,7 +39,7 @@ Jungle jungle = new DefaultJungle(null, "hogehoge"); JungleTree tree = jungle.createNewRedBlackTree("TreeName", "balanceKey"); - NodePath path = new DefaultNodePath(); + NodePath path = new RedBlackTreeNodePath(balanceKey,ByteBuffer.wrap(("value").getBytes())); JungleTreeEditor editor = tree.getJungleTreeEditor(); ByteBuffer value = ByteBuffer.wrap(("value").getBytes()); diff -r b8ddf62689ee -r a0529572fbcb src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/traverse/RedBlackInterfaceTraverserTest.java --- a/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/traverse/RedBlackInterfaceTraverserTest.java Fri Jan 27 00:45:01 2017 +0900 +++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/traverse/RedBlackInterfaceTraverserTest.java Fri Jan 27 01:09:43 2017 +0900 @@ -4,8 +4,8 @@ import jp.ac.u_ryukyu.ie.cr.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.jungle.persistent.NullJournal; import jp.ac.u_ryukyu.ie.cr.jungle.query.traverser.InterfaceTraverser; -import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath; +import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.RedBlackTreeNodePath; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode; import jp.ac.u_ryukyu.ie.cr.jungle.tree.JungleTree; @@ -26,7 +26,7 @@ jungle.createNewRedBlackTree("RedBlackTree", balanceKey); JungleTree tree = jungle.getTreeByName("RedBlackTree"); JungleTreeEditor editor = tree.getJungleTreeEditor(); - NodePath path = new DefaultNodePath(); + NodePath path = new RedBlackTreeNodePath(); for (int nodeCount = 0; nodeCount < 100; nodeCount++) { ByteBuffer value = ByteBuffer.wrap(("value" + nodeCount).getBytes()); Either either = editor.addNewChildAndPutAttribute(path, 0, balanceKey, value);