1 |
|
package org.kuali.student.common.messagebuilder.impl; |
2 |
|
|
3 |
|
import java.util.ArrayList; |
4 |
|
import java.util.List; |
5 |
|
|
6 |
|
import org.kuali.student.common.messagebuilder.booleanmessage.ast.BooleanNode; |
7 |
|
import org.kuali.student.common.messagebuilder.impl.exceptions.MessageBuilderException; |
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
|
|
| 0% |
Uncovered Elements: 60 (60) |
Complexity: 45 |
Complexity Density: 1.41 |
|
12 |
|
public class SuccessMessageBuilder { |
13 |
|
|
14 |
|
private BooleanOperators booleanOperators; |
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
@param |
21 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
22 |
0
|
public SuccessMessageBuilder(BooleanOperators bo) {... |
23 |
0
|
this.booleanOperators = bo; |
24 |
|
} |
25 |
|
|
26 |
|
|
27 |
|
|
28 |
|
|
29 |
|
|
30 |
|
@param |
31 |
|
@return |
32 |
|
|
|
|
| 0% |
Uncovered Elements: 12 (12) |
Complexity: 3 |
Complexity Density: 0.38 |
|
33 |
0
|
public String buildSuccessMessage(List<BooleanNode> nodeList) throws MessageBuilderException {... |
34 |
|
|
35 |
0
|
List<BooleanNode> rootNodeList = new ArrayList<BooleanNode>(); |
36 |
0
|
for(BooleanNode node : nodeList) { |
37 |
0
|
if(node.getParent() == null) { |
38 |
0
|
rootNodeList.add(node); |
39 |
|
} |
40 |
0
|
buildSuccessMessage(node); |
41 |
|
} |
42 |
0
|
if(rootNodeList.size() > 1) { |
43 |
0
|
throw new MessageBuilderException("Node list contains more than one root node: " + rootNodeList); |
44 |
|
} |
45 |
0
|
return rootNodeList.get(0).getNodeMessage(); |
46 |
|
} |
47 |
|
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
|
@param |
53 |
|
|
|
|
| 0% |
Uncovered Elements: 10 (10) |
Complexity: 3 |
Complexity Density: 0.5 |
|
54 |
0
|
public String buildSuccessMessage(final BooleanNode node) {... |
55 |
|
|
56 |
0
|
if(node.getLabel().equals("*")) { |
57 |
0
|
buildAndNodeSuccessMessage(node); |
58 |
|
} |
59 |
|
|
60 |
0
|
else if(node.getLabel().equals("+")) { |
61 |
0
|
buildOr1NodeSuccessMessage(node); |
62 |
0
|
buildOr2NodeSuccessMessage(node); |
63 |
|
} |
64 |
0
|
return node.getNodeMessage(); |
65 |
|
} |
66 |
|
|
67 |
|
|
68 |
|
|
69 |
|
|
70 |
|
|
71 |
|
@param |
72 |
|
|
|
|
| 0% |
Uncovered Elements: 9 (9) |
Complexity: 13 |
Complexity Density: 2.6 |
|
73 |
0
|
private void buildAndNodeSuccessMessage(BooleanNode node) {... |
74 |
0
|
if(node.getLabel().equals("*") && |
75 |
|
node.getLeftNode() != null && |
76 |
|
node.getRightNode() != null && |
77 |
|
node.getLeftNode().getValue() == true && |
78 |
|
node.getRightNode().getValue() == true && |
79 |
|
node.getLeftNode().getNodeMessage() != null && |
80 |
|
node.getRightNode().getNodeMessage() != null) { |
81 |
0
|
String logMessage = node.getLeftNode().getNodeMessage() + " " + |
82 |
|
this.booleanOperators.getAndOperator() + " " + |
83 |
|
node.getRightNode().getNodeMessage(); |
84 |
|
|
85 |
0
|
if(node.getParent() != null && |
86 |
|
( (node.getLabel().equals("+") && |
87 |
|
node.getParent().getLabel().equals("*")) || |
88 |
|
(node.getLabel().equals("*") && |
89 |
|
node.getParent().getLabel().equals("+")))) { |
90 |
0
|
logMessage = "(" + logMessage + ")"; |
91 |
|
} |
92 |
0
|
node.setNodeMessage(logMessage); |
93 |
|
} |
94 |
|
} |
95 |
|
|
96 |
|
|
97 |
|
|
98 |
|
|
99 |
|
|
100 |
|
|
101 |
|
@param |
102 |
|
|
|
|
| 0% |
Uncovered Elements: 13 (13) |
Complexity: 12 |
Complexity Density: 1.71 |
|
103 |
0
|
private void buildOr1NodeSuccessMessage(BooleanNode node) {... |
104 |
|
|
105 |
0
|
if(node.getLabel().equals("+") && |
106 |
|
node.getLeftNode() != null && |
107 |
|
node.getRightNode() != null && |
108 |
|
((node.getLeftNode().getValue() == false && |
109 |
|
node.getRightNode().getValue() == true && |
110 |
|
node.getRightNode().getNodeMessage() != null ) || |
111 |
|
(node.getLeftNode().getValue() == true && |
112 |
|
node.getRightNode().getValue() == false && |
113 |
|
node.getLeftNode().getNodeMessage() != null))) { |
114 |
0
|
String logMessage = "test"; |
115 |
|
|
116 |
0
|
if (node.getLeftNode().getValue() == true) |
117 |
0
|
logMessage = node.getLeftNode().getNodeMessage(); |
118 |
0
|
else if (node.getRightNode().getValue() == true) |
119 |
0
|
logMessage = node.getRightNode().getNodeMessage(); |
120 |
|
|
121 |
0
|
node.setNodeMessage(logMessage); |
122 |
|
} |
123 |
|
} |
124 |
|
|
125 |
|
|
126 |
|
|
127 |
|
|
128 |
|
|
129 |
|
@param |
130 |
|
|
|
|
| 0% |
Uncovered Elements: 9 (9) |
Complexity: 13 |
Complexity Density: 2.6 |
|
131 |
0
|
private void buildOr2NodeSuccessMessage(BooleanNode node) {... |
132 |
|
|
133 |
0
|
if(node.getLabel().equals("+") && |
134 |
|
node.getLeftNode() != null && |
135 |
|
node.getRightNode() != null && |
136 |
|
node.getLeftNode().getValue() == true && |
137 |
|
node.getRightNode().getValue() == true && |
138 |
|
node.getLeftNode().getNodeMessage() != null && |
139 |
|
node.getRightNode().getNodeMessage() != null) { |
140 |
0
|
String logMessage = node.getLeftNode().getNodeMessage() + " " + |
141 |
|
this.booleanOperators.getOrOperator() + " " + |
142 |
|
node.getRightNode().getNodeMessage(); |
143 |
|
|
144 |
0
|
if(node.getParent() != null && |
145 |
|
( (node.getLabel().equals("+") && |
146 |
|
node.getParent().getLabel().equals("*")) || |
147 |
|
(node.getLabel().equals("*") && |
148 |
|
node.getParent().getLabel().equals("+")))) { |
149 |
0
|
logMessage = "(" + logMessage + ")"; |
150 |
|
} |
151 |
0
|
node.setNodeMessage(logMessage); |
152 |
|
} |
153 |
|
} |
154 |
|
} |