13
|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.xml;
|
|
2
|
|
3 import java.util.Iterator;
|
|
4 import java.util.Random;
|
|
5
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
|
|
9
|
|
10 public class FunctionThread extends Thread {
|
|
11
|
|
12 JungleTree tree;
|
|
13 int findCount;
|
|
14 boolean loop = true;
|
|
15
|
|
16 public FunctionThread(JungleTree tree) {
|
|
17 this.tree = tree;
|
|
18 this.findCount = 0;
|
|
19 }
|
|
20
|
|
21 public int getFindCount() {
|
|
22 return findCount;
|
|
23 }
|
|
24
|
|
25 public void set(boolean loop) {
|
|
26 this.loop = loop;
|
|
27 }
|
|
28
|
|
29 @Override
|
|
30 public void run() {
|
|
31 while (loop) {
|
|
32
|
|
33 Random rnd = new Random();
|
|
34 String value = String.valueOf(rnd .nextInt(1000));
|
|
35 InterfaceTraverser traverser = tree.getTraverser(true);
|
|
36 Iterator<TreeNode> resultIterator = traverser.find((TreeNode node) -> {
|
|
37 String nodeValue = node.getAttributes().getString("KEY");
|
|
38 if (nodeValue == null)
|
|
39 return false;
|
|
40 if (nodeValue.equals(value))
|
|
41 return true;
|
|
42 return false;
|
|
43 }, "KEY", "3");
|
|
44
|
|
45 for (; resultIterator.hasNext();) {
|
|
46 resultIterator.next();
|
|
47 }
|
|
48
|
|
49 findCount++;
|
|
50 }
|
|
51 }
|
|
52 }
|