perf[protocol]:update config

This commit is contained in:
meiwei committed 2023-08-25 21:00:51 +08:00
1 parent cf1d38940a
commit f1ae593739
18 files changed
+475 -220

No files matched your search

@@ -36,7 +36,7 @@ public class NetConfig {
/**
* 生成协议列表
*/
private String protocolList;
private String codeLanguages;
/**
* 注册中心
@@ -135,12 +135,12 @@ public class NetConfig {
this.consumer = consumer;
}
public String getProtocolList() {
return protocolList;
public String getCodeLanguages() {
return codeLanguages;
}
public void setProtocolList(String protocolList) {
this.protocolList = protocolList;
public void setCodeLanguages(String codeLanguages) {
this.codeLanguages = codeLanguages;
}
@Override
@@ -31,6 +31,7 @@ import io.netty.buffer.ByteBuf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.util.ResourceUtils;
@@ -95,15 +96,14 @@ public class PacketService implements IPacketService {
generateOperation.setFoldProtocol(netConfig.isFoldProtocol());
generateOperation.setProtocolPath(netConfig.getProtocolPath());
generateOperation.setProtocolParam(netConfig.getProtocolParam());
var protocolArr = StringUtils.tokenize(netConfig.getProtocolList(), StringUtils.SEMICOLON_COMMA);
var codeLanguageArr = StringUtils.tokenize(netConfig.getCodeLanguages(), ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS);
for (var protocolCode : protocolArr) {
protocolCode = protocolCode.replaceAll(StringUtils.SPACE_REGEX, "");
var codeLanguage = getProtocolList(protocolCode);
if (CollectionUtils.isEmpty(codeLanguage)) {
for (var codeLanguage : codeLanguageArr) {
var codeLanguageSet = getProtocolList(codeLanguage);
if (CollectionUtils.isEmpty(codeLanguageSet)) {
continue;
}
generateOperation.getGenerateLanguages().addAll(codeLanguage);
generateOperation.getGenerateLanguages().addAll(codeLanguageSet);
}
// 设置生成协议的过滤器
GenerateProtocolFile.generateProtocolFilter = netGenerateProtocolFilter;
@@ -127,20 +127,20 @@ public class PacketService implements IPacketService {
/**
* 获取要生成协议列表
* @param protocolCode
* @param codeLanguage
* @return
*/
private Set<CodeLanguage> getProtocolList(String protocolCode) {
private Set<CodeLanguage> getProtocolList(String codeLanguage) {
var languageSet = new HashSet<CodeLanguage>();
boolean isNumeric = StringUtils.isNumeric(protocolCode);
for (var codeLanguage : CodeLanguage.values()) {
boolean isNumeric = StringUtils.isNumeric(codeLanguage);
for (var language : CodeLanguage.values()) {
if (isNumeric) {
var protocolBit = Integer.valueOf(protocolCode);
if ((protocolBit & codeLanguage.id) != 0) {
languageSet.add(codeLanguage);
var code = Integer.valueOf(codeLanguage);
if ((code & language.id) != 0) {
languageSet.add(language);
}
} else if (codeLanguage.name().equalsIgnoreCase(protocolCode)) {
languageSet.add(codeLanguage);
} else if (language.name().equalsIgnoreCase(codeLanguage)) {
languageSet.add(language);
break;
}
}
@@ -105,7 +105,7 @@ public class NetDefinitionParser implements BeanDefinitionParser {
// 文件是否折叠
resolvePlaceholder("fold-protocol", "foldProtocol", builder, element, parserContext);
// 生成各种语言的协议列表
resolvePlaceholder("protocol-list", "protocolList", builder, element, parserContext);
resolvePlaceholder("code-languages", "codeLanguages", builder, element, parserContext);
resolvePlaceholder("protocol-path", "protocolPath", builder, element, parserContext);
+1 -1
View File
@@ -66,7 +66,7 @@
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="protocol-location" type="xsd:string" use="required"/>
<xsd:attribute name="fold-protocol" type="xsd:string" default="false"/>
<xsd:attribute name="protocol-list" type="xsd:string" default="0"/>
<xsd:attribute name="code-languages" type="xsd:string"/>
<xsd:attribute name="protocol-path" type="xsd:string"/>
<xsd:attribute name="protocol-param" type="xsd:string"/>
</xsd:complexType>