Commit 1a0b8005 by Nepxion

修正规则XML解析的小Bug

parent 57b7b9a1
...@@ -166,19 +166,21 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser { ...@@ -166,19 +166,21 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
if (childElementObject instanceof Element) { if (childElementObject instanceof Element) {
Element childElement = (Element) childElementObject; Element childElement = (Element) childElementObject;
Attribute serviceNameAttribute = childElement.attribute(ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME); if (StringUtils.equals(childElement.getName(), ConfigConstant.SERVICE_ELEMENT_NAME)) {
if (serviceNameAttribute == null) { Attribute serviceNameAttribute = childElement.attribute(ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME);
throw new PluginException("Attribute[" + ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing"); if (serviceNameAttribute == null) {
} throw new PluginException("Attribute[" + ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
String serviceName = serviceNameAttribute.getData().toString().trim(); }
String serviceName = serviceNameAttribute.getData().toString().trim();
Attribute filterValueAttribute = childElement.attribute(ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME); Attribute filterValueAttribute = childElement.attribute(ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME);
List<String> filterValueList = null; List<String> filterValueList = null;
if (filterValueAttribute != null) { if (filterValueAttribute != null) {
String filterValue = filterValueAttribute.getData().toString().trim(); String filterValue = filterValueAttribute.getData().toString().trim();
filterValueList = parseList(filterValue); filterValueList = parseList(filterValue);
}
filterMap.put(serviceName, filterValueList);
} }
filterMap.put(serviceName, filterValueList);
} }
} }
...@@ -214,26 +216,28 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser { ...@@ -214,26 +216,28 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
if (childElementObject instanceof Element) { if (childElementObject instanceof Element) {
Element childElement = (Element) childElementObject; Element childElement = (Element) childElementObject;
Attribute serviceNameAttribute = childElement.attribute(ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME); if (StringUtils.equals(childElement.getName(), ConfigConstant.SERVICE_ELEMENT_NAME)) {
if (serviceNameAttribute == null) { Attribute serviceNameAttribute = childElement.attribute(ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME);
throw new PluginException("Attribute[" + ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing"); if (serviceNameAttribute == null) {
} throw new PluginException("Attribute[" + ConfigConstant.SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
String serviceName = serviceNameAttribute.getData().toString().trim(); }
String serviceName = serviceNameAttribute.getData().toString().trim();
Integer value = null;
Attribute filterValueAttribute = childElement.attribute(ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME); Integer value = null;
if (filterValueAttribute != null) { Attribute filterValueAttribute = childElement.attribute(ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME);
String filterValue = filterValueAttribute.getData().toString().trim(); if (filterValueAttribute != null) {
if (StringUtils.isNotEmpty(filterValue)) { String filterValue = filterValueAttribute.getData().toString().trim();
try { if (StringUtils.isNotEmpty(filterValue)) {
value = Integer.valueOf(filterValue); try {
} catch (NumberFormatException e) { value = Integer.valueOf(filterValue);
throw new PluginException("Attribute[" + ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME + "] value in element[" + childElement.getName() + "] is invalid, must be int type", e); } catch (NumberFormatException e) {
throw new PluginException("Attribute[" + ConfigConstant.FILTER_VALUE_ATTRIBUTE_NAME + "] value in element[" + childElement.getName() + "] is invalid, must be int type", e);
}
} }
} }
}
filterMap.put(serviceName, value); filterMap.put(serviceName, value);
}
} }
} }
...@@ -255,43 +259,45 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser { ...@@ -255,43 +259,45 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
if (childElementObject instanceof Element) { if (childElementObject instanceof Element) {
Element childElement = (Element) childElementObject; Element childElement = (Element) childElementObject;
DiscoveryServiceEntity serviceEntity = new DiscoveryServiceEntity(); if (StringUtils.equals(childElement.getName(), ConfigConstant.SERVICE_ELEMENT_NAME)) {
DiscoveryServiceEntity serviceEntity = new DiscoveryServiceEntity();
Attribute consumerServiceNameAttribute = childElement.attribute(ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME); Attribute consumerServiceNameAttribute = childElement.attribute(ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME);
if (consumerServiceNameAttribute == null) { if (consumerServiceNameAttribute == null) {
throw new PluginException("Attribute[" + ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing"); throw new PluginException("Attribute[" + ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
} }
String consumerServiceName = consumerServiceNameAttribute.getData().toString().trim(); String consumerServiceName = consumerServiceNameAttribute.getData().toString().trim();
serviceEntity.setConsumerServiceName(consumerServiceName); serviceEntity.setConsumerServiceName(consumerServiceName);
Attribute providerServiceNameAttribute = childElement.attribute(ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME); Attribute providerServiceNameAttribute = childElement.attribute(ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME);
if (providerServiceNameAttribute == null) { if (providerServiceNameAttribute == null) {
throw new PluginException("Attribute[" + ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing"); throw new PluginException("Attribute[" + ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
} }
String providerServiceName = providerServiceNameAttribute.getData().toString().trim(); String providerServiceName = providerServiceNameAttribute.getData().toString().trim();
serviceEntity.setProviderServiceName(providerServiceName); serviceEntity.setProviderServiceName(providerServiceName);
Attribute consumerVersionValueAttribute = childElement.attribute(ConfigConstant.CONSUMER_VERSION_VALUE_ATTRIBUTE_NAME); Attribute consumerVersionValueAttribute = childElement.attribute(ConfigConstant.CONSUMER_VERSION_VALUE_ATTRIBUTE_NAME);
if (consumerVersionValueAttribute != null) { if (consumerVersionValueAttribute != null) {
String consumerVersionValue = consumerVersionValueAttribute.getData().toString().trim(); String consumerVersionValue = consumerVersionValueAttribute.getData().toString().trim();
List<String> consumerVersionValueList = parseList(consumerVersionValue); List<String> consumerVersionValueList = parseList(consumerVersionValue);
serviceEntity.setConsumerVersionValueList(consumerVersionValueList); serviceEntity.setConsumerVersionValueList(consumerVersionValueList);
} }
Attribute providerVersionValueAttribute = childElement.attribute(ConfigConstant.PROVIDER_VERSION_VALUE_ATTRIBUTE_NAME); Attribute providerVersionValueAttribute = childElement.attribute(ConfigConstant.PROVIDER_VERSION_VALUE_ATTRIBUTE_NAME);
if (providerVersionValueAttribute != null) { if (providerVersionValueAttribute != null) {
String providerVersionValue = providerVersionValueAttribute.getData().toString().trim(); String providerVersionValue = providerVersionValueAttribute.getData().toString().trim();
List<String> providerVersionValueList = parseList(providerVersionValue); List<String> providerVersionValueList = parseList(providerVersionValue);
serviceEntity.setProviderVersionValueList(providerVersionValueList); serviceEntity.setProviderVersionValueList(providerVersionValueList);
} }
List<DiscoveryServiceEntity> serviceEntityList = serviceEntityMap.get(consumerServiceName); List<DiscoveryServiceEntity> serviceEntityList = serviceEntityMap.get(consumerServiceName);
if (serviceEntityList == null) { if (serviceEntityList == null) {
serviceEntityList = new ArrayList<DiscoveryServiceEntity>(); serviceEntityList = new ArrayList<DiscoveryServiceEntity>();
serviceEntityMap.put(consumerServiceName, serviceEntityList); serviceEntityMap.put(consumerServiceName, serviceEntityList);
} }
serviceEntityList.add(serviceEntity); serviceEntityList.add(serviceEntity);
}
} }
} }
......
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