Mercurial > hg > Members > tatsuki > jungle-bench
view src/main/java/example/ReadThread.java @ 8:442463aa27e5
miss Spell revision
author | one |
---|---|
date | Tue, 01 Apr 2014 18:28:34 +0900 |
parents | 4e1f8f434648 |
children |
line wrap: on
line source
package example; 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; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TraversableNodeWrapper; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultEvaluator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traversal; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import junit.framework.Assert; public class ReadThread extends Thread { public static final String key = "name"; int loopCount; Jungle j; List<DefaultNodePath> paths; ReadThread(Jungle j, int loopCount, List<DefaultNodePath> paths) { this.loopCount = loopCount; System.out.println(loopCount); 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 < loopCount; count++) { for (DefaultNodePath path : paths) { DefaultEvaluator evaluator = new DefaultEvaluator(path); Either<Error, Traversal<TraversableNodeWrapper<Node>>> ret = traverser .traverse(traversable, evaluator); if (ret.isA()) { Assert.fail(); } 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); // List<DefaultNodePath> parts = path.inits(); } } // ここまで処理 } }