public class org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges extends java.lang.Object implements org.glassfish.api.admin.AdminCommand
{
com.sun.enterprise.config.serverbeans.Domain domain;
org.glassfish.internal.data.ApplicationRegistry appRegistry;
java.lang.String ping;
java.lang.String lbName;
private static final java.lang.String LB_UPDATE_CONTEXT_ROOT;
private static final java.lang.String IS_SECURE_PROPERTY;
private static final java.lang.String SSL_PROXY_HOST_PROPERTY;
private static final java.lang.String SSL_PROXY_PORT_PROPERTY;
private static final java.lang.String GET;
private static final java.lang.String POST;
public void <init>()
{
org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges v;
v := @this: org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void execute(org.glassfish.api.admin.AdminCommandContext)
{
java.lang.Throwable v;
com.sun.enterprise.util.i18n.StringManager v;
java.util.logging.Level v, v, v;
org.glassfish.api.ActionReport v;
java.lang.String v, v, v;
boolean v;
java.util.logging.Logger v, v, v;
org.glassfish.api.admin.AdminCommandContext v;
org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges v;
org.glassfish.api.ActionReport$ExitCode v, v;
v := @this: org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v = interfaceinvoke v.<org.glassfish.api.admin.AdminCommandContext: org.glassfish.api.ActionReport getActionReport()>();
label:
virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: void process()>();
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode SUCCESS>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("ApplyHttpLbChangesFailed", v);
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: java.util.logging.Logger getLogger()>();
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: java.util.logging.Logger getLogger()>();
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: java.util.logging.Logger getLogger()>();
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "Exception when applying http lb changes", v);
label:
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setFailureCause(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void process() throws java.lang.Exception
{
java.lang.Boolean v;
org.jvnet.hk.config.types.Property v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges v;
com.sun.enterprise.config.serverbeans.Domain v, v;
org.glassfish.loadbalancer.config.LoadBalancer v;
org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager v;
v := @this: org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges;
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: java.lang.String lbName>;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.helper.LbConfigHelper: org.glassfish.loadbalancer.config.LoadBalancer getLoadBalancer(com.sun.enterprise.config.serverbeans.Domain,java.lang.String)>(v, v);
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: java.lang.String getDeviceHost()>();
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: java.lang.String getDevicePort()>();
v = null;
v = null;
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: org.jvnet.hk.config.types.Property getProperty(java.lang.String)>("ssl-proxy-host");
if v == null goto label;
v = interfaceinvoke v.<org.jvnet.hk.config.types.Property: java.lang.String getValue()>();
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: org.jvnet.hk.config.types.Property getProperty(java.lang.String)>("ssl-proxy-port");
if v == null goto label;
v = interfaceinvoke v.<org.jvnet.hk.config.types.Property: java.lang.String getValue()>();
label:
v = 1;
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: org.jvnet.hk.config.types.Property getProperty(java.lang.String)>("is-device-ssl-enabled");
if v == null goto label;
v = interfaceinvoke v.<org.jvnet.hk.config.types.Property: java.lang.String getValue()>();
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>(v);
label:
v = new org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager;
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: java.lang.String lbName>;
specialinvoke v.<org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager: void <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean)>(v, v, v, v, v, v);
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: java.lang.String ping>;
if v == null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: java.lang.String ping>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: boolean ping(org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager)>(v);
goto label;
label:
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: com.sun.enterprise.config.serverbeans.Domain domain>;
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: java.lang.String getLbConfigName()>();
virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: void publish(org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager,com.sun.enterprise.config.serverbeans.Domain,java.lang.String)>(v, v, v);
label:
return;
}
public void publish(org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager, com.sun.enterprise.config.serverbeans.Domain, java.lang.String) throws java.io.IOException, java.lang.Exception
{
java.net.HttpURLConnection v;
java.net.URL v, v;
com.sun.enterprise.util.i18n.StringManager v, v, v;
java.lang.Integer v, v;
java.lang.Exception v;
org.glassfish.loadbalancer.config.LbConfig v;
com.sun.enterprise.config.serverbeans.Domain v;
org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager v;
java.lang.Throwable v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.io.OutputStream v;
java.io.IOException v, v, v, v;
java.net.UnknownHostException v;
org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader v;
org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges v;
org.glassfish.internal.data.ApplicationRegistry v;
v := @this: org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges;
v := @parameter: org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager;
v := @parameter: com.sun.enterprise.config.serverbeans.Domain;
v := @parameter: java.lang.String;
v = v.<org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges: org.glassfish.internal.data.ApplicationRegistry appRegistry>;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.helper.LbConfigHelper: org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader getLbReader(com.sun.enterprise.config.serverbeans.Domain,org.glassfish.internal.data.ApplicationRegistry,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager: java.net.HttpURLConnection getConnection(java.lang.String)>("/lbconfigupdate");
v = null;
label:
virtualinvoke v.<java.net.HttpURLConnection: void setDoOutput(boolean)>(1);
virtualinvoke v.<java.net.HttpURLConnection: void setRequestMethod(java.lang.String)>("POST");
virtualinvoke v.<java.net.HttpURLConnection: void connect()>();
v = virtualinvoke v.<java.net.HttpURLConnection: java.io.OutputStream getOutputStream()>();
staticinvoke <org.glassfish.loadbalancer.admin.cli.helper.LbConfigHelper: void exportXml(org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader,java.io.OutputStream)>(v, v);
virtualinvoke v.<java.io.OutputStream: void flush()>();
v = interfaceinvoke v.<org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader: org.glassfish.loadbalancer.config.LbConfig getLbConfig()>();
interfaceinvoke v.<org.glassfish.loadbalancer.config.LbConfig: boolean setLastApplied()>();
label:
v = virtualinvoke v.<java.net.HttpURLConnection: int getResponseCode()>();
v = virtualinvoke v.<java.net.HttpURLConnection: java.lang.String getResponseMessage()>();
virtualinvoke v.<java.io.OutputStream: void close()>();
virtualinvoke v.<java.net.HttpURLConnection: void disconnect()>();
if v == 200 goto label;
v = virtualinvoke v.<java.net.HttpURLConnection: java.net.URL getURL()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
v = new java.io.IOException;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("HttpError", v, v, v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<java.net.UnknownHostException: java.lang.String getMessage()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("CannotConnectToLBHost", v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
v = new java.io.IOException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
if v == null goto label;
if v == null goto label;
v = virtualinvoke v.<java.net.HttpURLConnection: int getResponseCode()>();
v = virtualinvoke v.<java.net.HttpURLConnection: java.lang.String getResponseMessage()>();
virtualinvoke v.<java.io.OutputStream: void close()>();
virtualinvoke v.<java.net.HttpURLConnection: void disconnect()>();
if v == 200 goto label;
v = virtualinvoke v.<java.net.HttpURLConnection: java.net.URL getURL()>();
v = virtualinvoke v.<java.net.URL: java.lang.String toString()>();
v = new java.io.IOException;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("HttpError", v, v, v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
throw v;
label:
return;
catch java.net.UnknownHostException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public boolean ping(org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager) throws java.io.IOException
{
java.net.HttpURLConnection v;
org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges v;
int v;
org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager v;
v := @this: org.glassfish.loadbalancer.admin.cli.ApplyHttpLbChanges;
v := @parameter: org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager;
v = virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.connection.ConnectionManager: java.net.HttpURLConnection getConnection(java.lang.String)>("/lbconfigupdate");
virtualinvoke v.<java.net.HttpURLConnection: void setRequestMethod(java.lang.String)>("GET");
virtualinvoke v.<java.net.HttpURLConnection: void connect()>();
v = virtualinvoke v.<java.net.HttpURLConnection: int getResponseCode()>();
if v == 200 goto label;
return 0;
label:
return 1;
}
}