annotate src/alice/jungle/datasegment/store/operations/DefaultNodePathContainer.java @ 62:85bc7416ae02

modified some container using SingletonMessage
author one
date Fri, 19 Jul 2013 11:08:04 +0900
parents 190f6a3bdab2
children 89e39301ccaa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
190f6a3bdab2 rename some packages
one
parents: 6
diff changeset
1 package alice.jungle.datasegment.store.operations;
2
20498c88a70d add Container
one
parents:
diff changeset
2
20498c88a70d add Container
one
parents:
diff changeset
3 import java.io.IOException;
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
4 import java.util.LinkedList;
2
20498c88a70d add Container
one
parents:
diff changeset
5 import java.util.List;
20498c88a70d add Container
one
parents:
diff changeset
6
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
2
20498c88a70d add Container
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
20498c88a70d add Container
one
parents:
diff changeset
9
20498c88a70d add Container
one
parents:
diff changeset
10 import org.msgpack.MessagePack;
20498c88a70d add Container
one
parents:
diff changeset
11 import org.msgpack.annotation.Message;
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
12 import org.msgpack.template.IntegerTemplate;
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
13 import org.msgpack.template.ListTemplate;
2
20498c88a70d add Container
one
parents:
diff changeset
14 import org.msgpack.type.Value;
20498c88a70d add Container
one
parents:
diff changeset
15
62
85bc7416ae02 modified some container using SingletonMessage
one
parents: 31
diff changeset
16 import alice.codesegment.SingletonMessage;
85bc7416ae02 modified some container using SingletonMessage
one
parents: 31
diff changeset
17
2
20498c88a70d add Container
one
parents:
diff changeset
18 @Message
20498c88a70d add Container
one
parents:
diff changeset
19 public class DefaultNodePathContainer {
20498c88a70d add Container
one
parents:
diff changeset
20
20498c88a70d add Container
one
parents:
diff changeset
21 public Value pathValue;
20498c88a70d add Container
one
parents:
diff changeset
22
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
23 public static void main(String[] args) throws IOException {
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
24 DefaultNodePath p = new DefaultNodePath();
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
25 p = p.add(1).add(2).add(3);
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
26 DefaultNodePathContainer pathContainer = new DefaultNodePathContainer();
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
27 pathContainer.unconvert(p);
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
28 NodePath convertedPath = pathContainer.convert();
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
29 for (int i : convertedPath) {
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
30 System.out.println(i);
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
31 }
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
32 }
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
33
2
20498c88a70d add Container
one
parents:
diff changeset
34 public DefaultNodePathContainer() {
20498c88a70d add Container
one
parents:
diff changeset
35
20498c88a70d add Container
one
parents:
diff changeset
36 }
20498c88a70d add Container
one
parents:
diff changeset
37
6
02bdf23edf5a modifie DefaultTreeOperationCotnainer
one
parents: 4
diff changeset
38 public void unconvert(NodePath path) throws IOException {
2
20498c88a70d add Container
one
parents:
diff changeset
39 MessagePack msgpack = new MessagePack();
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
40 List<Integer> list = new LinkedList<Integer>();
2
20498c88a70d add Container
one
parents:
diff changeset
41 for(Integer i : path) {
20498c88a70d add Container
one
parents:
diff changeset
42 list.add(i);
20498c88a70d add Container
one
parents:
diff changeset
43 }
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
44 /* Remove first Element(-1). */
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
45 list.remove(0);
2
20498c88a70d add Container
one
parents:
diff changeset
46 Value v = msgpack.unconvert(list);
20498c88a70d add Container
one
parents:
diff changeset
47 pathValue = v;
20498c88a70d add Container
one
parents:
diff changeset
48 }
20498c88a70d add Container
one
parents:
diff changeset
49
20498c88a70d add Container
one
parents:
diff changeset
50 public DefaultNodePath convert() throws IOException {
20498c88a70d add Container
one
parents:
diff changeset
51 MessagePack msgpack = new MessagePack();
3
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
52 msgpack.register(List.class, new ListTemplate(IntegerTemplate.getInstance()));
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
53 List<Integer> convertedList = (List<Integer>)msgpack.convert(pathValue, List.class);
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
54 DefaultNodePath path = new DefaultNodePath();
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
55 for (int i: convertedList) {
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
56 path = path.add(i);
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
57 }
3770d2be3e73 modified DfaultNodePathContainer
one
parents: 2
diff changeset
58 return path;
2
20498c88a70d add Container
one
parents:
diff changeset
59 }
20498c88a70d add Container
one
parents:
diff changeset
60 }