From 0ffbce74140cea2b042181d9508d0641b2dd8e06 Mon Sep 17 00:00:00 2001 From: "leon.li" Date: Thu, 4 Sep 2014 14:30:01 +0800 Subject: [PATCH] change build default rule logic --- .../cat/build/ComponentsConfigurator.java | 4 ++-- .../config/BusinessRuleConfigManager.java | 18 +++++++++++++++++- .../resources/META-INF/plexus/components.xml | 6 ++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java b/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java index ff70f8817..5208f02de 100755 --- a/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java +++ b/cat-home/src/main/java/com/dianping/cat/build/ComponentsConfigurator.java @@ -122,7 +122,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator { all.addAll(defineMetricComponents()); all.add(C(Module.class, CatHomeModule.ID, CatHomeModule.class)); - + all.add(C(ModuleManager.class, DefaultModuleManager.class) // .config(E("topLevelModules").value(CatHomeModule.ID))); @@ -159,7 +159,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator { all.add(C(BugConfigManager.class).req(ConfigDao.class)); all.add(C(MetricGroupConfigManager.class).req(ConfigDao.class)); all.add(C(NetworkRuleConfigManager.class).req(ConfigDao.class)); - all.add(C(BusinessRuleConfigManager.class).req(ConfigDao.class)); + all.add(C(BusinessRuleConfigManager.class).req(ConfigDao.class, MetricConfigManager.class)); all.add(C(AlertConfigManager.class).req(ConfigDao.class)); all.add(C(NetGraphConfigManager.class).req(ConfigDao.class)); all.add(C(ThirdPartyConfigManager.class).req(ConfigDao.class)); diff --git a/cat-home/src/main/java/com/dianping/cat/system/config/BusinessRuleConfigManager.java b/cat-home/src/main/java/com/dianping/cat/system/config/BusinessRuleConfigManager.java index 22e408953..e0fc80960 100644 --- a/cat-home/src/main/java/com/dianping/cat/system/config/BusinessRuleConfigManager.java +++ b/cat-home/src/main/java/com/dianping/cat/system/config/BusinessRuleConfigManager.java @@ -8,9 +8,12 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; import org.unidal.dal.jdbc.DalNotFoundException; import org.unidal.helper.Files; +import org.unidal.lookup.annotation.Inject; import org.xml.sax.SAXException; import com.dianping.cat.Cat; +import com.dianping.cat.advanced.metric.config.entity.MetricItemConfig; +import com.dianping.cat.consumer.metric.MetricConfigManager; import com.dianping.cat.core.config.Config; import com.dianping.cat.core.config.ConfigEntity; import com.dianping.cat.home.rule.entity.Condition; @@ -28,6 +31,9 @@ public class BusinessRuleConfigManager extends BaseRuleConfigManager implements private static final String CONFIG_NAME = "businessRuleConfig"; + @Inject + protected MetricConfigManager m_metricConfigManager; + public String updateRule(String ruleContent) throws SAXException, IOException { Rule rule = DefaultSaxParser.parseEntity(Rule.class, ruleContent); String metricKey = rule.getId(); @@ -56,7 +62,17 @@ public class BusinessRuleConfigManager extends BaseRuleConfigManager implements item.setProductText(product); item.setMetricItemText(metricKey); - item.setMonitorCount(true); + + MetricItemConfig metricItem = m_metricConfigManager.queryMetricItemConfig(metricKey); + if (metricItem.isShowAvg()) { + item.setMonitorAvg(true); + } + if (metricItem.isShowCount()) { + item.setMonitorCount(true); + } + if (metricItem.isShowSum()) { + item.setMonitorSum(true); + } rule.addMetricItem(item); rule.addConfig(buildDefaultConfig()); diff --git a/cat-home/src/main/resources/META-INF/plexus/components.xml b/cat-home/src/main/resources/META-INF/plexus/components.xml index da290b32c..10acadf60 100755 --- a/cat-home/src/main/resources/META-INF/plexus/components.xml +++ b/cat-home/src/main/resources/META-INF/plexus/components.xml @@ -177,6 +177,9 @@ com.dianping.cat.core.config.ConfigDao + + com.dianping.cat.consumer.metric.MetricConfigManager + @@ -4701,6 +4704,9 @@ com.dianping.cat.system.config.BusinessRuleConfigManager com.dianping.cat.system.config.BusinessRuleConfigManager + + com.dianping.cat.consumer.metric.MetricConfigManager + com.dianping.cat.core.config.ConfigDao -- GitLab