Mercurial > hg > Members > tatsuki > jungle-bench
view 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 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.oldTree; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Iterator; import java.util.Random; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import fj.data.List; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; import ac.jp.u_ryukyu.cr.ie.tatsuki.xmlReader.LoadXml; public class Index { public static void main(String args[]) throws FileNotFoundException, SAXException, IOException, ParserConfigurationException { LoadXml readerIndex = new LoadXml(); JungleTree personTreeIndex = readerIndex.loadTestDataCreateIndex("test.xml"); InterfaceTraverser traverserIndex = personTreeIndex.getTraverser(); search(traverserIndex, "Index"); // LoadXml reader = new LoadXml(); // JungleTree personTree = reader.loadTestData("test.xml"); // InterfaceTraverser traverser = personTree.getTraverser(); // search(traverser, "Normal"); System.out.println("test"); } public static void search(InterfaceTraverser traverser, String type) { Random rnd = new Random(); List<String> str = List.nil(); System.out.println("start"); str = str.cons(String.valueOf(rnd.nextInt(1000))); long t1 = System.currentTimeMillis(); for (String attribute : str) { Iterator<Pair<TreeNode, NodePath>> pair = traverser.find((TreeNode node) -> { Iterator<String> element = node.getAttributes().getString("element"); if (!element.hasNext()) return false; if (!element.next().equals("element")) return false; Iterator<String> id = node.getAttributes().getString("element-id"); if (!id.hasNext()) return false; if (id.next().equals(attribute)) return true; return false; }, "element-id", attribute); for (; pair.hasNext();) { pair.next(); } } long t2 = System.currentTimeMillis(); System.out.println(type + " : time = " + (t2 - t1)); } }