annotate src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/xml/extendXmlTree.java @ 13:7c544969d4c9

add TransactionPersocondMeasurement
author one
date Wed, 26 Nov 2014 13:00:26 +0900
parents 33b15ef21dcd
children 89478f2ea07f
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
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
3 import java.io.FileInputStream;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
4 import java.io.FileNotFoundException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
5 import java.io.IOException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
6 import java.nio.ByteBuffer;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
7 import java.util.Iterator;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
8 import java.util.Random;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
9
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
10 import javax.xml.parsers.ParserConfigurationException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
11 import javax.xml.parsers.SAXParser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
12 import javax.xml.parsers.SAXParserFactory;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
13
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
14 import org.xml.sax.SAXException;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
15
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
16 import jp.ac.u_ryukyu.cr.ie.tatsuki.bbs.JuGrix;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
27 import ac.jp.u_ryukyu.cr.ie.tatsuki.xmlReader.ReadXmlHandler;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
28
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
29 public class extendXmlTree {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
30
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
31 private extendXmlTree() {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
32
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
33 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
34
13
7c544969d4c9 add TransactionPersocondMeasurement
one
parents: 12
diff changeset
35 static int personCount = 200;
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
36
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
37 public static JuGrix createJuGrix(boolean useIndex) throws ParserConfigurationException, SAXException,
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
38 FileNotFoundException, IOException {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
39 Jungle jungle = new DefaultJungle(null, "hoge", new DefaultTreeEditor(new DefaultTraverser()));
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
40 JungleTree readXmlTree = jungle.createNewTree("Person");
13
7c544969d4c9 add TransactionPersocondMeasurement
one
parents: 12
diff changeset
41 //JungleTree readXmlTree = readXml("Person", jungle);
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
42 JungleTree orgTree = readXml("Organization", jungle);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
43 JungleTree roleTree = readXml("Role", jungle);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
44 JungleTreeEditor editor = readXmlTree.getTreeEditor();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
45 NodePath path = new DefaultNodePath();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
46 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
47 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap("Persons".getBytes())).b();
13
7c544969d4c9 add TransactionPersocondMeasurement
one
parents: 12
diff changeset
48 System.out.println("Create Tree-------------------------------");
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
49 for (int count = 0; count < personCount; ++count) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
50 editor = extendsTree(editor, orgTree, roleTree, count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
51 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
52 editor.success();
13
7c544969d4c9 add TransactionPersocondMeasurement
one
parents: 12
diff changeset
53 System.out.println("end-------------------------------");
12
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
54 int PersonCount = readXmlTree.getRootNode().getChildren().at(0).b().getChildren().size();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
55 System.out.println("PersonCount = " + PersonCount);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
56 JuGrix jugrix = new JuGrix(useIndex, readXmlTree, orgTree, roleTree);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
57 return jugrix;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
58 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
59
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
60 private static JungleTreeEditor extendsTree(JungleTreeEditor editor, JungleTree orgTree, JungleTree roleTree,
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
61 int count) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
62 Random rdm = new Random();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
63 int orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
64 String orgId = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
65 String orgRoleId = searchOrgRole(orgTree, orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
66 String roleId = searchRole(roleTree, orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
67 orgNum = rdm.nextInt(30);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
68
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
69 String orgId2 = "o:" + String.valueOf(orgNum);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
70 String orgRoleId2 = searchOrgRole(orgTree, orgId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
71 String roleId2 = searchRole(roleTree, orgRoleId2);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
72
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
73 NodePath path = new DefaultNodePath().add(0);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
74 editor = editor.addNewChildAt(path, count).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
75 path = path.add(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
76 editor = editor.putAttribute(path, "element", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
77 String personId = String.valueOf(count);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
78 editor = editor.putAttribute(path, "Person-id", ByteBuffer.wrap(("p:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
79 editor = editor.putAttribute(path, "Person-type", ByteBuffer.wrap("Person".getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
80
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
81 editor = editor.addNewChildAt(path, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
82 editor = editor.putAttribute(path.add(0), "element", ByteBuffer.wrap(("accountId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
83 editor = editor.putAttribute(path.add(0), "text-accountId", ByteBuffer.wrap(("a:" + personId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
84
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
85 editor = editor.addNewChildAt(path, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
86 editor = editor.putAttribute(path.add(1), "element", ByteBuffer.wrap(("lastName").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
87 editor = editor.putAttribute(path.add(1), "text-lastName", ByteBuffer.wrap(("金川").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
88
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
89 editor = editor.addNewChildAt(path, 2).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
90 editor = editor.putAttribute(path.add(2), "element", ByteBuffer.wrap(("name").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
91 editor = editor.putAttribute(path.add(2), "text-name", ByteBuffer.wrap(("竜己").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
92
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
93 editor = editor.addNewChildAt(path, 3).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
94 editor = editor.putAttribute(path.add(3), "element", ByteBuffer.wrap(("nameReading").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
95 editor = editor.putAttribute(path.add(3), "text-nameReading", ByteBuffer.wrap(("かながわたつき").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
96
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
97 editor = editor.addNewChildAt(path, 4).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
98 editor = editor.putAttribute(path.add(4), "element", ByteBuffer.wrap(("roleRefIds").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
99
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
100 editor = editor.addNewChildAt(path.add(4), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
101 editor = editor.putAttribute(path.add(4).add(0), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
102 editor = editor.putAttribute(path.add(4).add(0), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
103 editor = editor.addNewChildAt(path.add(4), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
104 editor = editor.putAttribute(path.add(4).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
105 editor = editor.putAttribute(path.add(4).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
106
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
107 editor = editor.addNewChildAt(path, 5).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
108 editor = editor.putAttribute(path.add(5), "element", ByteBuffer.wrap(("parentOrganizations").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
109 editor = editor.putAttribute(path.add(5), "parentOrganizations-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
110 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
111
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
112 NodePath parentOrgPath = path.add(5);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
113 editor = editor.addNewChildAt(parentOrgPath, 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
114 editor = editor.putAttribute(parentOrgPath.add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
115 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
116 editor = editor.putAttribute(parentOrgPath.add(0), "OrganizationMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
117 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
118
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
119 editor = editor.addNewChildAt(parentOrgPath.add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
120 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
121 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
122 editor = editor.putAttribute(parentOrgPath.add(0).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
123 ByteBuffer.wrap((orgId).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(parentOrgPath.add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
126 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
127 editor = editor.putAttribute(parentOrgPath.add(0).add(1), "text-roleRefId", ByteBuffer.wrap((roleId).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
128 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
129
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
130 editor = editor.addNewChildAt(parentOrgPath, 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
131 editor = editor.putAttribute(parentOrgPath.add(1), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
132 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
133 editor = editor.putAttribute(parentOrgPath.add(1), "OrganizationMappedByRole-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 editor = editor.addNewChildAt(parentOrgPath.add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
137 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "element",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
138 ByteBuffer.wrap(("organizationRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
139 editor = editor.putAttribute(parentOrgPath.add(1).add(0), "text-organizationRefId",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
140 ByteBuffer.wrap((orgId2).getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
141
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
142 editor = editor.addNewChildAt(parentOrgPath.add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
143 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "element", ByteBuffer.wrap(("roleRefId").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
144 editor = editor.putAttribute(parentOrgPath.add(1).add(1), "text-roleRefId", ByteBuffer.wrap((roleId2).getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
145 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
146
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
147 editor = editor.addNewChildAt(path, 6).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
148 editor = editor.putAttribute(path.add(6), "element", ByteBuffer.wrap(("priorities").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
149 editor = editor.putAttribute(path.add(6), "priorities-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
150 ByteBuffer.wrap(("OrganizationMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
151
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
152 //
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
153 editor = editor.addNewChildAt(path.add(6), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
154 editor = editor.putAttribute(path.add(6).add(0), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
155 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
156 editor = editor.putAttribute(path.add(6).add(0), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
157 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
158
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
159 editor = editor.addNewChildAt(path.add(6).add(0), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
160 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
161 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
162 editor = editor.addNewChildAt(path.add(6).add(0), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
163 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
164 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
165
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
166 editor = editor.addNewChildAt(path.add(6), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
167 editor = editor.putAttribute(path.add(6).add(1), "element", ByteBuffer.wrap(("PriorityMappedByRole").getBytes()))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
168 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
169 editor = editor.putAttribute(path.add(6).add(1), "PriorityMappedByRole-type",
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
170 ByteBuffer.wrap(("PriorityMappedByRole").getBytes())).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.add(6).add(1), 0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
173 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
174 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
175 editor = editor.addNewChildAt(path.add(6).add(1), 1).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
176 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
177 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
178 .b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
179 return editor;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
180
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
181 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
182
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
183 private static String searchRole(JungleTree roleTree, String orgRoleId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
184 InterfaceTraverser traverser = roleTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
185 Iterator<TreeNode> roleIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
186 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
187 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
188 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
189 if (!element.equals("Role"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
190 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
191 String compareRoleId = node.getAttributes().getString("Role-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
192 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
193 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
194 if (compareRoleId.equals(orgRoleId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
195 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
196 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
197 }, "Role-id", orgRoleId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
198
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
199 if (!roleIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
200 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
201
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
202 TreeNode orgIdNode = roleIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
203 TreeNode roleRefIdNode = orgIdNode.getChildren().at(0).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
204 if (roleRefIdNode == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
205 return orgRoleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
206 String roleId = roleRefIdNode.getAttributes().getString("text-childrenRoleRefId");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
207
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
208 return roleId;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
209 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
210
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
211 private static String searchOrgRole(JungleTree orgTree, String orgId) {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
212 InterfaceTraverser traverser = orgTree.getTraverser(false);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
213 Iterator<TreeNode> orgIdIterator = traverser.find((TreeNode node) -> {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
214 String element = node.getAttributes().getString("element");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
215 if (element == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
216 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
217 if (!element.equals("Organization"))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
218 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
219 String compareRoleId = node.getAttributes().getString("Organization-id");
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
220 if (compareRoleId == null)
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
221 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
222 if (compareRoleId.equals(orgId))
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
223 return true;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
224 return false;
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
225 }, "Organization-id", orgId);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
226
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
227 if (!orgIdIterator.hasNext())
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
228 return "";
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
229
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
230 TreeNode orgIdNode = orgIdIterator.next();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
231 TreeNode roleRefIdNode = orgIdNode.getChildren().at(2).b().getChildren().at(0).b();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
232 String roleId = roleRefIdNode.getAttributes().getString("text-roleRefId");
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 JungleTree readXml(String xml, Jungle jungle) throws ParserConfigurationException, SAXException,
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
237 IOException, FileNotFoundException {
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
238 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
239 SAXParser saxParser = saxParserFactory.newSAXParser();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
240 JungleTree tree = jungle.createNewTree(xml);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
241 ReadXmlHandler readXmlHandler = new ReadXmlHandler(tree);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
242 saxParser
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
243 .parse(new FileInputStream("/Users/e115731/workspace/JungleXmlReader/xml/" + xml + ".xml"), readXmlHandler);
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
244 return readXmlHandler.getTree();
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
245 }
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
246
33b15ef21dcd time measurementjuGrix and extendsXmlTree
one
parents:
diff changeset
247 }