From 27e71c9c0f9ec16e377a5f21ec4f72bbd5c1efc0 Mon Sep 17 00:00:00 2001 From: GuangrongFu Date: Thu, 23 Feb 2017 18:24:50 +0800 Subject: Do some Optimizations on the UT Class Get the getter name using PropertyDescriptor Change-Id: Ib51ac622c316f20fb8fd365b66529eda265f65d1 Issue-ID: HOLMES-47 Signed-off-by: GuangrongFu --- .../openo/holmes/rulemgt/db/CorrelationRuleQueryDao.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 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 b3e6b38..5096db3 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,6 +15,7 @@ */ package org.openo.holmes.rulemgt.db; +import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; @@ -92,16 +93,16 @@ public class CorrelationRuleQueryDao { String whereSql = " WHERE "; for (Field field : fields) { - 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")){ + // Jacoco will cause an exception when calculating the coverage of the UT + // Remove this if jacoco solves this problem in the future + if (field.getName().contains("jacoco")){ continue; } - Method method = clazz.getMethod(methodName); - Object o = method.invoke(ruleQueryCondition); + PropertyDescriptor pd = new PropertyDescriptor(field.getName(), + clazz); + Method getMethod = pd.getReadMethod(); + Object o = getMethod.invoke(ruleQueryCondition); if (o != null) { String tempName = field.getName(); if ("enabled".equals(tempName) && (int) o != RuleMgtConstant.STATUS_RULE_ALL) { -- cgit 1.2.3-korg