Commit 49341f86 by Nepxion

扩展支持多格式的规则,包括XML和JSON

parent d243bf13
......@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.nepxion.discovery.plugin.configcenter.loader.LocalConfigLoader;
import com.nepxion.discovery.plugin.configcenter.loader.RemoteConfigLoader;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.framework.config.PluginConfigParser;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
......@@ -32,14 +33,14 @@ public class ConfigInitializer {
private PluginAdapter pluginAdapter;
@Autowired
private PluginConfigParser pluginConfigParser;
@Autowired
private LocalConfigLoader localConfigLoader;
@Autowired(required = false)
private RemoteConfigLoader remoteConfigLoader;
@Autowired
private ConfigParser configParser;
@PostConstruct
public void initialize() {
Boolean registerControlEnabled = pluginContextAware.isRegisterControlEnabled();
......@@ -56,7 +57,7 @@ public class ConfigInitializer {
String remoteConfig = getRemoteConfig();
if (StringUtils.isNotEmpty(remoteConfig)) {
try {
RuleEntity ruleEntity = configParser.parse(remoteConfig);
RuleEntity ruleEntity = pluginConfigParser.parse(remoteConfig);
pluginAdapter.setDynamicRule(ruleEntity);
} catch (Exception e) {
LOG.error("Parse rule xml failed", e);
......@@ -66,7 +67,7 @@ public class ConfigInitializer {
String localConfig = getLocalConfig();
if (StringUtils.isNotEmpty(localConfig)) {
try {
RuleEntity ruleEntity = configParser.parse(localConfig);
RuleEntity ruleEntity = pluginConfigParser.parse(localConfig);
pluginAdapter.setLocalRule(ruleEntity);
} catch (Exception e) {
LOG.error("Parse rule xml failed", e);
......
......@@ -14,8 +14,9 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.nepxion.discovery.plugin.configcenter.ConfigInitializer;
import com.nepxion.discovery.plugin.configcenter.ConfigParser;
import com.nepxion.discovery.plugin.configcenter.loader.LocalConfigLoader;
import com.nepxion.discovery.plugin.configcenter.parser.xml.XmlConfigParser;
import com.nepxion.discovery.plugin.framework.config.PluginConfigParser;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
@Configuration
......@@ -24,6 +25,11 @@ public class ConfigAutoConfiguration {
private PluginContextAware pluginContextAware;
@Bean
public PluginConfigParser pluginConfigParser() {
return new XmlConfigParser();
}
@Bean
public LocalConfigLoader localConfigLoader() {
return new LocalConfigLoader() {
@Override
......@@ -37,9 +43,4 @@ public class ConfigAutoConfiguration {
public ConfigInitializer configInitializer() {
return new ConfigInitializer();
}
@Bean
public ConfigParser configParser() {
return new ConfigParser();
}
}
\ No newline at end of file
package com.nepxion.discovery.plugin.configcenter;
package com.nepxion.discovery.plugin.configcenter.parser.xml;
/**
* <p>Title: Nepxion Discovery</p>
......@@ -23,7 +23,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.nepxion.discovery.plugin.configcenter.constant.ConfigConstant;
import com.nepxion.discovery.plugin.configcenter.xml.Dom4JReader;
import com.nepxion.discovery.plugin.configcenter.parser.xml.dom4j.Dom4JReader;
import com.nepxion.discovery.plugin.framework.config.PluginConfigParser;
import com.nepxion.discovery.plugin.framework.constant.PluginConstant;
import com.nepxion.discovery.plugin.framework.entity.CountFilterEntity;
......@@ -37,8 +37,8 @@ import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
import com.nepxion.discovery.plugin.framework.entity.VersionFilterEntity;
import com.nepxion.discovery.plugin.framework.exception.PluginException;
public class ConfigParser implements PluginConfigParser {
private static final Logger LOG = LoggerFactory.getLogger(ConfigParser.class);
public class XmlConfigParser implements PluginConfigParser {
private static final Logger LOG = LoggerFactory.getLogger(XmlConfigParser.class);
@Override
public RuleEntity parse(String config) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment