comparison src/jungle/test/codesegment/practice/TestCodeSegment.java @ 13:f3c0a65c3f12

TestCodeSegment use asClass
author one
date Thu, 27 Jun 2013 21:02:58 +0900
parents c9ff68c4d82f
children
comparison
equal deleted inserted replaced
12:80680cfcfd3b 13:f3c0a65c3f12
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; 19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; 20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
22 import jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer; 23 import jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer;
23 import jungle.test.transaction.NetworkDefaultJungleTreeEditor; 24 import jungle.test.transaction.NetworkDefaultJungleTreeEditor;
24 import alice.codesegment.CodeSegment; 25 import alice.codesegment.CodeSegment;
25 import alice.datasegment.CommandType; 26 import alice.datasegment.CommandType;
26 import alice.datasegment.Receiver; 27 import alice.datasegment.Receiver;
28 import alice.test.topology.aquarium.FishPoint;
27 29
28 import org.msgpack.MessagePack; 30 import org.msgpack.MessagePack;
29 import org.msgpack.type.Value; 31 import org.msgpack.type.Value;
30 32
31 public class TestCodeSegment extends CodeSegment { 33 public class TestCodeSegment extends CodeSegment {
34 36
35 // create input datasegment arg1 37 // create input datasegment arg1
36 Receiver arg1 = ids.create(CommandType.PEEK); 38 Receiver arg1 = ids.create(CommandType.PEEK);
37 39
38 public TestCodeSegment() { 40 public TestCodeSegment() {
41 arg1.setKey("log");
39 jungle.createNewTree("tree"); 42 jungle.createNewTree("tree");
40 } 43 }
41 44
42 @Override 45 @Override
43 public void run() { 46 public void run() {
44 System.out.println("type = " + arg1.type); 47 System.out.println("type = " + arg1.type);
45 System.out.println("index = " + arg1.index); 48 System.out.println("index = " + arg1.index);
46 System.out.println("data = " + arg1.getVal()); 49 System.out.println("data = " + arg1.getVal());
47 System.out.println(((Value)arg1.getVal()).getType()); 50 System.out.println(arg1.getVal().getType());
48 51
49 MessagePack msgpack = new MessagePack(); 52 DefaultTreeOperationLogContainer convertedLogContainer = arg1.asClass(DefaultTreeOperationLogContainer.class);
50 Value logContainerValue = (Value) arg1.getVal();
51 TreeOperationLog convertedLog = null; 53 TreeOperationLog convertedLog = null;
52 try { 54 try {
53 DefaultTreeOperationLogContainer convertedLogContainer = msgpack.convert(logContainerValue, DefaultTreeOperationLogContainer.class);
54 convertedLog = convertedLogContainer.convert(); 55 convertedLog = convertedLogContainer.convert();
55 } catch (IOException e) { 56 } catch (IOException e) {
56 e.printStackTrace(); 57 e.printStackTrace();
57 } 58 }
58 printLog(convertedLog); 59 printLog(convertedLog);