changeset 10:2af5af044947

add createXML and Index
author one
date Tue, 18 Nov 2014 15:09:50 +0900
parents ae1faea6f7c9
children cc219065cea3
files src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/CreateXML.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/oldTree/Index.java
diffstat 2 files changed, 111 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+      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 + "<element id = \"" + deep + "\">");
+    String newStr = str + "  ";
+    deep++;
+    if (deep < 20) {
+      nodeCount = put(pw, deep, newStr, nodeCount);
+      nodeCount = put(pw, deep, newStr, nodeCount);
+    }
+    pw.println(str + "</element>");
+    return nodeCount;
+  }
+}
--- /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<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));
+  }
+
+}