diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java @ 17:917ecf2c7350

function Measurement
author one
date Wed, 24 Dec 2014 15:48:32 +0900
parents eed6235830c9
children 190890be73e4
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java	Mon Dec 08 19:11:19 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java	Wed Dec 24 15:48:32 2014 +0900
@@ -1,8 +1,12 @@
 package jp.ac.u_ryukyu.ie.cr.tatsuki.xml;
 
+import java.io.BufferedWriter;
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
+import java.io.FileWriter;
 import java.io.IOException;
+import java.io.PrintWriter;
 import java.nio.ByteBuffer;
 import java.util.Iterator;
 import java.util.Random;
@@ -28,37 +32,57 @@
 
 public class extendXmlTree {
 
-  private extendXmlTree() {
+  public static void main(String args[]) throws FileNotFoundException, ParserConfigurationException, SAXException,
+      IOException {
+
+    if (args.length != 2) {
+      System.out.println("Arguments are two necessary , first person count, second use Index");
+      return;
+    }
+
+    int maxPersonCount = Integer.parseInt(args[0]);
+
+    boolean useIndex = false;
+    if (args[1].equals("true"))
+      useIndex = true;
+
+    for (int personCount = 10; personCount <= maxPersonCount; personCount = personCount + 10) {
+      createJuGrix(useIndex, personCount);
+    }
 
   }
 
-
-  public static JuGrix createJuGrix(boolean useIndex,int personCount ) throws ParserConfigurationException, SAXException,
-      FileNotFoundException, IOException {
+  public static JuGrix createJuGrix(boolean useIndex, int personCount) throws ParserConfigurationException,
+      SAXException, FileNotFoundException, IOException {
     Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
     JungleTree readXmlTree = jungle.createNewTree("Person");
-     //JungleTree readXmlTree = readXml("Person", jungle);
+    // JungleTree readXmlTree = readXml("Person", jungle);
     JungleTree orgTree = readXml("Organization", jungle);
     JungleTree roleTree = readXml("Role", jungle);
     JungleTreeEditor editor = readXmlTree.getTreeEditor();
     NodePath path = new DefaultNodePath();
     editor = editor.addNewChildAt(path, 0).b();
     editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b();
-    System.out.println("Create Tree-------------------------------");
+
+    long start = System.currentTimeMillis();
+    
     for (int count = 0; count < personCount; ++count) {
       editor = extendsTree(editor, orgTree, roleTree, count);
     }
+ 
+    long stop = System.currentTimeMillis();
+    File file = new File("./time/createPersonTime");
+    PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file,true)));
+    pw.println(personCount + " " + (stop - start));
+    pw.close();
+    System.out.println("create person time = " + (stop - start));
+    System.out.println("person count = " + personCount);
     editor.success();
- 
-    int PersonCount = readXmlTree.getRootNode().getChildren().at(0).b().getChildren().size();
-    System.out.println("PersonCount = " + PersonCount);
-    System.out.println("end-------------------------------");
     JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree);
     return jugrix;
   }
 
-  public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree,
-      int count) {
+  public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree, int count) {
     Random rdm = new Random();
     int orgNum = rdm.nextInt(30);
     String orgId = "o:" + String.valueOf(orgNum);
@@ -239,8 +263,8 @@
     SAXParser saxParser = saxParserFactory.newSAXParser();
     JungleTree tree = jungle.createNewTree(xml);
     ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree);
-    saxParser
-        .parse(new FileInputStream("/Users/one/Documents/workspace/JungleXMLReader/xml/" + xml + ".xml"), readXmlHandler);
+    String currentPath = System.getProperty("user.dir");
+    saxParser.parse(new FileInputStream(currentPath + "/xml/" + xml + ".xml"), readXmlHandler);
     return readXmlHandler.getTree();
   }