Mercurial > hg > Members > tatsuki > jungle-bench
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/ReadJungleThread.java @ 17:917ecf2c7350
function Measurement
author | one |
---|---|
date | Wed, 24 Dec 2014 15:48:32 +0900 |
parents | src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java@89478f2ea07f |
children | 17cc11b04157 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.xml; import java.util.Iterator; import java.util.Random; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; public class ReadJungleThread extends Thread { JungleTree tree; int findCount; boolean loop = true; public ReadJungleThread(JungleTree tree) { this.tree = tree; this.findCount = 0; } public int getFindCount() { return findCount; } public void set(boolean loop) { this.loop = loop; } @Override public void run() { while (loop) { findCount++; Random rnd = new Random(); String value = String.valueOf(rnd.nextInt(1000)); InterfaceTraverser traverser = tree.getTraverser(true); Iterator<TreeNode> resultIterator = traverser.find( (TreeNode node) -> { String nodeValue = node.getAttributes().getString("KEY"); if (nodeValue == null) return false; if (nodeValue.equals(value)) return true; return false; }, "KEY", value); for (; resultIterator.hasNext();) { resultIterator.next(); } } } }