Mercurial > hg > Database > jungle-network
diff src/jungle/test/datasegment/store/operations/DefaultNodePathContainer.java @ 3:3770d2be3e73
modified DfaultNodePathContainer
author | one |
---|---|
date | Mon, 10 Jun 2013 01:18:45 +0900 |
parents | 20498c88a70d |
children | 2900e0b1d7e6 |
line wrap: on
line diff
--- a/src/jungle/test/datasegment/store/operations/DefaultNodePathContainer.java Sun Jun 09 13:53:16 2013 +0900 +++ b/src/jungle/test/datasegment/store/operations/DefaultNodePathContainer.java Mon Jun 10 01:18:45 2013 +0900 @@ -1,13 +1,17 @@ package jungle.test.datasegment.store.operations; import java.io.IOException; -import java.util.Arrays; +import java.util.LinkedList; import java.util.List; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import org.msgpack.MessagePack; import org.msgpack.annotation.Message; +import org.msgpack.template.IntegerTemplate; +import org.msgpack.template.ListTemplate; +import org.msgpack.template.ValueTemplate; import org.msgpack.type.Value; @Message @@ -15,24 +19,42 @@ public Value pathValue; + public static void main(String[] args) throws IOException { + DefaultNodePath p = new DefaultNodePath(); + p = p.add(1).add(2).add(3); + DefaultNodePathContainer pathContainer = new DefaultNodePathContainer(); + pathContainer.unconvert(p); + NodePath convertedPath = pathContainer.convert(); + for (int i : convertedPath) { + System.out.println(i); + } + } + public DefaultNodePathContainer() { } public void unconvert(DefaultNodePath path) throws IOException { MessagePack msgpack = new MessagePack(); - List<Integer> list = Arrays.asList(); + List<Integer> list = new LinkedList<Integer>(); for(Integer i : path) { list.add(i); } + /* Remove first Element(-1). */ + list.remove(0); + msgpack.register(List.class, new ListTemplate(IntegerTemplate.getInstance())); Value v = msgpack.unconvert(list); pathValue = v; } public DefaultNodePath convert() throws IOException { MessagePack msgpack = new MessagePack(); - return msgpack.convert(pathValue, DefaultNodePath.class); + msgpack.register(List.class, new ListTemplate(IntegerTemplate.getInstance())); + List<Integer> convertedList = (List<Integer>)msgpack.convert(pathValue, List.class); + DefaultNodePath path = new DefaultNodePath(); + for (int i: convertedList) { + path = path.add(i); + } + return path; } - - }