public class org.apache.dubbo.config.utils.ConfigValidationUtils extends java.lang.Object
{
private static final org.apache.dubbo.common.logger.Logger logger;
private static final int MAX_LENGTH;
private static final int MAX_PATH_LENGTH;
private static final java.util.regex.Pattern PATTERN_NAME;
private static final java.util.regex.Pattern PATTERN_MULTI_NAME;
private static final java.util.regex.Pattern PATTERN_METHOD_NAME;
private static final java.util.regex.Pattern PATTERN_PATH;
private static final java.util.regex.Pattern PATTERN_NAME_HAS_SYMBOL;
private static final java.util.regex.Pattern PATTERN_KEY;
public static final java.lang.String IPV6_START_MARK;
public static final java.lang.String IPV6_END_MARK;
public void <init>()
{
org.apache.dubbo.config.utils.ConfigValidationUtils v;
v := @this: org.apache.dubbo.config.utils.ConfigValidationUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.util.List loadRegistries(org.apache.dubbo.config.AbstractInterfaceConfig, boolean)
{
org.apache.dubbo.config.ApplicationConfig v;
java.util.HashMap v;
java.util.ArrayList v;
org.apache.dubbo.common.URLBuilder v, v, v;
org.apache.dubbo.common.URL v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.util.List v, v, v;
java.lang.Class v;
java.lang.Object v, v;
org.apache.dubbo.config.AbstractInterfaceConfig v;
v := @parameter: org.apache.dubbo.config.AbstractInterfaceConfig;
v := @parameter: boolean;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.util.List getRegistries()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getAddress()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = "0.0.0.0";
label:
v = "N/A";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
staticinvoke <org.apache.dubbo.config.AbstractConfig: void appendParameters(java.util.Map,java.lang.Object)>(v, v);
staticinvoke <org.apache.dubbo.config.AbstractConfig: void appendParameters(java.util.Map,java.lang.Object)>(v, v);
v = class "Lorg/apache/dubbo/registry/RegistryService;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("path", v);
staticinvoke <org.apache.dubbo.config.AbstractInterfaceConfig: void appendRuntimeParameters(java.util.Map)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("protocol");
if v != 0 goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("protocol", "dubbo");
label:
v = staticinvoke <org.apache.dubbo.common.utils.UrlUtils: java.util.List parseURLs(java.lang.String,java.util.Map)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder 'from'(org.apache.dubbo.common.URL)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameter(java.lang.String,java.lang.String)>("registry", v);
v = staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: java.lang.String extractRegistryType(org.apache.dubbo.common.URL)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder setProtocol(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URL build()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean getParameter(java.lang.String,boolean)>("register", 1);
if v != 0 goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean getParameter(java.lang.String,boolean)>("subscribe", 1);
if v == 0 goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.List genCompatibleRegistries(java.util.List,boolean)>(v, v);
return v;
}
private static java.util.List genCompatibleRegistries(java.util.List, boolean)
{
java.util.function.Consumer v;
java.util.List v;
int v;
boolean v;
java.util.ArrayList v;
v := @parameter: java.util.List;
v := @parameter: boolean;
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils$lambda_genCompatibleRegistries_0__58: java.util.function.Consumer bootstrap$(java.util.List,boolean,java.util.List)>(v, v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
private static boolean registryNotExists(org.apache.dubbo.common.URL, java.util.List, java.lang.String)
{
java.util.List v;
org.apache.dubbo.common.URL v;
java.util.stream.Stream v;
java.util.function.Predicate v;
java.lang.String v;
boolean v;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils$lambda_registryNotExists_1__59: java.util.function.Predicate bootstrap$(java.lang.String,org.apache.dubbo.common.URL)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean noneMatch(java.util.function.Predicate)>(v);
return v;
}
public static org.apache.dubbo.common.URL loadMonitor(org.apache.dubbo.config.AbstractInterfaceConfig, org.apache.dubbo.common.URL)
{
org.apache.dubbo.config.ApplicationConfig v;
org.apache.dubbo.common.URLBuilder v, v, v, v;
org.apache.dubbo.common.URL v, v, v;
boolean v, v, v, v, v, v, v;
org.apache.dubbo.config.AbstractInterfaceConfig v;
org.apache.dubbo.common.extension.ExtensionLoader v;
java.util.HashMap v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
org.apache.dubbo.config.MonitorConfig v;
java.lang.Class v;
v := @parameter: org.apache.dubbo.config.AbstractInterfaceConfig;
v := @parameter: org.apache.dubbo.common.URL;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = class "Lorg/apache/dubbo/monitor/MonitorService;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("interface", v);
staticinvoke <org.apache.dubbo.config.AbstractInterfaceConfig: void appendRuntimeParameters(java.util.Map)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: java.lang.String getSystemProperty(java.lang.String)>("DUBBO_IP_TO_REGISTRY");
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.utils.NetUtils: java.lang.String getLocalHost()>();
goto label;
label:
v = staticinvoke <org.apache.dubbo.common.utils.NetUtils: boolean isInvalidLocalHost(java.lang.String)>(v);
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Specified invalid registry ip from property:DUBBO_IP_TO_REGISTRY, value:\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("register.ip", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: org.apache.dubbo.config.MonitorConfig getMonitor()>();
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: org.apache.dubbo.config.ApplicationConfig getApplication()>();
staticinvoke <org.apache.dubbo.config.AbstractConfig: void appendParameters(java.util.Map,java.lang.Object)>(v, v);
staticinvoke <org.apache.dubbo.config.AbstractConfig: void appendParameters(java.util.Map,java.lang.Object)>(v, v);
v = null;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("dubbo.monitor.address");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = v;
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: java.lang.String getAddress()>();
label:
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("protocol");
if v != 0 goto label;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/monitor/MonitorFactory;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: boolean hasExtension(java.lang.String)>("logstat");
if v == 0 goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("protocol", "logstat");
goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("protocol", "dubbo");
label:
v = staticinvoke <org.apache.dubbo.common.utils.UrlUtils: org.apache.dubbo.common.URL parseURL(java.lang.String,java.util.Map)>(v, v);
return v;
label:
if v == null goto label;
v = "registry";
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "service-discovery-registry";
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
if v == null goto label;
v = staticinvoke <org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder 'from'(org.apache.dubbo.common.URL)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder setProtocol(java.lang.String)>("dubbo");
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameter(java.lang.String,java.lang.String)>("protocol", v);
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: java.lang.String toQueryString(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameterAndEncoded(java.lang.String,java.lang.String)>("refer", v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URL build()>();
return v;
label:
return null;
}
public static void checkMock(java.lang.Class, org.apache.dubbo.config.AbstractInterfaceConfig)
{
java.lang.IllegalStateException v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
java.lang.Exception v, v;
java.lang.Class v;
org.apache.dubbo.config.AbstractInterfaceConfig v;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.dubbo.config.AbstractInterfaceConfig;
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getMock()>();
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
return;
label:
v = staticinvoke <org.apache.dubbo.rpc.support.MockInvoker: java.lang.String normalizeMock(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("return ");
if v == 0 goto label;
v = "return ";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
label:
staticinvoke <org.apache.dubbo.rpc.support.MockInvoker: java.lang.Object parseMockValue(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Illegal mock return in <dubbo:service/reference ... mock=\"\u0001\" />");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("throw");
if v == 0 goto label;
v = "throw";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
label:
staticinvoke <org.apache.dubbo.rpc.support.MockInvoker: java.lang.Throwable getThrowable(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Illegal mock throw in <dubbo:service/reference ... mock=\"\u0001\" />");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
staticinvoke <org.apache.dubbo.rpc.support.MockInvoker: java.lang.Object getMockObject(java.lang.String,java.lang.Class)>(v, v);
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public static void validateAbstractInterfaceConfig(org.apache.dubbo.config.AbstractInterfaceConfig)
{
java.util.function.Consumer v;
java.util.List v;
java.lang.String v, v, v, v, v, v, v;
org.apache.dubbo.config.AbstractInterfaceConfig v;
boolean v;
v := @parameter: org.apache.dubbo.config.AbstractInterfaceConfig;
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getLocal()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("local", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getStub()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("stub", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getOwner()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiName(java.lang.String,java.lang.String)>("owner", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getProxy()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/ProxyFactory;", "proxy", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getCluster()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/cluster/Cluster;", "cluster", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getFilter()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/Filter;", "file", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.lang.String getLayer()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkNameHasSymbol(java.lang.String,java.lang.String)>("layer", v);
v = virtualinvoke v.<org.apache.dubbo.config.AbstractInterfaceConfig: java.util.List getMethods()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils$validateMethodConfig__60: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
label:
return;
}
public static void validateServiceConfig(org.apache.dubbo.config.ServiceConfig)
{
java.util.Iterator v, v;
org.apache.dubbo.config.ServiceConfig v;
org.apache.dubbo.config.ProviderConfig v;
java.util.List v, v;
java.lang.Object v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
v := @parameter: org.apache.dubbo.config.ServiceConfig;
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.String getVersion()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkKey(java.lang.String,java.lang.String)>("version", v);
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.String getGroup()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkKey(java.lang.String,java.lang.String)>("group", v);
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.String getToken()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("token", v);
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.String getPath()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkPathName(java.lang.String,java.lang.String)>("path", v);
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.String getListener()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/ExporterListener;", "listener", v);
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateAbstractInterfaceConfig(org.apache.dubbo.config.AbstractInterfaceConfig)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.util.List getRegistries()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateRegistryConfig(org.apache.dubbo.config.RegistryConfig)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: java.util.List getProtocols()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateProtocolConfig(org.apache.dubbo.config.ProtocolConfig)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ServiceConfig: org.apache.dubbo.config.ProviderConfig getProvider()>();
if v == null goto label;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateProviderConfig(org.apache.dubbo.config.ProviderConfig)>(v);
label:
return;
}
public static void validateReferenceConfig(org.apache.dubbo.config.ReferenceConfig)
{
java.util.Iterator v;
org.apache.dubbo.config.ConsumerConfig v;
java.util.List v;
org.apache.dubbo.config.ReferenceConfig v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: org.apache.dubbo.config.ReferenceConfig;
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: java.lang.String getListener()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/InvokerListener;", "listener", v);
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: java.lang.String getVersion()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkKey(java.lang.String,java.lang.String)>("version", v);
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: java.lang.String getGroup()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkKey(java.lang.String,java.lang.String)>("group", v);
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: java.lang.String getClient()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("client", v);
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateAbstractInterfaceConfig(org.apache.dubbo.config.AbstractInterfaceConfig)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: java.util.List getRegistries()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateRegistryConfig(org.apache.dubbo.config.RegistryConfig)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ReferenceConfig: org.apache.dubbo.config.ConsumerConfig getConsumer()>();
if v == null goto label;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateConsumerConfig(org.apache.dubbo.config.ConsumerConfig)>(v);
label:
return;
}
public static void validateConfigCenterConfig(org.apache.dubbo.config.ConfigCenterConfig)
{
java.util.Map v;
org.apache.dubbo.config.ConfigCenterConfig v;
v := @parameter: org.apache.dubbo.config.ConfigCenterConfig;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.util.Map getParameters()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkParameterName(java.util.Map)>(v);
label:
return;
}
public static void validateApplicationConfig(org.apache.dubbo.config.ApplicationConfig)
{
java.lang.IllegalStateException v;
org.apache.dubbo.config.ApplicationConfig v;
java.util.Map v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
boolean v;
v := @parameter: org.apache.dubbo.config.ApplicationConfig;
if v != null goto label;
return;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: boolean isValid()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("No application config found or it\'s not a valid config! Please add <dubbo:application name=\"...\" /> to your spring config.");
throw v;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: java.lang.String getProperty(java.lang.String)>("dubbo.service.shutdown.wait");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("dubbo.service.shutdown.wait", v);
goto label;
label:
v = staticinvoke <org.apache.dubbo.common.utils.ConfigUtils: java.lang.String getProperty(java.lang.String)>("dubbo.service.shutdown.wait.seconds");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("dubbo.service.shutdown.wait.seconds", v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getName()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("name", v);
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getOwner()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiName(java.lang.String,java.lang.String)>("owner", v);
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getOrganization()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("organization", v);
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getArchitecture()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("architecture", v);
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getEnvironment()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("environment", v);
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.util.Map getParameters()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkParameterName(java.util.Map)>(v);
return;
}
public static void validateModuleConfig(org.apache.dubbo.config.ModuleConfig)
{
java.lang.String v, v, v;
org.apache.dubbo.config.ModuleConfig v;
v := @parameter: org.apache.dubbo.config.ModuleConfig;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ModuleConfig: java.lang.String getName()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("name", v);
v = virtualinvoke v.<org.apache.dubbo.config.ModuleConfig: java.lang.String getOwner()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("owner", v);
v = virtualinvoke v.<org.apache.dubbo.config.ModuleConfig: java.lang.String getOrganization()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("organization", v);
label:
return;
}
public static void validateMetadataConfig(org.apache.dubbo.config.MetadataReportConfig)
{
org.apache.dubbo.config.MetadataReportConfig v;
v := @parameter: org.apache.dubbo.config.MetadataReportConfig;
if v != null goto label;
return;
label:
return;
}
public static void validateMetricsConfig(org.apache.dubbo.config.MetricsConfig)
{
org.apache.dubbo.config.MetricsConfig v;
v := @parameter: org.apache.dubbo.config.MetricsConfig;
if v != null goto label;
return;
label:
return;
}
public static void validateSslConfig(org.apache.dubbo.config.SslConfig)
{
org.apache.dubbo.config.SslConfig v;
v := @parameter: org.apache.dubbo.config.SslConfig;
if v != null goto label;
return;
label:
return;
}
public static void validateMonitorConfig(org.apache.dubbo.config.MonitorConfig)
{
org.apache.dubbo.common.logger.Logger v;
java.util.Map v;
org.apache.dubbo.config.MonitorConfig v;
boolean v;
v := @parameter: org.apache.dubbo.config.MonitorConfig;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: boolean isValid()>();
if v != 0 goto label;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: org.apache.dubbo.common.logger.Logger logger>;
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>("There\'s no valid monitor config found, if you want to open monitor statistics for Dubbo, please make sure your monitor is configured properly.");
label:
v = virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: java.util.Map getParameters()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkParameterName(java.util.Map)>(v);
label:
return;
}
public static void validateProtocolConfig(org.apache.dubbo.config.ProtocolConfig)
{
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.dubbo.config.ProtocolConfig v;
v := @parameter: org.apache.dubbo.config.ProtocolConfig;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getName()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("name", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getHost()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkHost(java.lang.String,java.lang.String)>("host", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getContextpath()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkPathName(java.lang.String,java.lang.String)>("contextpath", v);
v = "dubbo";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getCodec()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Codec;", "codec", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getSerialization()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/common/serialize/Serialization;", "serialization", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getServer()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Transporter;", "server", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getClient()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Transporter;", "client", v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getTelnet()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/telnet/TelnetHandler;", "telnet", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getStatus()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/common/status/StatusChecker;", "status", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getTransporter()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Transporter;", "transporter", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getExchanger()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/exchange/Exchanger;", "exchanger", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getDispatcher()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Dispatcher;", "dispatcher", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getDispather()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Dispatcher;", "dispather", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProtocolConfig: java.lang.String getThreadpool()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/common/threadpool/ThreadPool;", "threadpool", v);
label:
return;
}
public static void validateProviderConfig(org.apache.dubbo.config.ProviderConfig)
{
org.apache.dubbo.config.ProviderConfig v;
java.lang.String v, v, v, v, v, v;
v := @parameter: org.apache.dubbo.config.ProviderConfig;
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getContextpath()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkPathName(java.lang.String,java.lang.String)>("contextpath", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getThreadpool()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/common/threadpool/ThreadPool;", "threadpool", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getTelnet()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/telnet/TelnetHandler;", "telnet", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getStatus()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/common/status/StatusChecker;", "status", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getTransporter()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/Transporter;", "transporter", v);
v = virtualinvoke v.<org.apache.dubbo.config.ProviderConfig: java.lang.String getExchanger()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/remoting/exchange/Exchanger;", "exchanger", v);
return;
}
public static void validateConsumerConfig(org.apache.dubbo.config.ConsumerConfig)
{
org.apache.dubbo.config.ConsumerConfig v;
v := @parameter: org.apache.dubbo.config.ConsumerConfig;
if v != null goto label;
return;
label:
return;
}
public static void validateRegistryConfig(org.apache.dubbo.config.RegistryConfig)
{
java.util.Map v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.String v, v, v, v, v, v, v;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getProtocol()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("protocol", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getUsername()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("username", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getPassword()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkLength(java.lang.String,java.lang.String)>("password", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getFile()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkPathLength(java.lang.String,java.lang.String)>("file", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getTransporter()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("transporter", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getServer()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("server", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getClient()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("client", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.util.Map getParameters()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkParameterName(java.util.Map)>(v);
return;
}
public static void validateMethodConfig(org.apache.dubbo.config.MethodConfig)
{
org.apache.dubbo.config.MethodConfig v;
java.util.Map v;
java.lang.String v, v, v;
boolean v, v, v, v, v;
v := @parameter: org.apache.dubbo.config.MethodConfig;
v = virtualinvoke v.<org.apache.dubbo.config.MethodConfig: java.lang.String getLoadbalance()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkExtension(java.lang.Class,java.lang.String,java.lang.String)>(class "Lorg/apache/dubbo/rpc/cluster/LoadBalance;", "loadbalance", v);
v = virtualinvoke v.<org.apache.dubbo.config.MethodConfig: java.util.Map getParameters()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkParameterName(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.MethodConfig: java.lang.String getName()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMethodName(java.lang.String,java.lang.String)>("name", v);
v = virtualinvoke v.<org.apache.dubbo.config.MethodConfig: java.lang.String getMock()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("return ");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("throw ");
if v == 0 goto label;
label:
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkLength(java.lang.String,java.lang.String)>("mock", v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("fail:");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("force:");
if v == 0 goto label;
label:
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkNameHasSymbol(java.lang.String,java.lang.String)>("mock", v);
goto label;
label:
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>("mock", v);
label:
return;
}
private static java.lang.String extractRegistryType(org.apache.dubbo.common.URL)
{
org.apache.dubbo.common.URL v;
java.lang.String v;
boolean v;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.utils.UrlUtils: boolean isServiceDiscoveryRegistryType(org.apache.dubbo.common.URL)>(v);
if v == 0 goto label;
v = "service-discovery-registry";
goto label;
label:
v = "registry";
label:
return v;
}
public static void checkExtension(java.lang.Class, java.lang.String, java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.dubbo.common.extension.ExtensionLoader v;
java.lang.Class v;
java.lang.String v, v, v, v;
boolean v, v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: boolean hasExtension(java.lang.String)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No such extension \u for \u0001/\u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public static void checkMultiExtension(java.lang.Class, java.lang.String, java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.dubbo.common.extension.ExtensionLoader v;
java.lang.String[] v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
java.lang.Class v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkMultiName(java.lang.String,java.lang.String)>(v, v);
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\s*[,]+\\s*");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
label:
v = "default";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: boolean hasExtension(java.lang.String)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No such extension \u for \u0001/\u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
}
public static void checkLength(java.lang.String, java.lang.String)
{
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, null);
return;
}
public static void checkPathLength(java.lang.String, java.lang.String)
{
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, null);
return;
}
public static void checkName(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_NAME>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkHost(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.net.UnknownHostException v;
boolean v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("[");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("]");
if v == 0 goto label;
label:
staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>(v);
label:
return;
label:
v := @caughtexception;
label:
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkName(java.lang.String,java.lang.String)>(v, v);
return;
catch java.net.UnknownHostException from label to label with label;
}
public static void checkNameHasSymbol(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_NAME_HAS_SYMBOL>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkKey(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_KEY>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkMultiName(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_MULTI_NAME>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkPathName(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_PATH>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkMethodName(java.lang.String, java.lang.String)
{
java.lang.String v, v;
java.util.regex.Pattern v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_METHOD_NAME>;
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkProperty(java.lang.String,java.lang.String,int,java.util.regex.Pattern)>(v, v, 200, v);
return;
}
public static void checkParameterName(java.util.Map)
{
java.util.Iterator v;
java.util.Set v;
java.lang.String[] v;
java.util.ArrayList v;
java.util.List v;
java.util.Map v;
java.lang.Object v, v, v, v, v;
boolean v, v, v, v;
v := @parameter: java.util.Map;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmptyMap(java.util.Map)>(v);
if v == 0 goto label;
return;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>("backup");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("ignoreCheckKeys");
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(",");
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void checkNameHasSymbol(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
return;
}
public static void checkProperty(java.lang.String, java.lang.String, int, java.util.regex.Pattern)
{
java.lang.IllegalStateException v, v;
java.util.regex.Matcher v;
int v, v;
java.lang.String v, v, v, v;
java.util.regex.Pattern v;
boolean v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.util.regex.Pattern;
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= v goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid \u0001=\"\u0001\" is longer than \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid \u0001=\"\u0001\" contains illegal character, only digit, letter, \'-\', \'_\' or \'.\' is legal.");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
static void <clinit>()
{
org.apache.dubbo.common.logger.Logger v;
java.util.regex.Pattern v, v, v, v, v, v;
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Logger getLogger(java.lang.Class)>(class "Lorg/apache/dubbo/config/utils/ConfigValidationUtils;");
<org.apache.dubbo.config.utils.ConfigValidationUtils: org.apache.dubbo.common.logger.Logger logger> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[\\-._0-9a-zA-Z]+");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_NAME> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[,\\-._0-9a-zA-Z]+");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_MULTI_NAME> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[a-zA-Z][0-9a-zA-Z]*");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_METHOD_NAME> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[/\\-$._0-9a-zA-Z]+");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_PATH> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[:*,\\s/\\-._0-9a-zA-Z]+");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_NAME_HAS_SYMBOL> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("[*,\\-._0-9a-zA-Z]+");
<org.apache.dubbo.config.utils.ConfigValidationUtils: java.util.regex.Pattern PATTERN_KEY> = v;
return;
}
}