Mercurial > hg > Members > tatsuki > jungle-bench
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/Index.java @ 10:2af5af044947
add createXML and Index
author | one |
---|---|
date | Tue, 18 Nov 2014 15:09:50 +0900 |
parents | |
children | cc219065cea3 |
comparison
equal
deleted
inserted
replaced
9:ae1faea6f7c9 | 10:2af5af044947 |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.oldTree; | |
2 | |
3 import java.io.FileNotFoundException; | |
4 import java.io.IOException; | |
5 import java.util.Iterator; | |
6 import java.util.Random; | |
7 | |
8 import javax.xml.parsers.ParserConfigurationException; | |
9 | |
10 import org.xml.sax.SAXException; | |
11 | |
12 import fj.data.List; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; | |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | |
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; | |
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; | |
18 import ac.jp.u_ryukyu.cr.ie.tatsuki.xmlReader.LoadXml; | |
19 | |
20 public class Index { | |
21 | |
22 public static void main(String args[]) throws FileNotFoundException, SAXException, IOException, | |
23 ParserConfigurationException { | |
24 | |
25 LoadXml readerIndex = new LoadXml(); | |
26 | |
27 JungleTree personTreeIndex = readerIndex.loadTestDataCreateIndex("test.xml"); | |
28 InterfaceTraverser traverserIndex = personTreeIndex.getTraverser(); | |
29 search(traverserIndex, "Index"); | |
30 | |
31 // LoadXml reader = new LoadXml(); | |
32 // JungleTree personTree = reader.loadTestData("test.xml"); | |
33 // InterfaceTraverser traverser = personTree.getTraverser(); | |
34 // search(traverser, "Normal"); | |
35 System.out.println("test"); | |
36 | |
37 } | |
38 | |
39 public static void search(InterfaceTraverser traverser, String type) { | |
40 | |
41 Random rnd = new Random(); | |
42 List<String> str = List.nil(); | |
43 System.out.println("start"); | |
44 str = str.cons(String.valueOf(rnd.nextInt(1000))); | |
45 | |
46 long t1 = System.currentTimeMillis(); | |
47 | |
48 for (String attribute : str) { | |
49 | |
50 Iterator<Pair<TreeNode, NodePath>> pair = traverser.find((TreeNode node) -> { | |
51 Iterator<String> element = node.getAttributes().getString("element"); | |
52 if (!element.hasNext()) | |
53 return false; | |
54 if (!element.next().equals("element")) | |
55 return false; | |
56 | |
57 Iterator<String> id = node.getAttributes().getString("element-id"); | |
58 if (!id.hasNext()) | |
59 return false; | |
60 if (id.next().equals(attribute)) | |
61 return true; | |
62 return false; | |
63 }, "element-id", attribute); | |
64 | |
65 for (; pair.hasNext();) { | |
66 pair.next(); | |
67 } | |
68 } | |
69 long t2 = System.currentTimeMillis(); | |
70 System.out.println(type + " : time = " + (t2 - t1)); | |
71 } | |
72 | |
73 } |