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");