class org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore extends java.lang.Object
{
private final java.lang.String type;
private final java.lang.String path;
private final org.apache.kafkaesque.common.config.types.Password password;
private final org.apache.kafkaesque.common.config.types.Password keyPassword;
private final java.lang.Long fileLastModifiedMs;
void <init>(java.lang.String, java.lang.String, org.apache.kafkaesque.common.config.types.Password, org.apache.kafkaesque.common.config.types.Password)
{
java.lang.Long v;
java.lang.String v, v;
org.apache.kafkaesque.common.config.types.Password v, v;
org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore v;
v := @this: org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.kafkaesque.common.config.types.Password;
v := @parameter: org.apache.kafkaesque.common.config.types.Password;
specialinvoke v.<java.lang.Object: void <init>()>();
staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "type must not be null");
v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String type> = v;
v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String path> = v;
v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: org.apache.kafkaesque.common.config.types.Password password> = v;
v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: org.apache.kafkaesque.common.config.types.Password keyPassword> = v;
v = specialinvoke v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long lastModifiedMs(java.lang.String)>(v);
v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long fileLastModifiedMs> = v;
return;
}
java.security.KeyStore load()
{
java.lang.Throwable v;
java.lang.String[] v;
java.nio.file.OpenOption[] v;
org.apache.kafkaesque.common.KafkaException v;
java.lang.String v, v, v, v, v, v;
java.nio.file.Path v;
org.apache.kafkaesque.common.config.types.Password v, v;
org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore v;
java.security.KeyStore v;
java.lang.Exception v;
char[] v;
java.io.InputStream v;
v := @this: org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore;
label:
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String path>;
v = newarray (java.lang.String)[0];
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>(v, v);
v = newarray (java.nio.file.OpenOption)[0];
v = staticinvoke <java.nio.file.Files: java.io.InputStream newInputStream(java.nio.file.Path,java.nio.file.OpenOption[])>(v, v);
label:
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String type>;
v = staticinvoke <java.security.KeyStore: java.security.KeyStore getInstance(java.lang.String)>(v);
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: org.apache.kafkaesque.common.config.types.Password password>;
if v == null goto label;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: org.apache.kafkaesque.common.config.types.Password password>;
v = virtualinvoke v.<org.apache.kafkaesque.common.config.types.Password: java.lang.String value()>();
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
goto label;
label:
v = null;
label:
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new org.apache.kafkaesque.common.KafkaException;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String path>;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String type>;
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[])>("Failed to load SSL keystore \u of type \u0001");
specialinvoke v.<org.apache.kafkaesque.common.KafkaException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Throwable from label to label with label;
catch java.security.GeneralSecurityException from label to label with label;
catch java.io.IOException from label to label with label;
}
private java.lang.Long lastModifiedMs(java.lang.String)
{
org.slf4j.Logger v;
java.nio.file.LinkOption[] v;
java.nio.file.attribute.FileTime v;
java.io.IOException v;
java.lang.String[] v;
long v;
java.lang.Long v;
java.lang.String v, v;
java.nio.file.Path v;
org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore v;
v := @this: org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore;
v := @parameter: java.lang.String;
label:
v = newarray (java.lang.String)[0];
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>(v, v);
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
v = virtualinvoke v.<java.nio.file.attribute.FileTime: long toMillis()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.kafkaesque.common.security.ssl.SslEngineBuilder: org.slf4j.Logger log>;
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[])>("Modification time of key store could not be obtained: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
return null;
catch java.io.IOException from label to label with label;
}
boolean modified()
{
java.lang.Long v, v;
java.lang.String v;
org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore v;
boolean v, v;
v := @this: org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String path>;
v = specialinvoke v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long lastModifiedMs(java.lang.String)>(v);
if v == null goto label;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long fileLastModifiedMs>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toString()
{
java.lang.Long v, v;
java.util.Date v;
long v;
java.lang.String v, v;
org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore v;
v := @this: org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.String path>;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long fileLastModifiedMs>;
if v != null goto label;
v = null;
goto label;
label:
v = new java.util.Date;
v = v.<org.apache.kafkaesque.common.security.ssl.SslEngineBuilder$SecurityStore: java.lang.Long fileLastModifiedMs>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<java.util.Date: void <init>(long)>(v);
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.util.Date)>(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[])>("SecurityStore(path=\u, modificationTime=\u)");
return v;
}
}