# HG changeset patch # User one # Date 1416290990 -32400 # Node ID 2af5af0449470099d11d1c9b48ecd869025565f7 # Parent ae1faea6f7c9063892d212103affebe40c4e17c2 add createXML and Index diff -r ae1faea6f7c9 -r 2af5af044947 src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/CreateXML.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/CreateXML.java Tue Nov 18 15:09:50 2014 +0900 @@ -0,0 +1,38 @@ +package jp.ac.u_ryukyu.ie.cr.tatsuki.oldTree; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; + +public class CreateXML { + + public static void main(String args[]) { + + try { + File file = new File("./XML/test.xml"); + PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file))); + pw.println(""); + int nodeCount = put(pw, 0, "", 0); + + pw.close(); + System.out.println(nodeCount); + } catch (IOException e) { + System.out.println(e); + } + } + + public static int put(PrintWriter pw, int deep, String str, int nodeCount) { + nodeCount++; + pw.println(str + ""); + String newStr = str + " "; + deep++; + if (deep < 20) { + nodeCount = put(pw, deep, newStr, nodeCount); + nodeCount = put(pw, deep, newStr, nodeCount); + } + pw.println(str + ""); + return nodeCount; + } +} diff -r ae1faea6f7c9 -r 2af5af044947 src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/Index.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/Index.java Tue Nov 18 15:09:50 2014 +0900 @@ -0,0 +1,73 @@ +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 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 = traverser.find((TreeNode node) -> { + Iterator element = node.getAttributes().getString("element"); + if (!element.hasNext()) + return false; + if (!element.next().equals("element")) + return false; + + Iterator 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)); + } + +}