public class org.glassfish.main.itest.tools.GlassFishTestEnvironment extends java.lang.Object
{
private static final java.util.logging.Logger LOG;
private static final java.io.File BASEDIR;
private static final java.io.File GF_ROOT;
private static final java.lang.String ADMIN_USER;
private static final java.lang.String ADMIN_PASSWORD;
private static final java.io.File ASADMIN;
private static final java.io.File PASSWORD_FILE_FOR_UPDATE;
private static final java.io.File PASSWORD_FILE;
public void <init>()
{
org.glassfish.main.itest.tools.GlassFishTestEnvironment v;
v := @this: org.glassfish.main.itest.tools.GlassFishTestEnvironment;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static org.glassfish.main.itest.tools.asadmin.Asadmin getAsadmin()
{
java.io.File v, v;
org.glassfish.main.itest.tools.asadmin.Asadmin v;
v = new org.glassfish.main.itest.tools.asadmin.Asadmin;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File ASADMIN>;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File PASSWORD_FILE>;
specialinvoke v.<org.glassfish.main.itest.tools.asadmin.Asadmin: void <init>(java.io.File,java.lang.String,java.io.File)>(v, "admin", v);
return v;
}
public static java.io.File getTargetDirectory()
{
java.io.File v, v;
v = new java.io.File;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File BASEDIR>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "target");
return v;
}
public static java.nio.file.Path getDomain1Directory()
{
java.lang.String[] v;
java.nio.file.Path v, v, v;
java.io.File v;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File GF_ROOT>;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.lang.String)[1];
v[0] = "domain1";
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>("domains", v);
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path resolve(java.nio.file.Path)>(v);
return v;
}
public static org.glassfish.admin.rest.client.ClientWrapper createClient()
{
java.util.HashMap v;
org.glassfish.admin.rest.client.ClientWrapper v;
v = new org.glassfish.admin.rest.client.ClientWrapper;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
specialinvoke v.<org.glassfish.admin.rest.client.ClientWrapper: void <init>(java.util.Map,java.lang.String,java.lang.String)>(v, "admin", "admintest");
return v;
}
public static java.net.HttpURLConnection openConnection(java.lang.String) throws java.io.IOException
{
java.net.HttpURLConnection v;
java.lang.String v;
org.glassfish.main.itest.tools.GlassFishTestEnvironment$DasAuthenticator v;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.net.HttpURLConnection openConnection(int,java.lang.String)>(4848, v);
v = new org.glassfish.main.itest.tools.GlassFishTestEnvironment$DasAuthenticator;
specialinvoke v.<org.glassfish.main.itest.tools.GlassFishTestEnvironment$DasAuthenticator: void <init>()>();
virtualinvoke v.<java.net.HttpURLConnection: void setAuthenticator(java.net.Authenticator)>(v);
return v;
}
public static java.net.HttpURLConnection openConnection(int, java.lang.String) throws java.io.IOException
{
java.net.URL v;
java.net.URLConnection v;
int v;
java.lang.String v, v;
v := @parameter: int;
v := @parameter: java.lang.String;
v = new java.net.URL;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("http://localhost:\u0001\u0001");
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.net.URL: java.net.URLConnection openConnection()>();
virtualinvoke v.<java.net.HttpURLConnection: void setRequestProperty(java.lang.String,java.lang.String)>("X-Requested-By", "JUnit5Test");
return v;
}
public static void deleteJobsFile()
{
java.lang.IllegalStateException v;
java.io.IOException v;
java.lang.String[] v;
java.util.logging.Logger v;
java.io.File v;
java.util.logging.Level v;
java.lang.String v;
java.nio.file.Path v, v, v;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File GF_ROOT>;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.lang.String)[3];
v[0] = "domain1";
v[1] = "config";
v[2] = "jobs.xml";
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>("domains", v);
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path resolve(java.nio.file.Path)>(v);
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level CONFIG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.nio.file.Path)>(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[])>("Deleting: \u0001");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
staticinvoke <java.nio.file.Files: boolean deleteIfExists(java.nio.file.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
private static java.io.File detectBasedir()
{
java.io.File v, v, v, v, v, v, v;
java.lang.String v;
boolean v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("basedir");
if v == null goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>("target");
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: java.io.File getAbsoluteFile()>();
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
return v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(".");
v = virtualinvoke v.<java.io.File: java.io.File getAbsoluteFile()>();
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
return v;
}
private static java.io.File resolveGlassFishRoot()
{
java.lang.IllegalStateException v;
java.lang.String[] v;
java.io.File v, v;
java.lang.String v;
java.nio.file.Path v, v, v;
boolean v;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File BASEDIR>;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.lang.String)[2];
v[0] = "glassfish7";
v[1] = "glassfish";
v = staticinvoke <java.nio.file.Path: java.nio.file.Path of(java.lang.String,java.lang.String[])>("target", v);
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path resolve(java.nio.file.Path)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
label:
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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[])>("The expected GlassFish home directory doesn\'t exist: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private static java.io.File findAsadmin()
{
java.lang.String v;
java.io.File v, v;
boolean v;
v = new java.io.File;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File GF_ROOT>;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: boolean isWindows()>();
if v == 0 goto label;
v = "bin/asadmin.bat";
goto label;
label:
v = "bin/asadmin";
label:
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
return v;
}
private static boolean isWindows()
{
java.util.Locale v;
java.lang.String v, v;
boolean v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("os.name");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("win");
return v;
}
private static java.io.File findPasswordFile(java.lang.String)
{
java.lang.Throwable v;
java.nio.file.CopyOption[] v;
java.lang.IllegalStateException v, v, v;
java.util.Enumeration v;
java.lang.String v, v, v;
java.nio.file.Path v;
boolean v, v, v;
java.io.IOException v;
java.io.File v, v;
java.lang.Class v;
java.lang.Object v;
java.lang.ClassLoader v;
java.io.InputStream v;
v := @parameter: java.lang.String;
v = new java.io.File;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File getTargetDirectory()>();
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
return v;
label:
v = class "Lorg/glassfish/main/itest/tools/asadmin/Asadmin;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.util.Enumeration getResources(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v != 0 goto label;
label:
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[])>("\u not found");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = virtualinvoke v.<java.net.URL: java.io.InputStream openStream()>();
label:
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.CopyOption)[0];
staticinvoke <java.nio.file.Files: long copy(java.io.InputStream,java.nio.file.Path,java.nio.file.CopyOption[])>(v, v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return v;
label:
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[])>("\u not found");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
private static void changePassword()
{
java.io.PrintStream v, v;
org.glassfish.main.itest.tools.asadmin.AsadminResult v;
org.glassfish.main.itest.tools.asadmin.Asadmin v;
java.lang.String[] v;
java.io.File v, v;
boolean v;
v = new org.glassfish.main.itest.tools.asadmin.Asadmin;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File ASADMIN>;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File PASSWORD_FILE_FOR_UPDATE>;
specialinvoke v.<org.glassfish.main.itest.tools.asadmin.Asadmin: void <init>(java.io.File,java.lang.String,java.io.File)>(v, "admin", v);
v = newarray (java.lang.String)[1];
v[0] = "change-admin-password";
v = virtualinvoke v.<org.glassfish.main.itest.tools.asadmin.Asadmin: org.glassfish.main.itest.tools.asadmin.AsadminResult exec(int,java.lang.String[])>(5000, v);
v = virtualinvoke v.<org.glassfish.main.itest.tools.asadmin.AsadminResult: boolean isError()>();
if v == 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Admin password NOT changed.");
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Admin password changed.");
label:
return;
}
static void <clinit>()
{
org.glassfish.main.itest.tools.asadmin.Asadmin v;
java.lang.String[] v;
java.lang.Runnable v;
java.util.logging.Level v, v;
java.lang.Thread v;
java.lang.String v;
org.glassfish.main.itest.tools.asadmin.AsadminResult v;
java.lang.Runtime v;
org.glassfish.main.itest.tools.asadmin.AsadminResultMatcher v;
java.util.logging.Logger v, v, v;
java.io.File v, v, v, v, v, v, v;
java.lang.Class v;
v = class "Lorg/glassfish/main/itest/tools/GlassFishTestEnvironment;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>(v);
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.util.logging.Logger LOG> = v;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File detectBasedir()>();
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File BASEDIR> = v;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File resolveGlassFishRoot()>();
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File GF_ROOT> = v;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File findAsadmin()>();
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File ASADMIN> = v;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File findPasswordFile(java.lang.String)>("password_update.txt");
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File PASSWORD_FILE_FOR_UPDATE> = v;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File findPasswordFile(java.lang.String)>("password.txt");
<org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File PASSWORD_FILE> = v;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File BASEDIR>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Using basedir: {0}", v);
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = <org.glassfish.main.itest.tools.GlassFishTestEnvironment: java.io.File GF_ROOT>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "Expected GlassFish directory: {0}", v);
staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: void changePassword()>();
v = new java.lang.Thread;
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment$lambda_static_0__6: java.lang.Runnable bootstrap$()>();
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable)>(v);
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
virtualinvoke v.<java.lang.Runtime: void addShutdownHook(java.lang.Thread)>(v);
v = staticinvoke <org.glassfish.main.itest.tools.GlassFishTestEnvironment: org.glassfish.main.itest.tools.asadmin.Asadmin getAsadmin()>();
v = newarray (java.lang.String)[2];
v[0] = "start-domain";
v[1] = "--debug";
v = virtualinvoke v.<org.glassfish.main.itest.tools.asadmin.Asadmin: org.glassfish.main.itest.tools.asadmin.AsadminResult exec(int,java.lang.String[])>(30000, v);
v = staticinvoke <org.glassfish.main.itest.tools.asadmin.AsadminResultMatcher: org.glassfish.main.itest.tools.asadmin.AsadminResultMatcher asadminOK()>();
staticinvoke <org.hamcrest.MatcherAssert: void assertThat(java.lang.Object,org.hamcrest.Matcher)>(v, v);
return;
}
}