Mercurial > hg > Members > tatsuki > jungle-bench
comparison src/main/java/example/ReadThread.java @ 7:4e1f8f434648
Read refactoring
author | one |
---|---|
date | Tue, 01 Apr 2014 04:35:08 +0900 |
parents | 6954add9eea9 |
children | 442463aa27e5 |
comparison
equal
deleted
inserted
replaced
6:6954add9eea9 | 7:4e1f8f434648 |
---|---|
1 package example; | 1 package example; |
2 | 2 |
3 import java.nio.ByteBuffer; | 3 import java.nio.ByteBuffer; |
4 | 4 |
5 import fj.data.List; | |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; | 6 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.JungleTree; |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; | 8 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.DefaultNodePath; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TraversableNodeWrapper; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TraversableNodeWrapper; |
16 | 17 |
17 public class ReadThread extends Thread { | 18 public class ReadThread extends Thread { |
18 public static final String key = "name"; | 19 public static final String key = "name"; |
19 int roopCount; | 20 int roopCount; |
20 Jungle j; | 21 Jungle j; |
22 List<DefaultNodePath> paths; | |
21 | 23 |
22 ReadThread(Jungle j, int roopCount) { | 24 ReadThread(Jungle j, int roopCount, List<DefaultNodePath> paths) { |
23 this.roopCount = roopCount; | 25 this.roopCount = roopCount; |
26 System.out.println(roopCount); | |
27 this.paths = paths; | |
24 this.j = j; | 28 this.j = j; |
25 } | 29 } |
26 | 30 |
27 public void run() { | 31 public void run() { |
28 JungleTree tree = j.getTreeByName("tree"); | 32 JungleTree tree = j.getTreeByName("tree"); |
33 DefaultTraverser traverser = new DefaultTraverser(); | |
34 TraversableNodeWrapper<Node> traversable = new TraversableNodeWrapper<Node>( | |
35 tree.getRootNode()); | |
29 for (int count = 0; count < roopCount; count++) { | 36 for (int count = 0; count < roopCount; count++) { |
30 for (int x = 0; x < 2; x++) { | 37 for (DefaultNodePath path : paths) { |
31 DefaultNodePath path = new DefaultNodePath(); | |
32 path = path.add(x); | |
33 DefaultEvaluator evaluator = new DefaultEvaluator(path); | 38 DefaultEvaluator evaluator = new DefaultEvaluator(path); |
34 DefaultTraverser traverser = new DefaultTraverser(); | 39 Either<Error, Traversal<TraversableNodeWrapper<Node>>> ret = traverser |
35 TraversableNodeWrapper<Node> traversable = new TraversableNodeWrapper<Node>( | |
36 tree.getRootNode()); | |
37 Either<Error, Traversal<TraversableNodeWrapper<Node>>> result = traverser | |
38 .traverse(traversable, evaluator); | 40 .traverse(traversable, evaluator); |
39 if (result.isA()) { | 41 if (ret.isA()) { |
40 Assert.fail(); | 42 Assert.fail(); |
41 } | 43 } |
42 Traversal<TraversableNodeWrapper<Node>> traversal = result.b(); | 44 |
45 Traversal<TraversableNodeWrapper<Node>> traversal = ret.b(); | |
43 TraversableNodeWrapper<Node> target = traversal.destination(); | 46 TraversableNodeWrapper<Node> target = traversal.destination(); |
44 ByteBuffer value = target.getWrapped().getAttributes().get(key); | 47 ByteBuffer value = target.getWrapped().getAttributes().get(key); |
45 String actual = new String(value.array()); | 48 String actual = new String(value.array()); |
46 //System.out.println("値=" + actual); | 49 System.out.println(actual); |
47 for (int y = 0; y < 2; y++) { | 50 // List<DefaultNodePath> parts = path.inits(); |
48 path = new DefaultNodePath(); | 51 } |
49 path = path.add(x).add(y); | |
50 evaluator = new DefaultEvaluator(path); | |
51 | 52 |
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 } | 53 } |
54 | |
63 // ここまで処理 | 55 // ここまで処理 |
64 } | 56 } |
65 } | 57 } |