public class org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig extends java.lang.Object implements org.glassfish.api.admin.AdminCommand
{
java.util.List target;
java.lang.String lbConfigName;
java.lang.String lbName;
boolean retrieveFile;
java.lang.String fileName;
java.util.Properties properties;
com.sun.enterprise.config.serverbeans.Domain domain;
org.glassfish.internal.data.ApplicationRegistry appRegistry;
org.glassfish.api.admin.ServerEnvironment env;
private static final java.lang.String DEFAULT_LB_XML_FILE_NAME;
public void <init>()
{
org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig v;
v := @this: org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig;
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;
org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig v;
java.util.logging.Level v, v, v;
org.glassfish.api.ActionReport v;
java.lang.String v, v, v, v;
boolean v;
java.util.logging.Logger v, v, v;
org.glassfish.api.admin.AdminCommandContext v;
org.glassfish.api.ActionReport$ExitCode v, v;
v := @this: org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v = interfaceinvoke v.<org.glassfish.api.admin.AdminCommandContext: org.glassfish.api.ActionReport getActionReport()>();
label:
v = virtualinvoke v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String process(org.glassfish.api.admin.AdminCommandContext)>(v);
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);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(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)>("ExportHttpLbConfigFailed", 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 exporting http lb config", 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 java.lang.String process(org.glassfish.api.admin.AdminCommandContext) throws java.lang.Exception
{
org.glassfish.api.admin.ServerEnvironment v;
java.lang.Exception v, v, v, v;
java.lang.Throwable v;
org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Properties v;
java.io.FileOutputStream v, v;
java.io.File v, v, v, v, v, v, v;
org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader v;
org.glassfish.internal.data.ApplicationRegistry v, v, v;
com.sun.enterprise.util.i18n.StringManager v, v, v, v, v;
boolean v, v, v, v, v, v, v, v;
org.glassfish.loadbalancer.config.LbConfig v;
java.util.List v, v, v, v;
com.sun.enterprise.config.serverbeans.Domain v, v, v, v;
java.util.HashSet v;
org.glassfish.api.admin.AdminCommandContext v;
org.glassfish.loadbalancer.admin.cli.reader.impl.LoadbalancerReaderImpl v;
org.glassfish.loadbalancer.config.LoadBalancer v;
v := @this: org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbName>;
if v == null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbConfigName>;
if v != null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.util.List target>;
if v != null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: 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 = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: org.glassfish.internal.data.ApplicationRegistry appRegistry>;
v = interfaceinvoke v.<org.glassfish.loadbalancer.config.LoadBalancer: java.lang.String getLbConfigName()>();
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);
goto label;
label:
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbConfigName>;
if v == null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbName>;
if v != null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.util.List target>;
if v != null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: org.glassfish.internal.data.ApplicationRegistry appRegistry>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbConfigName>;
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);
goto label;
label:
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.util.List target>;
if v == null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbName>;
if v != null goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String lbConfigName>;
if v != null goto label;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.util.List target>;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = new org.glassfish.loadbalancer.admin.cli.reader.impl.LoadbalancerReaderImpl;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: org.glassfish.internal.data.ApplicationRegistry appRegistry>;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.util.Properties properties>;
specialinvoke v.<org.glassfish.loadbalancer.admin.cli.reader.impl.LoadbalancerReaderImpl: void <init>(com.sun.enterprise.config.serverbeans.Domain,org.glassfish.internal.data.ApplicationRegistry,java.util.Set,java.util.Properties)>(v, v, v, v);
v = v;
goto label;
label:
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String)>("ExportHttpLbConfigInvalidArgs");
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String fileName>;
if v != null goto label;
v = interfaceinvoke v.<org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader: java.lang.String getName()>();
if v == null goto label;
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[])>("loadbalancer.xml.\u0001");
v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String fileName> = v;
goto label;
label:
v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String fileName> = "loadbalancer.xml";
label:
v = new java.io.File;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String fileName>;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = v;
v = virtualinvoke v.<java.io.File: boolean isAbsolute()>();
if v != 0 goto label;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: boolean retrieveFile>;
if v != 0 goto label;
v = new java.io.File;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: org.glassfish.api.admin.ServerEnvironment env>;
v = interfaceinvoke v.<org.glassfish.api.admin.ServerEnvironment: java.io.File getInstanceRoot()>();
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "load-balancer");
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdir()>();
if v != 0 goto label;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String)>("directoryCreationFailed");
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.io.File;
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: java.lang.String fileName>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v;
label:
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: boolean retrieveFile>;
if v == 0 goto label;
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String)>("load-balancer", ".xml");
virtualinvoke v.<java.io.File: void deleteOnExit()>();
goto label;
label:
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("FileExists", v);
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<java.io.File: java.lang.String getParent()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("ParentFileMissing", v);
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
label:
v = v;
label:
v = null;
label:
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
v = v;
staticinvoke <org.glassfish.loadbalancer.admin.cli.helper.LbConfigHelper: void exportXml(org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader,java.io.OutputStream)>(v, v);
v = v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: boolean retrieveFile>;
if v == 0 goto label;
specialinvoke v.<org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig: void retrieveLbConfig(org.glassfish.api.admin.AdminCommandContext,java.io.File,java.io.File)>(v, v, v);
label:
v = interfaceinvoke v.<org.glassfish.loadbalancer.admin.cli.reader.api.LoadbalancerReader: org.glassfish.loadbalancer.config.LbConfig getLbConfig()>();
if v == null goto label;
interfaceinvoke v.<org.glassfish.loadbalancer.config.LbConfig: boolean setLastExported()>();
label:
v = staticinvoke <org.glassfish.loadbalancer.admin.cli.LbLogUtil: com.sun.enterprise.util.i18n.StringManager getStringManager()>();
v = virtualinvoke v.<java.io.File: java.lang.String toString()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("GeneratedFileLocation", v);
label:
virtualinvoke v.<java.io.FileOutputStream: void close()>();
return v;
label:
v := @caughtexception;
if v == null goto label;
virtualinvoke v.<java.io.FileOutputStream: void close()>();
label:
throw v;
catch java.lang.Throwable from label to label with label;
}
private void retrieveLbConfig(org.glassfish.api.admin.AdminCommandContext, java.io.File, java.io.File) throws java.lang.Exception
{
com.sun.enterprise.util.i18n.StringManager v;
org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig v;
java.lang.String v, v, v, v;
java.net.URI v, v, v;
java.util.Properties v;
java.io.IOException v;
java.io.File v, v, v;
java.lang.Exception v;
org.glassfish.api.admin.AdminCommandContext v;
org.glassfish.api.admin.Payload$Outbound v;
v := @this: org.glassfish.loadbalancer.admin.cli.ExportHttpLbConfig;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
if v != null goto label;
v = v;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(92, 47);
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>("file-xfer-root", v);
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
label:
v = interfaceinvoke v.<org.glassfish.api.admin.AdminCommandContext: org.glassfish.api.admin.Payload$Outbound getOutboundPayload()>();
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.net.URI relativize(java.net.URI)>(v);
interfaceinvoke v.<org.glassfish.api.admin.Payload$Outbound: void attachFile(java.lang.String,java.net.URI,java.lang.String,java.util.Properties,java.io.File)>("text/xml", v, "sync-load-balancer-xml", v, 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.io.File: java.lang.String getAbsolutePath()>();
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object)>("RetrieveFailed", v);
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
}