Mercurial > hg > Members > tatsuki > jungle-bench
view src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/TimeMeasurementCreateIndex.java @ 17:917ecf2c7350
function Measurement
author | one |
---|---|
date | Wed, 24 Dec 2014 15:48:32 +0900 |
parents | eed6235830c9 |
children | 195c1a644550 |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.tatsuki.xml; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.ByteBuffer; import java.util.Iterator; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; import fj.data.List; import ac.jp.u_ryukyu.cr.ie.tatsuki.xmlReader.ReadXmlHandler; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Index; import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex; public class TimeMeasurementCreateIndex { public static void main(String args[]) throws FileNotFoundException, ParserConfigurationException, SAXException, IOException { int maxPersonCount = Integer.parseInt(args[0]); Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser())); JungleTree orgTree = readXml("Organization", jungle); JungleTree roleTree = readXml("Role", jungle); File file = new File("./time/createParentIndexUntil"); file.delete(); for (int personCount = 0; personCount <= maxPersonCount;) { JungleTree tree = createJungleTree("Tree"); JungleTreeEditor editor = tree.getTreeEditor(); NodePath path = new DefaultNodePath(); editor = editor.addNewChildAt(path, 0).b(); editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b(); for (int count = 0; count < personCount; count++) { editor = extendXmlTree.extendsTree(editor, orgTree, roleTree, count); } editor.success(); personCount = personCount + 10; System.out.println("personCount" + personCount); } } private static JungleTree createJungleTree(String name) { ChangeList list = new ChangeList() { @Override public Iterator<TreeOperation> iterator() { List<TreeOperation> nil = List.nil(); return nil.iterator(); } @Override public String uuid() { return "hoge"; } @Override public String getTreeName() { return name; } }; DefaultTreeNode root = new DefaultTreeNode(); Index index = new Index(); ParentIndex parentIndex = new ParentIndex(); ChangeSet set = new DefaultChangeSet(root, null, list, "hoge", name, 0, index.getIndex(), parentIndex.getParentIndex()); DefaultTreeContext tc = new DefaultTreeContext(root, set); JungleTree newTree = new DefaultJungleTree(tc, "hoge", new NullJournal().getWriter(), new DefaultTreeEditor( new DefaultTraverser())); return newTree; } private static JungleTree readXml(String xml, Jungle jungle) throws ParserConfigurationException, SAXException, IOException, FileNotFoundException { SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxParserFactory.newSAXParser(); JungleTree tree = jungle.createNewTree(xml); ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree); String currentPath = System.getProperty("user.dir"); saxParser.parse(new FileInputStream(currentPath + "/xml/" + xml + ".xml"), readXmlHandler); return readXmlHandler.getTree(); } }