public class oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl extends java.lang.Object implements oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactory
{
private static final org.slf4j.Logger LOG;
public static final java.lang.String HTTP_CLIENT_IMPL_DEFAULT;
public static final oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl INSTANCE;
public void <init>()
{
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
v := @this: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl getInstance()
{
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl INSTANCE>;
return v;
}
public oadd.org.apache.calcite.avatica.remote.AvaticaHttpClient getClient(java.net.URL, oadd.org.apache.calcite.avatica.ConnectionConfig, oadd.org.apache.calcite.avatica.remote.KerberosConnection)
{
java.net.URL v;
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClient v;
oadd.org.apache.calcite.avatica.remote.HostnameVerificationConfigurable$HostnameVerification v;
boolean v, v, v, v, v, v, v;
oadd.org.apache.calcite.avatica.remote.AuthenticationType v, v, v;
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
oadd.org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.apache.hc.client.http.impl.io.PoolingHttpClientConnectionManager v;
java.io.File v, v;
oadd.org.apache.calcite.avatica.remote.KerberosConnection v;
oadd.org.apache.calcite.avatica.ConnectionConfig v;
java.lang.Class v, v, v;
v := @this: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
v := @parameter: java.net.URL;
v := @parameter: oadd.org.apache.calcite.avatica.ConnectionConfig;
v := @parameter: oadd.org.apache.calcite.avatica.remote.KerberosConnection;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String httpClientClass()>();
if null != v goto label;
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: java.lang.String HTTP_CLIENT_IMPL_DEFAULT>;
label:
v = specialinvoke v.<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClient instantiateClient(java.lang.String,java.net.URL)>(v, v);
v = v instanceof oadd.org.apache.calcite.avatica.remote.HttpClientPoolConfigurable;
if v == 0 goto label;
v = staticinvoke <oadd.org.apache.calcite.avatica.remote.CommonsHttpClientPoolCache: org.apache.hc.client.http.impl.io.PoolingHttpClientConnectionManager getPool(oadd.org.apache.calcite.avatica.ConnectionConfig)>(v);
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.HttpClientPoolConfigurable: void setHttpClientPool(org.apache.hc.client.http.impl.io.PoolingHttpClientConnectionManager)>(v);
goto label;
label:
v = v instanceof oadd.org.apache.calcite.avatica.remote.TrustStoreConfigurable;
if v == 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.io.File truststore()>();
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String truststorePassword()>();
if null == v goto label;
if null == v goto label;
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.TrustStoreConfigurable: void setTrustStore(java.io.File,java.lang.String)>(v, v);
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} is not capable of SSL/TLS communication", v);
label:
v = v instanceof oadd.org.apache.calcite.avatica.remote.KeyStoreConfigurable;
if v == 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.io.File keystore()>();
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String keystorePassword()>();
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String keyPassword()>();
if null == v goto label;
if null == v goto label;
if null == v goto label;
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.KeyStoreConfigurable: void setKeyStore(java.io.File,java.lang.String,java.lang.String)>(v, v, v);
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} is not capable of Mutual authentication", v);
label:
v = v instanceof oadd.org.apache.calcite.avatica.remote.HostnameVerificationConfigurable;
if v == 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: oadd.org.apache.calcite.avatica.remote.HostnameVerificationConfigurable$HostnameVerification hostnameVerification()>();
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.HostnameVerificationConfigurable: void setHostnameVerification(oadd.org.apache.calcite.avatica.remote.HostnameVerificationConfigurable$HostnameVerification)>(v);
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} is not capable of configurable SSL/TLS hostname verification", v);
label:
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String authentication()>();
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <oadd.org.apache.calcite.avatica.remote.AuthenticationType: oadd.org.apache.calcite.avatica.remote.AuthenticationType valueOf(java.lang.String)>(v);
label:
v = v;
v = v instanceof oadd.org.apache.calcite.avatica.remote.UsernamePasswordAuthenticateable;
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: boolean isUserPasswordAuth(oadd.org.apache.calcite.avatica.remote.AuthenticationType)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String avaticaUser()>();
v = interfaceinvoke v.<oadd.org.apache.calcite.avatica.ConnectionConfig: java.lang.String avaticaPassword()>();
if null == v goto label;
if null == v goto label;
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.UsernamePasswordAuthenticateable: void setUsernamePassword(oadd.org.apache.calcite.avatica.remote.AuthenticationType,java.lang.String,java.lang.String)>(v, v, v);
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Username or password was null");
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} is not capable of username/password authentication.", v);
label:
v = v instanceof oadd.org.apache.calcite.avatica.remote.GSSAuthenticateable;
if v == 0 goto label;
v = <oadd.org.apache.calcite.avatica.remote.AuthenticationType: oadd.org.apache.calcite.avatica.remote.AuthenticationType SPNEGO>;
if v != v goto label;
interfaceinvoke v.<oadd.org.apache.calcite.avatica.remote.GSSAuthenticateable: void setGSSCredential(org.ietf.jgss.GSSCredential)>(null);
goto label;
label:
v = <oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("{} is not capable of kerberos authentication.", v);
label:
if null == v goto label;
v = new oadd.org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient;
specialinvoke v.<oadd.org.apache.calcite.avatica.remote.DoAsAvaticaHttpClient: void <init>(oadd.org.apache.calcite.avatica.remote.AvaticaHttpClient,oadd.org.apache.calcite.avatica.remote.KerberosConnection)>(v, v);
v = v;
label:
return v;
}
private oadd.org.apache.calcite.avatica.remote.AvaticaHttpClient instantiateClient(java.lang.String, java.net.URL)
{
java.lang.Object[] v;
java.net.URL v;
java.lang.Class[] v;
java.lang.RuntimeException v;
java.lang.reflect.Constructor v;
java.lang.Exception v, v;
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
java.lang.Class v, v;
java.lang.Object v, v;
java.lang.String v, v;
v := @this: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
v := @parameter: java.lang.String;
v := @parameter: java.net.URL;
v = null;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Class asSubclass(java.lang.Class)>(class "Loadd/org/apache/calcite/avatica/remote/AvaticaHttpClient;");
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/net/URL;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
v[0] = v;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
label:
goto label;
label:
v := @caughtexception;
v = v;
label:
if v != null goto label;
v = new java.lang.RuntimeException;
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[])>("Failed to construct AvaticaHttpClient implementation \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return v;
catch java.lang.Exception from label to label with label;
}
private boolean isUserPasswordAuth(oadd.org.apache.calcite.avatica.remote.AuthenticationType)
{
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
oadd.org.apache.calcite.avatica.remote.AuthenticationType v, v, v;
boolean v;
v := @this: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
v := @parameter: oadd.org.apache.calcite.avatica.remote.AuthenticationType;
v = <oadd.org.apache.calcite.avatica.remote.AuthenticationType: oadd.org.apache.calcite.avatica.remote.AuthenticationType BASIC>;
if v == v goto label;
v = <oadd.org.apache.calcite.avatica.remote.AuthenticationType: oadd.org.apache.calcite.avatica.remote.AuthenticationType DIGEST>;
if v != v goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl v;
org.slf4j.Logger v;
java.lang.Class v;
java.lang.String v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Loadd/org/apache/calcite/avatica/remote/AvaticaHttpClientFactoryImpl;");
<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: org.slf4j.Logger LOG> = v;
v = class "Loadd/org/apache/calcite/avatica/remote/AvaticaCommonsHttpClientImpl;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: java.lang.String HTTP_CLIENT_IMPL_DEFAULT> = v;
v = new oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl;
specialinvoke v.<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: void <init>()>();
<oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl: oadd.org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl INSTANCE> = v;
return;
}
}