comparison src/main/java/example/ReadThread.java @ 6:6954add9eea9

make Read test trial
author one
date Mon, 31 Mar 2014 07:00:11 +0900
parents
children 4e1f8f434648
comparison
equal deleted inserted replaced
5:24fca21a576e 6:6954add9eea9
1 package example;
2
3 import java.nio.ByteBuffer;
4
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TraversableNodeWrapper;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultEvaluator;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traversal;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
15 import junit.framework.Assert;
16
17 public class ReadThread extends Thread {
18 public static final String key = "name";
19 int roopCount;
20 Jungle j;
21
22 ReadThread(Jungle j, int roopCount) {
23 this.roopCount = roopCount;
24 this.j = j;
25 }
26
27 public void run() {
28 JungleTree tree = j.getTreeByName("tree");
29 for (int count = 0; count < roopCount; count++) {
30 for (int x = 0; x < 2; x++) {
31 DefaultNodePath path = new DefaultNodePath();
32 path = path.add(x);
33 DefaultEvaluator evaluator = new DefaultEvaluator(path);
34 DefaultTraverser traverser = new DefaultTraverser();
35 TraversableNodeWrapper<Node> traversable = new TraversableNodeWrapper<Node>(
36 tree.getRootNode());
37 Either<Error, Traversal<TraversableNodeWrapper<Node>>> result = traverser
38 .traverse(traversable, evaluator);
39 if (result.isA()) {
40 Assert.fail();
41 }
42 Traversal<TraversableNodeWrapper<Node>> traversal = result.b();
43 TraversableNodeWrapper<Node> target = traversal.destination();
44 ByteBuffer value = target.getWrapped().getAttributes().get(key);
45 String actual = new String(value.array());
46 //System.out.println("値=" + actual);
47 for (int y = 0; y < 2; y++) {
48 path = new DefaultNodePath();
49 path = path.add(x).add(y);
50 evaluator = new DefaultEvaluator(path);
51
52 result = traverser.traverse(traversable, evaluator);
53 if (result.isA()) {
54 Assert.fail();
55 }
56 traversal = result.b();
57 target = traversal.destination();
58 value = target.getWrapped().getAttributes().get(key);
59 actual = new String(value.array());
60 }
61 }
62 }
63 // ここまで処理
64 }
65 }