view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java @ 13:7c544969d4c9

add TransactionPersocondMeasurement
author one
date Wed, 26 Nov 2014 13:00:26 +0900
parents
children 89478f2ea07f
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 FunctionThread extends Thread {

  JungleTree tree;
  int findCount;
  boolean loop = true;

  public FunctionThread(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) {
      
      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", "3");

      for (; resultIterator.hasNext();) {
        resultIterator.next();
      }

      findCount++;
    }
  }
}