annotate src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java @ 19:17cc11b04157

change read function for transactionPerSecond
author one
date Sun, 15 Feb 2015 02:06:57 +0900
parents 190890be73e4
children 195c1a644550
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.tatsuki.xml;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
2
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
3 import java.io.BufferedWriter;
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
4 import java.io.File;
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
5 import java.io.FileInputStream;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
6 import java.io.FileNotFoundException;
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
7 import java.io.FileWriter;
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
8 import java.io.IOException;
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
9 import java.io.PrintWriter;
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
10 import java.nio.ByteBuffer;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
11 import java.util.Iterator;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
12 import java.util.Random;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
13
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
14 import javax.xml.parsers.ParserConfigurationException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
15 import javax.xml.parsers.SAXParser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
16 import javax.xml.parsers.SAXParserFactory;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
17
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
18 import org.xml.sax.SAXException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
19
19
17cc11b04157 change read function for transactionPerSecond
one
parents: 18
diff changeset
20 import jp.ac.u_ryukyu.cr.ie.tatsuki.xmlTestBbs.JuGrix;
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
31 import ac.jp.u_ryukyu.cr.ie.tatsuki.xmlReader.ReadXmlHandler;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
32
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
33 public class extendXmlTree {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
34
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
35 public static void main(String args[]) throws FileNotFoundException, ParserConfigurationException, SAXException,
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
36 IOException {
19
17cc11b04157 change read function for transactionPerSecond
one
parents: 18
diff changeset
37 System.out.println("extendXmlTree");
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
38 if (args.length != 2) {
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
39 System.out.println("Arguments are two necessary , first person count, second use Index");
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
40 return;
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
41 }
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
42
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
43 int maxPersonCount = Integer.parseInt(args[0]);
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
44
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
45 boolean useIndex = false;
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
46 if (args[1].equals("true"))
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
47 useIndex = true;
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
48
18
190890be73e4 TreeMap memory and TreeMap get
one
parents: 17
diff changeset
49 for (int personCount = 100; personCount <= maxPersonCount; personCount = personCount + 100) {
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
50 createJuGrix(useIndex, personCount);
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
51 }
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
52
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
53 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
54
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
55 public static JuGrix createJuGrix(boolean useIndex, int personCount) throws ParserConfigurationException,
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
56 SAXException, FileNotFoundException, IOException {
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
57 Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
58 JungleTree readXmlTree = jungle.createNewTree("Person");
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
59 // JungleTree readXmlTree = readXml("Person", jungle);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
60 JungleTree orgTree = readXml("Organization", jungle);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
61 JungleTree roleTree = readXml("Role", jungle);
19
17cc11b04157 change read function for transactionPerSecond
one
parents: 18
diff changeset
62 JungleTree rdeTree = readXml("RoleDescriptionElement",jungle);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
63 JungleTreeEditor editor = readXmlTree.getTreeEditor();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
64 NodePath path = new DefaultNodePath();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
65 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
66 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b();
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
67
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
68 long start = System.currentTimeMillis();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
69
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
70 for (int count = 0; count < personCount; ++count) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
71 editor = extendsTree(editor, orgTree, roleTree, count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
72 }
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
73
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
74 long stop = System.currentTimeMillis();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
75 File file = new File("./time/createPersonTime");
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
76 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file,true)));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
77 pw.println(personCount + " " + (stop - start));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
78 pw.close();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
79 System.out.println("create person time = " + (stop - start));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
80 System.out.println("person count = " + personCount);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
81 editor.success();
19
17cc11b04157 change read function for transactionPerSecond
one
parents: 18
diff changeset
82 JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree,rdeTree);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
83 return jugrix;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
84 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
85
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
86 public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree, int count) {
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
87 Random rdm = new Random();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
88 int orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
89 String orgId = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
90 String orgRoleId = searchOrgRole(orgTree, orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
91 String roleId = searchRole(roleTree, orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
92 orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
93
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
94 String orgId2 = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
95 String orgRoleId2 = searchOrgRole(orgTree, orgId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
96 String roleId2 = searchRole(roleTree, orgRoleId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
97
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
98 NodePath path = new DefaultNodePath().add(0);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
99 editor = editor.addNewChildAt(path, count).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
100 path = path.add(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
101 editor = editor.putAttribute(path, "element", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
102 String personId = String.valueOf(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
103 editor = editor.putAttribute(path, "Person-id", ByteBuffer.wrap(("p:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
104 editor = editor.putAttribute(path, "Person-type", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
105
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
106 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
107 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap(("accountId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
108 editor = editor.putAttribute(path.add(0), "text-accountId", ByteBuffer.wrap(("a:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
109
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
110 editor = editor.addNewChildAt(path, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
111 editor = editor.putAttribute(path.add(1), "element", ByteBuffer.wrap(("lastName").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
112 editor = editor.putAttribute(path.add(1), "text-lastName", ByteBuffer.wrap(("金川").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
113
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
114 editor = editor.addNewChildAt(path, 2).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
115 editor = editor.putAttribute(path.add(2), "element", ByteBuffer.wrap(("name").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
116 editor = editor.putAttribute(path.add(2), "text-name", ByteBuffer.wrap(("竜己").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
117
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
118 editor = editor.addNewChildAt(path, 3).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
119 editor = editor.putAttribute(path.add(3), "element", ByteBuffer.wrap(("nameReading").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
120 editor = editor.putAttribute(path.add(3), "text-nameReading", ByteBuffer.wrap(("かながわたつき").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
121
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
122 editor = editor.addNewChildAt(path, 4).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
123 editor = editor.putAttribute(path.add(4), "element", ByteBuffer.wrap(("roleRefIds").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
124
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
125 editor = editor.addNewChildAt(path.add(4), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
126 editor = editor.putAttribute(path.add(4).add(0), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
127 editor = editor.putAttribute(path.add(4).add(0), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
128 editor = editor.addNewChildAt(path.add(4), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
129 editor = editor.putAttribute(path.add(4).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
130 editor = editor.putAttribute(path.add(4).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
131
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
132 editor = editor.addNewChildAt(path, 5).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
133 editor = editor.putAttribute(path.add(5), "element", ByteBuffer.wrap(("parentOrganizations").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
134 editor = editor.putAttribute(path.add(5), "parentOrganizations-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
135 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
136
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
137 NodePath parentOrgPath = path.add(5);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
138 editor = editor.addNewChildAt(parentOrgPath, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
139 editor = editor.putAttribute(parentOrgPath.add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
140 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
141 editor = editor.putAttribute(parentOrgPath.add(0), "OrganizationMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
142 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
143
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
144 editor = editor.addNewChildAt(parentOrgPath.add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
145 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
146 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
147 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
148 ByteBuffer.wrap((orgId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
149
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
150 editor = editor.addNewChildAt(parentOrgPath.add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
151 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
152 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
153 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
154
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
155 editor = editor.addNewChildAt(parentOrgPath, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
156 editor = editor.putAttribute(parentOrgPath.add(1), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
157 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
158 editor = editor.putAttribute(parentOrgPath.add(1), "OrganizationMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
159 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
160
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
161 editor = editor.addNewChildAt(parentOrgPath.add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
162 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
163 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
164 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
165 ByteBuffer.wrap((orgId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
166
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
167 editor = editor.addNewChildAt(parentOrgPath.add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
168 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
169 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
170 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
171
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
172 editor = editor.addNewChildAt(path, 6).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
173 editor = editor.putAttribute(path.add(6), "element", ByteBuffer.wrap(("priorities").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
174 editor = editor.putAttribute(path.add(6), "priorities-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
175 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
176
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
177 //
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
178 editor = editor.addNewChildAt(path.add(6), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
179 editor = editor.putAttribute(path.add(6).add(0), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
180 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
181 editor = editor.putAttribute(path.add(6).add(0), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
182 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
183
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
184 editor = editor.addNewChildAt(path.add(6).add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
185 editor = editor.putAttribute(path.add(6).add(0).add(0), "element", ByteBuffer.wrap(("priority").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
186 editor = editor.putAttribute(path.add(6).add(0).add(0), "text-priority", ByteBuffer.wrap(("0").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
187 editor = editor.addNewChildAt(path.add(6).add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
188 editor = editor.putAttribute(path.add(6).add(0).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
189 editor = editor.putAttribute(path.add(6).add(0).add(1), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
190
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
191 editor = editor.addNewChildAt(path.add(6), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
192 editor = editor.putAttribute(path.add(6).add(1), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
193 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
194 editor = editor.putAttribute(path.add(6).add(1), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
195 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
196
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
197 editor = editor.addNewChildAt(path.add(6).add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
198 editor = editor.putAttribute(path.add(6).add(1).add(0), "element", ByteBuffer.wrap(("priority").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
199 editor = editor.putAttribute(path.add(6).add(1).add(0), "text-priority", ByteBuffer.wrap(("1").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
200 editor = editor.addNewChildAt(path.add(6).add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
201 editor = editor.putAttribute(path.add(6).add(1).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
202 editor = editor.putAttribute(path.add(6).add(1).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
203 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
204 return editor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
205
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
206 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
207
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
208 private static String searchRole(JungleTree roleTree, String orgRoleId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
209 InterfaceTraverser traverser = roleTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
210 Iterator<TreeNode> roleIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
211 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
212 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
213 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
214 if (!element.equals("Role"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
215 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
216 String compareRoleId = node.getAttributes().getString("Role-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
217 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
218 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
219 if (compareRoleId.equals(orgRoleId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
220 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
221 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
222 }, "Role-id", orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
223
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
224 if (!roleIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
225 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
226
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
227 TreeNode orgIdNode = roleIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
228 TreeNode roleRefIdNode = orgIdNode.getChildren().at(0).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
229 if (roleRefIdNode == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
230 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
231 String roleId = roleRefIdNode.getAttributes().getString("text-childrenRoleRefId");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
232
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
233 return roleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
234 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
235
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
236 private static String searchOrgRole(JungleTree orgTree, String orgId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
237 InterfaceTraverser traverser = orgTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
238 Iterator<TreeNode> orgIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
239 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
240 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
241 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
242 if (!element.equals("Organization"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
243 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
244 String compareRoleId = node.getAttributes().getString("Organization-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
245 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
246 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
247 if (compareRoleId.equals(orgId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
248 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
249 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
250 }, "Organization-id", orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
251
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
252 if (!orgIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
253 return "";
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
254
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
255 TreeNode orgIdNode = orgIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
256 TreeNode roleRefIdNode = orgIdNode.getChildren().at(2).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
257 String roleId = roleRefIdNode.getAttributes().getString("text-roleRefId");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
258 return roleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
259 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
260
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
261 private static JungleTree readXml(String xml, Jungle jungle) throws ParserConfigurationException, SAXException,
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
262 IOException, FileNotFoundException {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
263 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
264 SAXParser saxParser = saxParserFactory.newSAXParser();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
265 JungleTree tree = jungle.createNewTree(xml);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
266 ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree);
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
267 String currentPath = System.getProperty("user.dir");
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
268 saxParser.parse(new FileInputStream(currentPath + "/xml/" + xml + ".xml"), readXmlHandler);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
269 return readXmlHandler.getTree();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
270 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
271
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
272 }