Commit 0c5eecc3 by Nepxion

重构类结构

parent fde342e0
......@@ -17,7 +17,7 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
public class DiscoveryServiceEntity implements Serializable {
public class VersionEntity implements Serializable {
private static final long serialVersionUID = 9074414583796627542L;
private String consumerServiceName;
......@@ -25,7 +25,7 @@ public class DiscoveryServiceEntity implements Serializable {
private List<String> consumerVersionValueList;
private List<String> providerVersionValueList;
public DiscoveryServiceEntity() {
public VersionEntity() {
}
......
......@@ -22,18 +22,18 @@ import org.apache.commons.lang3.builder.ToStringStyle;
public class VersionFilterEntity implements Serializable {
private static final long serialVersionUID = -6147106004826964165L;
private Map<String, List<DiscoveryServiceEntity>> serviceEntityMap = new LinkedHashMap<String, List<DiscoveryServiceEntity>>();
private Map<String, List<VersionEntity>> versionEntityMap = new LinkedHashMap<String, List<VersionEntity>>();
public VersionFilterEntity() {
}
public Map<String, List<DiscoveryServiceEntity>> getServiceEntityMap() {
return serviceEntityMap;
public Map<String, List<VersionEntity>> getVersionEntityMap() {
return versionEntityMap;
}
public void setServiceEntityMap(Map<String, List<DiscoveryServiceEntity>> serviceEntityMap) {
this.serviceEntityMap = serviceEntityMap;
public void setVersionEntityMap(Map<String, List<VersionEntity>> versionEntityMap) {
this.versionEntityMap = versionEntityMap;
}
@Override
......
......@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
import com.nepxion.discovery.common.constant.DiscoveryConstant;
import com.nepxion.discovery.common.entity.CountFilterEntity;
import com.nepxion.discovery.common.entity.DiscoveryEntity;
import com.nepxion.discovery.common.entity.DiscoveryServiceEntity;
import com.nepxion.discovery.common.entity.VersionEntity;
import com.nepxion.discovery.common.entity.FilterHolderEntity;
import com.nepxion.discovery.common.entity.FilterType;
import com.nepxion.discovery.common.entity.HostFilterEntity;
......@@ -244,50 +244,50 @@ public class XmlConfigParser implements PluginConfigParser {
versionFilterEntity = new VersionFilterEntity();
Map<String, List<DiscoveryServiceEntity>> serviceEntityMap = versionFilterEntity.getServiceEntityMap();
Map<String, List<VersionEntity>> versionEntityMap = versionFilterEntity.getVersionEntityMap();
for (Iterator elementIterator = element.elementIterator(); elementIterator.hasNext();) {
Object childElementObject = elementIterator.next();
if (childElementObject instanceof Element) {
Element childElement = (Element) childElementObject;
if (StringUtils.equals(childElement.getName(), ConfigConstant.SERVICE_ELEMENT_NAME)) {
DiscoveryServiceEntity serviceEntity = new DiscoveryServiceEntity();
VersionEntity versionEntity = new VersionEntity();
Attribute consumerServiceNameAttribute = childElement.attribute(ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME);
if (consumerServiceNameAttribute == null) {
throw new DiscoveryException("Attribute[" + ConfigConstant.CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
}
String consumerServiceName = consumerServiceNameAttribute.getData().toString().trim();
serviceEntity.setConsumerServiceName(consumerServiceName);
versionEntity.setConsumerServiceName(consumerServiceName);
Attribute providerServiceNameAttribute = childElement.attribute(ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME);
if (providerServiceNameAttribute == null) {
throw new DiscoveryException("Attribute[" + ConfigConstant.PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME + "] in element[" + childElement.getName() + "] is missing");
}
String providerServiceName = providerServiceNameAttribute.getData().toString().trim();
serviceEntity.setProviderServiceName(providerServiceName);
versionEntity.setProviderServiceName(providerServiceName);
Attribute consumerVersionValueAttribute = childElement.attribute(ConfigConstant.CONSUMER_VERSION_VALUE_ATTRIBUTE_NAME);
if (consumerVersionValueAttribute != null) {
String consumerVersionValue = consumerVersionValueAttribute.getData().toString().trim();
List<String> consumerVersionValueList = parseList(consumerVersionValue);
serviceEntity.setConsumerVersionValueList(consumerVersionValueList);
versionEntity.setConsumerVersionValueList(consumerVersionValueList);
}
Attribute providerVersionValueAttribute = childElement.attribute(ConfigConstant.PROVIDER_VERSION_VALUE_ATTRIBUTE_NAME);
if (providerVersionValueAttribute != null) {
String providerVersionValue = providerVersionValueAttribute.getData().toString().trim();
List<String> providerVersionValueList = parseList(providerVersionValue);
serviceEntity.setProviderVersionValueList(providerVersionValueList);
versionEntity.setProviderVersionValueList(providerVersionValueList);
}
List<DiscoveryServiceEntity> serviceEntityList = serviceEntityMap.get(consumerServiceName);
if (serviceEntityList == null) {
serviceEntityList = new ArrayList<DiscoveryServiceEntity>();
serviceEntityMap.put(consumerServiceName, serviceEntityList);
List<VersionEntity> versionEntityList = versionEntityMap.get(consumerServiceName);
if (versionEntityList == null) {
versionEntityList = new ArrayList<VersionEntity>();
versionEntityMap.put(consumerServiceName, versionEntityList);
}
serviceEntityList.add(serviceEntity);
versionEntityList.add(versionEntity);
}
}
}
......
......@@ -21,7 +21,7 @@ import org.springframework.cloud.client.ServiceInstance;
import com.nepxion.discovery.common.constant.DiscoveryConstant;
import com.nepxion.discovery.common.entity.DiscoveryEntity;
import com.nepxion.discovery.common.entity.DiscoveryServiceEntity;
import com.nepxion.discovery.common.entity.VersionEntity;
import com.nepxion.discovery.common.entity.RuleEntity;
import com.nepxion.discovery.common.entity.VersionFilterEntity;
......@@ -55,13 +55,13 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
return;
}
Map<String, List<DiscoveryServiceEntity>> serviceEntityMap = versionFilterEntity.getServiceEntityMap();
if (MapUtils.isEmpty(serviceEntityMap)) {
Map<String, List<VersionEntity>> versionEntityMap = versionFilterEntity.getVersionEntityMap();
if (MapUtils.isEmpty(versionEntityMap)) {
return;
}
List<DiscoveryServiceEntity> serviceEntityList = serviceEntityMap.get(consumerServiceId);
if (CollectionUtils.isEmpty(serviceEntityList)) {
List<VersionEntity> versionEntityList = versionEntityMap.get(consumerServiceId);
if (CollectionUtils.isEmpty(versionEntityList)) {
return;
}
......@@ -69,13 +69,13 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
List<String> allNoFilterValueList = null;
// 提供端规则未作任何定义
boolean providerConditionDefined = false;
for (DiscoveryServiceEntity serviceEntity : serviceEntityList) {
String providerServiceName = serviceEntity.getProviderServiceName();
for (VersionEntity versionEntity : versionEntityList) {
String providerServiceName = versionEntity.getProviderServiceName();
if (StringUtils.equalsIgnoreCase(providerServiceName, providerServiceId)) {
providerConditionDefined = true;
List<String> consumerVersionValueList = serviceEntity.getConsumerVersionValueList();
List<String> providerVersionValueList = serviceEntity.getProviderVersionValueList();
List<String> consumerVersionValueList = versionEntity.getConsumerVersionValueList();
List<String> providerVersionValueList = versionEntity.getProviderVersionValueList();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
......
......@@ -19,7 +19,7 @@ import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import com.nepxion.discovery.common.entity.DiscoveryEntity;
import com.nepxion.discovery.common.entity.DiscoveryServiceEntity;
import com.nepxion.discovery.common.entity.VersionEntity;
import com.nepxion.discovery.common.entity.RuleEntity;
import com.nepxion.discovery.common.entity.VersionFilterEntity;
import com.netflix.loadbalancer.Server;
......@@ -54,13 +54,13 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
return;
}
Map<String, List<DiscoveryServiceEntity>> serviceEntityMap = versionFilterEntity.getServiceEntityMap();
if (MapUtils.isEmpty(serviceEntityMap)) {
Map<String, List<VersionEntity>> versionEntityMap = versionFilterEntity.getVersionEntityMap();
if (MapUtils.isEmpty(versionEntityMap)) {
return;
}
List<DiscoveryServiceEntity> serviceEntityList = serviceEntityMap.get(consumerServiceId);
if (CollectionUtils.isEmpty(serviceEntityList)) {
List<VersionEntity> versionEntityList = versionEntityMap.get(consumerServiceId);
if (CollectionUtils.isEmpty(versionEntityList)) {
return;
}
......@@ -68,13 +68,13 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
List<String> allNoFilterValueList = null;
// 提供端规则未作任何定义
boolean providerConditionDefined = false;
for (DiscoveryServiceEntity serviceEntity : serviceEntityList) {
String providerServiceName = serviceEntity.getProviderServiceName();
for (VersionEntity versionEntity : versionEntityList) {
String providerServiceName = versionEntity.getProviderServiceName();
if (StringUtils.equalsIgnoreCase(providerServiceName, providerServiceId)) {
providerConditionDefined = true;
List<String> consumerVersionValueList = serviceEntity.getConsumerVersionValueList();
List<String> providerVersionValueList = serviceEntity.getProviderVersionValueList();
List<String> consumerVersionValueList = versionEntity.getConsumerVersionValueList();
List<String> providerVersionValueList = versionEntity.getProviderVersionValueList();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
......
......@@ -33,7 +33,7 @@
}
},
"versionFilterEntity": {
"serviceEntityMap": {
"versionEntityMap": {
"discovery-springcloud-example-zuul": [
{
"consumerServiceName": "discovery-springcloud-example-zuul",
......
......@@ -33,7 +33,7 @@
}
},
"versionFilterEntity": {
"serviceEntityMap": {
"versionEntityMap": {
"discovery-springcloud-example-zuul": [
{
"consumerServiceName": "discovery-springcloud-example-zuul",
......
......@@ -33,7 +33,7 @@
}
},
"versionFilterEntity": {
"serviceEntityMap": {
"versionEntityMap": {
"discovery-springcloud-example-zuul": [
{
"consumerServiceName": "discovery-springcloud-example-zuul",
......
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