Mercurial > hg > Members > tatsuki > JungleXMLReader
comparison src/main/java/jp/ac/u_ryukyu/cr/ie/tatsuki/bbs/JuGrix.java @ 45:8e531233d376 default tip
commit
author | one |
---|---|
date | Wed, 26 Nov 2014 06:23:40 +0900 |
parents | 5e8eac03fed3 |
children |
comparison
equal
deleted
inserted
replaced
44:5e8eac03fed3 | 45:8e531233d376 |
---|---|
19 | 19 |
20 JungleTree personTree; | 20 JungleTree personTree; |
21 JungleTree organizationTree; | 21 JungleTree organizationTree; |
22 JungleTree roleTree; | 22 JungleTree roleTree; |
23 JungleTree rdeTree; | 23 JungleTree rdeTree; |
24 boolean indexFlag; | 24 boolean useIndex; |
25 | 25 |
26 public JuGrix(boolean indexFlag) { | 26 public JuGrix(boolean useIndex) { |
27 | 27 |
28 try { | 28 try { |
29 this.indexFlag = indexFlag; | 29 this.useIndex = useIndex; |
30 LoadXml reader = new LoadXml(); | 30 LoadXml reader = new LoadXml(); |
31 personTree = reader.loadTestData("Person.xml"); | 31 personTree = reader.loadTestData("Person.xml"); |
32 organizationTree = reader.loadTestData("Organization.xml"); | 32 organizationTree = reader.loadTestData("Organization.xml"); |
33 roleTree = reader.loadTestData("Role.xml"); | 33 roleTree = reader.loadTestData("Role.xml"); |
34 rdeTree = reader.loadTestData("RoleDescriptionElement.xml"); | 34 rdeTree = reader.loadTestData("RoleDescriptionElement.xml"); |
35 | |
36 if (indexFlag) { | |
37 InterfaceTraverser traverser = personTree.getTraverser(indexFlag); | |
38 Iterator<TreeNode> emptyIterator = traverser.emptyQuery(); | |
39 emptyIterator.hasNext(); | |
40 traverser = organizationTree.getTraverser(indexFlag); | |
41 emptyIterator = traverser.emptyQuery(); | |
42 emptyIterator.hasNext(); | |
43 traverser = roleTree.getTraverser(indexFlag); | |
44 emptyIterator = traverser.emptyQuery(); | |
45 emptyIterator.hasNext(); | |
46 traverser = rdeTree.getTraverser(indexFlag); | |
47 emptyIterator = traverser.emptyQuery(); | |
48 emptyIterator.hasNext(); | |
49 } | |
50 } catch (Exception e) { | 35 } catch (Exception e) { |
51 e.printStackTrace(); | 36 e.printStackTrace(); |
52 } | 37 } |
53 } | 38 } |
54 | 39 |
40 public JuGrix(boolean useIndex, JungleTree personTree, JungleTree organizationTree, JungleTree roleTree) { | |
41 | |
42 try { | |
43 this.useIndex = useIndex; | |
44 LoadXml reader = new LoadXml(); | |
45 this.personTree = personTree; | |
46 this.organizationTree = organizationTree; | |
47 this.roleTree = roleTree; | |
48 rdeTree = reader.loadTestData("RoleDescriptionElement.xml"); | |
49 | |
50 } catch (Exception e) { | |
51 e.printStackTrace(); | |
52 } | |
53 } | |
54 | |
55 public boolean isActive(String id) { | 55 public boolean isActive(String id) { |
56 | 56 |
57 InterfaceTraverser personTraverser = personTree.getTraverser(indexFlag); | 57 InterfaceTraverser personTraverser = personTree.getTraverser(useIndex); |
58 Iterator<TreeNode> personIdpairIterator = personTraverser.find((TreeNode node) -> { | 58 Iterator<TreeNode> personIdpairIterator = personTraverser.find((TreeNode node) -> { |
59 String personId = node.getAttributes().getString("Person-id"); | 59 String personId = node.getAttributes().getString("Person-id"); |
60 if (personId == null) | 60 if (personId == null) |
61 return false; | 61 return false; |
62 if (personId.equals(id)) | 62 if (personId.equals(id)) |
70 | 70 |
71 } | 71 } |
72 | 72 |
73 public Iterator<String> personIds(String orgId, LinkedList<String> filterIds) { | 73 public Iterator<String> personIds(String orgId, LinkedList<String> filterIds) { |
74 | 74 |
75 InterfaceTraverser orgTraverser = organizationTree.getTraverser(indexFlag); | 75 InterfaceTraverser orgTraverser = organizationTree.getTraverser(useIndex); |
76 | 76 |
77 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { | 77 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { |
78 String nodeElement = node.getAttributes().getString("element"); | 78 String nodeElement = node.getAttributes().getString("element"); |
79 if (nodeElement == null) | 79 if (nodeElement == null) |
80 return false; | 80 return false; |
96 TreeNode orgRoleIdNode = orgRoleIdNodes.getChildren().at(0).b(); | 96 TreeNode orgRoleIdNode = orgRoleIdNodes.getChildren().at(0).b(); |
97 String orgRoleId = orgRoleIdNode.getAttributes().getString("text-roleRefId"); | 97 String orgRoleId = orgRoleIdNode.getAttributes().getString("text-roleRefId"); |
98 if (!filter(filterIds, orgRoleId)) | 98 if (!filter(filterIds, orgRoleId)) |
99 return new NullIterator<String>(); | 99 return new NullIterator<String>(); |
100 | 100 |
101 InterfaceTraverser traverser = personTree.getTraverser(indexFlag); | 101 InterfaceTraverser traverser = personTree.getTraverser(useIndex); |
102 | 102 |
103 return new Iterator<String>() { | 103 return new Iterator<String>() { |
104 Iterator<TreeNode> orgIdNodeIterator = traverser.find((TreeNode node) -> { | 104 Iterator<TreeNode> orgIdNodeIterator = traverser.find((TreeNode node) -> { |
105 String nodeElement = node.getAttributes().getString("element"); | 105 String nodeElement = node.getAttributes().getString("element"); |
106 if (nodeElement == null) | 106 if (nodeElement == null) |
155 return new NullIterator<String>(); | 155 return new NullIterator<String>(); |
156 } | 156 } |
157 | 157 |
158 public Iterator<String> searchPersonRoleIds(JungleTree tree, String id, String element, LinkedList<String> filterIds) { | 158 public Iterator<String> searchPersonRoleIds(JungleTree tree, String id, String element, LinkedList<String> filterIds) { |
159 | 159 |
160 InterfaceTraverser traverser = tree.getTraverser(indexFlag); | 160 InterfaceTraverser traverser = tree.getTraverser(useIndex); |
161 | 161 |
162 return new Iterator<String>() { | 162 return new Iterator<String>() { |
163 | 163 |
164 String roleRefId = ""; | 164 String roleRefId = ""; |
165 Iterator<TreeNode> idNodeIterator = traverser.find((TreeNode node) -> { | 165 Iterator<TreeNode> idNodeIterator = traverser.find((TreeNode node) -> { |
235 }; | 235 }; |
236 } | 236 } |
237 | 237 |
238 public Iterator<String> searchOrgRoleIds(JungleTree tree, String id, String element, LinkedList<String> filterIds) { | 238 public Iterator<String> searchOrgRoleIds(JungleTree tree, String id, String element, LinkedList<String> filterIds) { |
239 | 239 |
240 InterfaceTraverser traverser = tree.getTraverser(indexFlag); | 240 InterfaceTraverser traverser = tree.getTraverser(useIndex); |
241 | 241 |
242 return new Iterator<String>() { | 242 return new Iterator<String>() { |
243 | 243 |
244 String roleRefId = ""; | 244 String roleRefId = ""; |
245 Iterator<TreeNode> idNodeIterator = traverser.find((TreeNode node) -> { | 245 Iterator<TreeNode> idNodeIterator = traverser.find((TreeNode node) -> { |
312 }; | 312 }; |
313 } | 313 } |
314 | 314 |
315 public Iterator<String> competentRoleId(String personId) { | 315 public Iterator<String> competentRoleId(String personId) { |
316 | 316 |
317 InterfaceTraverser personTraverser = personTree.getTraverser(indexFlag); | 317 InterfaceTraverser personTraverser = personTree.getTraverser(useIndex); |
318 | 318 |
319 return new Iterator<String>() { | 319 return new Iterator<String>() { |
320 | 320 |
321 String roleId = ""; | 321 String roleId = ""; |
322 Iterator<TreeNode> personNodeIterator = personTraverser.find((TreeNode node) -> { | 322 Iterator<TreeNode> personNodeIterator = personTraverser.find((TreeNode node) -> { |
373 }; | 373 }; |
374 } | 374 } |
375 | 375 |
376 public Iterator<String> concurrentRoleIds(String personId) { | 376 public Iterator<String> concurrentRoleIds(String personId) { |
377 | 377 |
378 InterfaceTraverser personTraverser = personTree.getTraverser(indexFlag); | 378 InterfaceTraverser personTraverser = personTree.getTraverser(useIndex); |
379 | 379 |
380 return new Iterator<String>() { | 380 return new Iterator<String>() { |
381 | 381 |
382 String roleId = ""; | 382 String roleId = ""; |
383 Iterator<TreeNode> personNodeIterator = personTraverser.find((TreeNode node) -> { | 383 Iterator<TreeNode> personNodeIterator = personTraverser.find((TreeNode node) -> { |
578 }; | 578 }; |
579 } | 579 } |
580 | 580 |
581 public Iterator<TreeNode> childOrganizationIdsNode(String orgId) { | 581 public Iterator<TreeNode> childOrganizationIdsNode(String orgId) { |
582 | 582 |
583 InterfaceTraverser orgTraverser = organizationTree.getTraverser(indexFlag); | 583 InterfaceTraverser orgTraverser = organizationTree.getTraverser(useIndex); |
584 | 584 |
585 return new Iterator<TreeNode>() { | 585 return new Iterator<TreeNode>() { |
586 TreeNode childOrgNode; | 586 TreeNode childOrgNode; |
587 | 587 |
588 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { | 588 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { |
685 } | 685 } |
686 return true; | 686 return true; |
687 } | 687 } |
688 | 688 |
689 private String getRole(String orgId) { | 689 private String getRole(String orgId) { |
690 InterfaceTraverser orgTraverser = organizationTree.getTraverser(indexFlag); | 690 InterfaceTraverser orgTraverser = organizationTree.getTraverser(useIndex); |
691 Iterator<TreeNode> orgNodeIterator = orgTraverser.find((TreeNode node) -> { | 691 Iterator<TreeNode> orgNodeIterator = orgTraverser.find((TreeNode node) -> { |
692 String nodeElement = node.getAttributes().getString("element"); | 692 String nodeElement = node.getAttributes().getString("element"); |
693 if (nodeElement == null) | 693 if (nodeElement == null) |
694 return false; | 694 return false; |
695 if (!nodeElement.equals("Organization")) | 695 if (!nodeElement.equals("Organization")) |
712 return roleId; | 712 return roleId; |
713 } | 713 } |
714 | 714 |
715 private boolean getRde(String roleId, String filterId) { | 715 private boolean getRde(String roleId, String filterId) { |
716 | 716 |
717 InterfaceTraverser roleTraverser = roleTree.getTraverser(indexFlag); | 717 InterfaceTraverser roleTraverser = roleTree.getTraverser(useIndex); |
718 Iterator<TreeNode> rdeIdNodeIterator = roleTraverser.find((TreeNode node) -> { | 718 Iterator<TreeNode> rdeIdNodeIterator = roleTraverser.find((TreeNode node) -> { |
719 String nodeElement = node.getAttributes().getString("element"); | 719 String nodeElement = node.getAttributes().getString("element"); |
720 if (nodeElement == null) | 720 if (nodeElement == null) |
721 return false; | 721 return false; |
722 if (!nodeElement.equals("Role")) | 722 if (!nodeElement.equals("Role")) |
743 return false; | 743 return false; |
744 } | 744 } |
745 | 745 |
746 public TreeMap<String, String> _childOrganizationIds(String orgId, TreeMap<String, String> childOrgIdsTreeMap) { | 746 public TreeMap<String, String> _childOrganizationIds(String orgId, TreeMap<String, String> childOrgIdsTreeMap) { |
747 | 747 |
748 InterfaceTraverser orgTraverser = organizationTree.getTraverser(indexFlag); | 748 InterfaceTraverser orgTraverser = organizationTree.getTraverser(useIndex); |
749 | 749 |
750 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { | 750 Iterator<TreeNode> orgIdNodeIterator = orgTraverser.find((TreeNode node) -> { |
751 String nodeElement = node.getAttributes().getString("element"); | 751 String nodeElement = node.getAttributes().getString("element"); |
752 if (nodeElement == null) | 752 if (nodeElement == null) |
753 return false; | 753 return false; |
815 | 815 |
816 } | 816 } |
817 | 817 |
818 public String rolePriority(String personId, String roleId) { | 818 public String rolePriority(String personId, String roleId) { |
819 | 819 |
820 InterfaceTraverser personTraverser = personTree.getTraverser(indexFlag); | 820 InterfaceTraverser personTraverser = personTree.getTraverser(useIndex); |
821 | 821 |
822 Iterator<TreeNode> roleIdNodeIterator = personTraverser.find((TreeNode node) -> { | 822 Iterator<TreeNode> roleIdNodeIterator = personTraverser.find((TreeNode node) -> { |
823 String element = node.getAttributes().getString("element"); | 823 String element = node.getAttributes().getString("element"); |
824 if (element == null) | 824 if (element == null) |
825 return false; | 825 return false; |
951 Pattern rolePattern = Pattern.compile("p:"); | 951 Pattern rolePattern = Pattern.compile("p:"); |
952 Matcher roleMacher = rolePattern.matcher(id); | 952 Matcher roleMacher = rolePattern.matcher(id); |
953 if (roleMacher.find()) { | 953 if (roleMacher.find()) { |
954 element = "Person"; | 954 element = "Person"; |
955 pos = 5; | 955 pos = 5; |
956 return personTree.getTraverser(indexFlag); | 956 return personTree.getTraverser(useIndex); |
957 } | 957 } |
958 | 958 |
959 Pattern rdePattern = Pattern.compile("o:"); | 959 Pattern rdePattern = Pattern.compile("o:"); |
960 Matcher rdeMacher = rdePattern.matcher(id); | 960 Matcher rdeMacher = rdePattern.matcher(id); |
961 if (rdeMacher.find()) { | 961 if (rdeMacher.find()) { |
962 element = "Organization"; | 962 element = "Organization"; |
963 pos = 4; | 963 pos = 4; |
964 return organizationTree.getTraverser(indexFlag); | 964 return organizationTree.getTraverser(useIndex); |
965 } | 965 } |
966 return null; | 966 return null; |
967 } | 967 } |
968 | 968 |
969 }; | 969 }; |
1045 final String StrPath = str; | 1045 final String StrPath = str; |
1046 | 1046 |
1047 InterfaceTraverser traverser = null; | 1047 InterfaceTraverser traverser = null; |
1048 String elementName = null; | 1048 String elementName = null; |
1049 if (splitPath[0].equals("r")) { | 1049 if (splitPath[0].equals("r")) { |
1050 traverser = roleTree.getTraverser(indexFlag); | 1050 traverser = roleTree.getTraverser(useIndex); |
1051 elementName = "Role"; | 1051 elementName = "Role"; |
1052 } | 1052 } |
1053 if (splitPath[0].equals("rde")) { | 1053 if (splitPath[0].equals("rde")) { |
1054 traverser = rdeTree.getTraverser(indexFlag); | 1054 traverser = rdeTree.getTraverser(useIndex); |
1055 elementName = "RoleDescriptionElement"; | 1055 elementName = "RoleDescriptionElement"; |
1056 } | 1056 } |
1057 | 1057 |
1058 Iterator<TreeNode> PathNameIterator = traverser.find((TreeNode node) -> { | 1058 Iterator<TreeNode> PathNameIterator = traverser.find((TreeNode node) -> { |
1059 String element = node.getAttributes().getString("element"); | 1059 String element = node.getAttributes().getString("element"); |
1109 }; | 1109 }; |
1110 } | 1110 } |
1111 | 1111 |
1112 private Iterator<String> getRde(String roleId) { | 1112 private Iterator<String> getRde(String roleId) { |
1113 | 1113 |
1114 InterfaceTraverser traverser = roleTree.getTraverser(indexFlag); | 1114 InterfaceTraverser traverser = roleTree.getTraverser(useIndex); |
1115 | 1115 |
1116 return new Iterator<String>() { | 1116 return new Iterator<String>() { |
1117 | 1117 |
1118 Iterator<TreeNode> roleIdNodeIterator = traverser.find((TreeNode node) -> { | 1118 Iterator<TreeNode> roleIdNodeIterator = traverser.find((TreeNode node) -> { |
1119 String element = node.getAttributes().getString("element"); | 1119 String element = node.getAttributes().getString("element"); |