diff options
Diffstat (limited to 'rulemgt/src/main/java')
-rw-r--r-- | rulemgt/src/main/java/org/openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/rulemgt/src/main/java/org/openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java b/rulemgt/src/main/java/org/openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java index 62f8bad..b3e6b38 100644 --- a/rulemgt/src/main/java/org/openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java +++ b/rulemgt/src/main/java/org/openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java @@ -15,7 +15,6 @@ */
package org.openo.holmes.rulemgt.db;
-import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -93,10 +92,16 @@ public class CorrelationRuleQueryDao { String whereSql = " WHERE ";
for (Field field : fields) {
- PropertyDescriptor pd = new PropertyDescriptor(field.getName(),
- clazz);
- Method getMethod = pd.getReadMethod();
- Object o = getMethod.invoke(ruleQueryCondition);
+ String methodName = getMethodName(field);
+
+ // If these lines are removed, Jacoco will cause an exception when calculation the coverage of UT
+ // Remove it if someday Jacoco solve this problem
+ if (methodName.contains("jacoco")){
+ continue;
+ }
+
+ Method method = clazz.getMethod(methodName);
+ Object o = method.invoke(ruleQueryCondition);
if (o != null) {
String tempName = field.getName();
if ("enabled".equals(tempName) && (int) o != RuleMgtConstant.STATUS_RULE_ALL) {
@@ -118,4 +123,17 @@ public class CorrelationRuleQueryDao { throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CREATE_QUERY_SQL_FAILED, e);
}
}
+
+ private String getMethodName(Field field){
+ String ret = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1);;
+ Class clazz = field.getDeclaringClass();
+
+ if (clazz.equals(Boolean.class)){
+ ret = "is" + ret;
+ }else{
+ ret = "get" + ret;
+ }
+
+ return ret;
+ }
}
|