annotate 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
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
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
20 import jp.ac.u_ryukyu.cr.ie.tatsuki.bbs.JuGrix;
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 {
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
37
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
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
49 for (int personCount = 10; personCount <= maxPersonCount; personCount = personCount + 10) {
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);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
62 JungleTreeEditor editor = readXmlTree.getTreeEditor();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
63 NodePath path = new DefaultNodePath();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
64 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
65 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b();
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
66
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
67 long start = System.currentTimeMillis();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
68
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
69 for (int count = 0; count < personCount; ++count) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
70 editor = extendsTree(editor, orgTree, roleTree, count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
71 }
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
72
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
73 long stop = System.currentTimeMillis();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
74 File file = new File("./time/createPersonTime");
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
75 PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file,true)));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
76 pw.println(personCount + " " + (stop - start));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
77 pw.close();
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
78 System.out.println("create person time = " + (stop - start));
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
79 System.out.println("person count = " + personCount);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
80 editor.success();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
81 JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
82 return jugrix;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
83 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
84
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
85 public static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree, int count) {
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
86 Random rdm = new Random();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
87 int orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
88 String orgId = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
89 String orgRoleId = searchOrgRole(orgTree, orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
90 String roleId = searchRole(roleTree, orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
91 orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
92
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
93 String orgId2 = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
94 String orgRoleId2 = searchOrgRole(orgTree, orgId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
95 String roleId2 = searchRole(roleTree, orgRoleId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
96
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
97 NodePath path = new DefaultNodePath().add(0);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
98 editor = editor.addNewChildAt(path, count).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
99 path = path.add(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
100 editor = editor.putAttribute(path, "element", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
101 String personId = String.valueOf(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
102 editor = editor.putAttribute(path, "Person-id", ByteBuffer.wrap(("p:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
103 editor = editor.putAttribute(path, "Person-type", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
104
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
105 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
106 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap(("accountId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
107 editor = editor.putAttribute(path.add(0), "text-accountId", ByteBuffer.wrap(("a:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
108
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
109 editor = editor.addNewChildAt(path, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
110 editor = editor.putAttribute(path.add(1), "element", ByteBuffer.wrap(("lastName").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
111 editor = editor.putAttribute(path.add(1), "text-lastName", ByteBuffer.wrap(("金川").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
112
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
113 editor = editor.addNewChildAt(path, 2).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
114 editor = editor.putAttribute(path.add(2), "element", ByteBuffer.wrap(("name").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
115 editor = editor.putAttribute(path.add(2), "text-name", ByteBuffer.wrap(("竜己").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
116
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
117 editor = editor.addNewChildAt(path, 3).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
118 editor = editor.putAttribute(path.add(3), "element", ByteBuffer.wrap(("nameReading").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
119 editor = editor.putAttribute(path.add(3), "text-nameReading", ByteBuffer.wrap(("かながわたつき").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
120
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
121 editor = editor.addNewChildAt(path, 4).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
122 editor = editor.putAttribute(path.add(4), "element", ByteBuffer.wrap(("roleRefIds").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
123
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
124 editor = editor.addNewChildAt(path.add(4), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
125 editor = editor.putAttribute(path.add(4).add(0), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
126 editor = editor.putAttribute(path.add(4).add(0), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
127 editor = editor.addNewChildAt(path.add(4), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
128 editor = editor.putAttribute(path.add(4).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
129 editor = editor.putAttribute(path.add(4).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
130
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
131 editor = editor.addNewChildAt(path, 5).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
132 editor = editor.putAttribute(path.add(5), "element", ByteBuffer.wrap(("parentOrganizations").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
133 editor = editor.putAttribute(path.add(5), "parentOrganizations-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
134 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
135
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
136 NodePath parentOrgPath = path.add(5);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
137 editor = editor.addNewChildAt(parentOrgPath, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
138 editor = editor.putAttribute(parentOrgPath.add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
139 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
140 editor = editor.putAttribute(parentOrgPath.add(0), "OrganizationMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
141 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
142
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
143 editor = editor.addNewChildAt(parentOrgPath.add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
144 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
145 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
146 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
147 ByteBuffer.wrap((orgId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
148
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
149 editor = editor.addNewChildAt(parentOrgPath.add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
150 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
151 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
152 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
153
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
154 editor = editor.addNewChildAt(parentOrgPath, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
155 editor = editor.putAttribute(parentOrgPath.add(1), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
156 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
157 editor = editor.putAttribute(parentOrgPath.add(1), "OrganizationMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
158 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
159
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
160 editor = editor.addNewChildAt(parentOrgPath.add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
161 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
162 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
163 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
164 ByteBuffer.wrap((orgId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
165
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
166 editor = editor.addNewChildAt(parentOrgPath.add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
167 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
168 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
169 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
170
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
171 editor = editor.addNewChildAt(path, 6).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
172 editor = editor.putAttribute(path.add(6), "element", ByteBuffer.wrap(("priorities").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
173 editor = editor.putAttribute(path.add(6), "priorities-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
174 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
175
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
176 //
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
177 editor = editor.addNewChildAt(path.add(6), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
178 editor = editor.putAttribute(path.add(6).add(0), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
179 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
180 editor = editor.putAttribute(path.add(6).add(0), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
181 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
182
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
183 editor = editor.addNewChildAt(path.add(6).add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
184 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
185 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
186 editor = editor.addNewChildAt(path.add(6).add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
187 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
188 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
189
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
190 editor = editor.addNewChildAt(path.add(6), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
191 editor = editor.putAttribute(path.add(6).add(1), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
192 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
193 editor = editor.putAttribute(path.add(6).add(1), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
194 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
195
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
196 editor = editor.addNewChildAt(path.add(6).add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
197 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
198 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
199 editor = editor.addNewChildAt(path.add(6).add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
200 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
201 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
202 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
203 return editor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
204
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 private static String searchRole(JungleTree roleTree, String orgRoleId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
208 InterfaceTraverser traverser = roleTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
209 Iterator<TreeNode> roleIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
210 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
211 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
212 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
213 if (!element.equals("Role"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
214 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
215 String compareRoleId = node.getAttributes().getString("Role-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
216 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
217 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
218 if (compareRoleId.equals(orgRoleId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
219 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
220 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
221 }, "Role-id", orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
222
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
223 if (!roleIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
224 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
225
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
226 TreeNode orgIdNode = roleIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
227 TreeNode roleRefIdNode = orgIdNode.getChildren().at(0).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
228 if (roleRefIdNode == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
229 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
230 String roleId = roleRefIdNode.getAttributes().getString("text-childrenRoleRefId");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
231
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
232 return roleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
233 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
234
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
235 private static String searchOrgRole(JungleTree orgTree, String orgId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
236 InterfaceTraverser traverser = orgTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
237 Iterator<TreeNode> orgIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
238 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
239 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
240 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
241 if (!element.equals("Organization"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
242 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
243 String compareRoleId = node.getAttributes().getString("Organization-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
244 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
245 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
246 if (compareRoleId.equals(orgId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
247 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
248 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
249 }, "Organization-id", orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
250
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
251 if (!orgIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
252 return "";
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
253
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
254 TreeNode orgIdNode = orgIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
255 TreeNode roleRefIdNode = orgIdNode.getChildren().at(2).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
256 String roleId = roleRefIdNode.getAttributes().getString("text-roleRefId");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
257 return roleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
258 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
259
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
260 private static JungleTree readXml(String xml, Jungle jungle) throws ParserConfigurationException, SAXException,
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
261 IOException, FileNotFoundException {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
262 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
263 SAXParser saxParser = saxParserFactory.newSAXParser();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
264 JungleTree tree = jungle.createNewTree(xml);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
265 ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree);
17
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
266 String currentPath = System.getProperty("user.dir");
917ecf2c7350 function Measurement
one
parents: 16
diff changeset
267 saxParser.parse(new FileInputStream(currentPath + "/xml/" + xml + ".xml"), readXmlHandler);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
268 return readXmlHandler.getTree();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
269 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
270
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
271 }