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 }