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 }