public class org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory extends java.lang.Object implements org.apache.dubbo.rpc.cluster.RouterFactory
{
public static final java.lang.String NAME;
private org.apache.dubbo.rpc.cluster.RouterFactory routerFactory;
public void <init>()
{
org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory v;
v := @this: org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void setRouterFactory(org.apache.dubbo.rpc.cluster.RouterFactory)
{
org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory v;
org.apache.dubbo.rpc.cluster.RouterFactory v;
v := @this: org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory;
v := @parameter: org.apache.dubbo.rpc.cluster.RouterFactory;
v.<org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory: org.apache.dubbo.rpc.cluster.RouterFactory routerFactory> = v;
return;
}
public org.apache.dubbo.rpc.cluster.Router getRouter(org.apache.dubbo.common.URL)
{
java.lang.IllegalStateException v;
org.apache.dubbo.common.URLBuilder v, v, v, v, v;
org.apache.dubbo.common.URL v, v;
org.apache.dubbo.rpc.cluster.Router v;
org.apache.dubbo.rpc.cluster.RouterFactory v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v;
java.io.IOException v;
org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory v;
java.io.File v;
java.io.FileReader v;
v := @this: org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory;
v := @parameter: org.apache.dubbo.common.URL;
label:
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getParameter(java.lang.String,java.lang.String)>("router", "script");
v = null;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getPath()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(46);
if v <= 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = new java.io.FileReader;
v = new java.io.File;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getAbsolutePath()>();
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
specialinvoke v.<java.io.FileReader: void <init>(java.io.File)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.IOUtils: java.lang.String read(java.io.Reader)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean getParameter(java.lang.String,boolean)>("runtime", 0);
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)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameter(java.lang.String,java.lang.String)>("type", v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameter(java.lang.String,boolean)>("runtime", v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URLBuilder addParameterAndEncoded(java.lang.String,java.lang.String)>("rule", v);
v = virtualinvoke v.<org.apache.dubbo.common.URLBuilder: org.apache.dubbo.common.URL build()>();
v = v.<org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory: org.apache.dubbo.rpc.cluster.RouterFactory routerFactory>;
v = interfaceinvoke v.<org.apache.dubbo.rpc.cluster.RouterFactory: org.apache.dubbo.rpc.cluster.Router getRouter(org.apache.dubbo.common.URL)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.io.IOException from label to label with label;
}
}