From 2a7cf2d3d4a5a3551346cf52a19c27ef21ae4946 Mon Sep 17 00:00:00 2001 From: GuangrongFu Date: Thu, 23 Feb 2017 17:04:23 +0800 Subject: Add a New Test Class Change-Id: I4d9eb81d197499581f672c9f65de682314eef577 Issue-ID: HOLMES-47 Signed-off-by: GuangrongFu --- .../holmes/rulemgt/db/CorrelationRuleQueryDao.java | 28 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'rulemgt/src/main/java/org') 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; + } } -- cgit 1.2.3-korg