Mercurial > hg > Members > tatsuki > jungle-bench
annotate src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/FunctionThread.java @ 15:89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
author | one |
---|---|
date | Mon, 08 Dec 2014 01:08:03 +0900 |
parents | 7c544969d4c9 |
children |
rev | line source |
---|---|
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 | |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
12 JungleTree tree; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
13 int findCount; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
14 boolean loop = true; |
13 | 15 |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
16 public FunctionThread(JungleTree tree) { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
17 this.tree = tree; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
18 this.findCount = 0; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
19 } |
13 | 20 |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
21 public int getFindCount() { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
22 return findCount; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
23 } |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
24 |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
25 public void set(boolean loop) { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
26 this.loop = loop; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
27 } |
13 | 28 |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
29 @Override |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
30 public void run() { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
31 while (loop) { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
32 |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
33 findCount++; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
34 Random rnd = new Random(); |
13 | 35 |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
36 String value = String.valueOf(rnd.nextInt(1000)); |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
37 InterfaceTraverser traverser = tree.getTraverser(true); |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
38 Iterator<TreeNode> resultIterator = traverser.find( |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
39 (TreeNode node) -> { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
40 String nodeValue = node.getAttributes() |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
41 .getString("KEY"); |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
42 if (nodeValue == null) |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
43 return false; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
44 if (nodeValue.equals(value)) |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
45 return true; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
46 return false; |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
47 }, "KEY", value); |
13 | 48 |
15
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
49 for (; resultIterator.hasNext();) { |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
50 resultIterator.next(); |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
51 } |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
52 |
89478f2ea07f
change src name TimeMeasurementJuGrix to TimeMeasurementJuGrixFunction
one
parents:
13
diff
changeset
|
53 } |
13 | 54 } |
55 } |