diff 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
line wrap: on
line diff
--- a/src/main/java/example/ReadThread.java	Mon Mar 31 07:00:11 2014 +0900
+++ b/src/main/java/example/ReadThread.java	Tue Apr 01 04:35:08 2014 +0900
@@ -2,6 +2,7 @@
 
 import java.nio.ByteBuffer;
 
+import fj.data.List;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
@@ -18,48 +19,39 @@
 	public static final String key = "name";
 	int roopCount;
 	Jungle j;
+	List<DefaultNodePath> paths;
 
-	ReadThread(Jungle j, int roopCount) {
+	ReadThread(Jungle j, int roopCount, List<DefaultNodePath> paths) {
 		this.roopCount = roopCount;
+		System.out.println(roopCount);
+		this.paths = paths;
 		this.j = j;
 	}
 
 	public void run() {
 		JungleTree tree = j.getTreeByName("tree");
+		DefaultTraverser traverser = new DefaultTraverser();
+		TraversableNodeWrapper<Node> traversable = new TraversableNodeWrapper<Node>(
+				tree.getRootNode());
 		for (int count = 0; count < roopCount; count++) {
-			for (int x = 0; x < 2; x++) {
-				DefaultNodePath path = new DefaultNodePath();
-				path = path.add(x);
+			for (DefaultNodePath path : paths) {
 				DefaultEvaluator evaluator = new DefaultEvaluator(path);
-				DefaultTraverser traverser = new DefaultTraverser();
-				TraversableNodeWrapper<Node> traversable = new TraversableNodeWrapper<Node>(
-						tree.getRootNode());
-				Either<Error, Traversal<TraversableNodeWrapper<Node>>> result = traverser
+				Either<Error, Traversal<TraversableNodeWrapper<Node>>> ret = traverser
 						.traverse(traversable, evaluator);
-				if (result.isA()) {
+				if (ret.isA()) {
 					Assert.fail();
 				}
-				Traversal<TraversableNodeWrapper<Node>> traversal = result.b();
+
+				Traversal<TraversableNodeWrapper<Node>> traversal = ret.b();
 				TraversableNodeWrapper<Node> target = traversal.destination();
 				ByteBuffer value = target.getWrapped().getAttributes().get(key);
-				String actual = new String(value.array());
-				//System.out.println("値=" + actual);
-				for (int y = 0; y < 2; y++) {
-					path = new DefaultNodePath();
-					path = path.add(x).add(y);
-					evaluator = new DefaultEvaluator(path);
+				 String actual = new String(value.array());
+				 System.out.println(actual);
+				// List<DefaultNodePath> parts = path.inits();
+			}
 
-					result = traverser.traverse(traversable, evaluator);
-					if (result.isA()) {
-						Assert.fail();
-					}
-					traversal = result.b();
-					target = traversal.destination();
-					value = target.getWrapped().getAttributes().get(key);
-					actual = new String(value.array());
-				}
-			}
 		}
+
 		// ここまで処理
 	}
 }