public class org.apache.logging.log4j.core.config.xml.XmlConfiguration extends org.apache.logging.log4j.core.config.AbstractConfiguration implements org.apache.logging.log4j.core.config.Reconfigurable
{
private static final java.lang.String XINCLUDE_FIXUP_LANGUAGE;
private static final java.lang.String XINCLUDE_FIXUP_BASE_URIS;
private static final java.lang.String LOG4J_XSD;
private final java.util.List status;
private org.w3c.dom.Element rootElement;
private boolean strict;
private java.lang.String schemaResource;
public void <init>(org.apache.logging.log4j.core.LoggerContext, org.apache.logging.log4j.core.config.ConfigurationSource)
{
byte[] v;
org.apache.logging.log4j.core.LoggerContext v;
org.apache.logging.log4j.Level v;
org.apache.logging.log4j.core.config.Node v;
org.w3c.dom.Document v;
java.util.Map v;
java.util.Set v;
org.apache.logging.log4j.core.config.status.StatusConfiguration v, v;
java.lang.Exception v, v, v;
org.apache.logging.log4j.Logger v, v, v, v, v, v;
java.lang.ClassLoader v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
java.lang.Throwable v, v, v;
javax.xml.transform.stream.StreamSource v, v;
long v;
javax.xml.validation.Schema v;
java.util.ArrayList 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;
javax.xml.validation.SchemaFactory v;
java.io.IOException v;
javax.xml.validation.Validator v;
javax.xml.parsers.DocumentBuilder v, v;
java.io.ByteArrayInputStream v, v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v;
org.xml.sax.SAXException v, v;
org.apache.logging.log4j.core.lookup.StrSubstitutor v;
java.lang.String[] v;
int v;
org.xml.sax.InputSource v;
java.util.Iterator v;
org.w3c.dom.Element v, v;
java.lang.Class v;
java.lang.Object v, v, v;
java.io.InputStream v, v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v := @parameter: org.apache.logging.log4j.core.LoggerContext;
v := @parameter: org.apache.logging.log4j.core.config.ConfigurationSource;
specialinvoke v.<org.apache.logging.log4j.core.config.AbstractConfiguration: void <init>(org.apache.logging.log4j.core.LoggerContext,org.apache.logging.log4j.core.config.ConfigurationSource)>(v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.List status> = v;
virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.io.File getFile()>();
v = null;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.io.InputStream getInputStream()>();
label:
v = staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: byte[] toByteArray(java.io.InputStream)>(v);
label:
staticinvoke <org.apache.logging.log4j.core.util.Closer: boolean closeSilently(java.lang.AutoCloseable)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <org.apache.logging.log4j.core.util.Closer: boolean closeSilently(java.lang.AutoCloseable)>(v);
throw v;
label:
v = new org.xml.sax.InputSource;
v = new java.io.ByteArrayInputStream;
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<org.xml.sax.InputSource: void <init>(java.io.InputStream)>(v);
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.lang.String getLocation()>();
virtualinvoke v.<org.xml.sax.InputSource: void setSystemId(java.lang.String)>(v);
v = staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: javax.xml.parsers.DocumentBuilder newDocumentBuilder(boolean)>(1);
label:
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilder: org.w3c.dom.Document parse(org.xml.sax.InputSource)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.apache.logging.log4j.core.util.Throwables: java.lang.Throwable getRootCause(java.lang.Throwable)>(v);
v = v instanceof java.lang.UnsupportedOperationException;
if v == 0 goto label;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("The DocumentBuilder {} does not support an operation: {}.Trying again without XInclude...", v, v);
v = staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: javax.xml.parsers.DocumentBuilder newDocumentBuilder(boolean)>(0);
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilder: org.w3c.dom.Document parse(org.xml.sax.InputSource)>(v);
goto label;
label:
throw v;
label:
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Element getDocumentElement()>();
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement> = v;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.Node rootNode>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement>;
v = specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.Map processAttributes(org.apache.logging.log4j.core.config.Node,org.w3c.dom.Element)>(v, v);
v = new org.apache.logging.log4j.core.config.status.StatusConfiguration;
specialinvoke v.<org.apache.logging.log4j.core.config.status.StatusConfiguration: void <init>()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Level getDefaultStatus()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.status.StatusConfiguration: org.apache.logging.log4j.core.config.status.StatusConfiguration withStatus(org.apache.logging.log4j.Level)>(v);
v = 0;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.lookup.StrSubstitutor getConfigurationStrSubstitutor()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.lookup.StrSubstitutor: java.lang.String replace(java.lang.String)>(v);
v = "status";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.logging.log4j.core.config.status.StatusConfiguration: org.apache.logging.log4j.core.config.status.StatusConfiguration withStatus(java.lang.String)>(v);
goto label;
label:
v = "dest";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.logging.log4j.core.config.status.StatusConfiguration: org.apache.logging.log4j.core.config.status.StatusConfiguration withDestination(java.lang.String)>(v);
goto label;
label:
v = "shutdownHook";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = "disable";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: boolean isShutdownHookEnabled> = v;
goto label;
label:
v = "shutdownTimeout";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: long shutdownTimeoutMillis> = v;
goto label;
label:
v = "packages";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.List pluginPackages>;
v = <org.apache.logging.log4j.core.util.Patterns: java.lang.String COMMA_SEPARATOR>;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(v);
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v = "name";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setName(java.lang.String)>(v);
goto label;
label:
v = "strict";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: boolean strict> = v;
goto label;
label:
v = "schema";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String schemaResource> = v;
goto label;
label:
v = "monitorInterval";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.logging.log4j.core.util.Integers: int parseInt(java.lang.String)>(v);
goto label;
label:
v = "advertiser";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void createAdvertiser(java.lang.String,org.apache.logging.log4j.core.config.ConfigurationSource,byte[],java.lang.String)>(v, v, v, "text/xml");
goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void initializeWatchers(org.apache.logging.log4j.core.config.Reconfigurable,org.apache.logging.log4j.core.config.ConfigurationSource,int)>(v, v, v);
virtualinvoke v.<org.apache.logging.log4j.core.config.status.StatusConfiguration: void initialize()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.lang.String getLocation()>();
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[])>("Error parsing \u0001");
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: boolean strict>;
if v == 0 goto label;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String schemaResource>;
if v == null goto label;
if v == null goto label;
label:
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String schemaResource>;
v = class "Lorg/apache/logging/log4j/core/config/xml/XmlConfiguration;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <org.apache.logging.log4j.core.util.Loader: java.io.InputStream getResourceAsStream(java.lang.String,java.lang.ClassLoader)>(v, v);
label:
if v == null goto label;
v = new javax.xml.transform.stream.StreamSource;
specialinvoke v.<javax.xml.transform.stream.StreamSource: void <init>(java.io.InputStream,java.lang.String)>(v, "Log4j-config.xsd");
v = staticinvoke <javax.xml.validation.SchemaFactory: javax.xml.validation.SchemaFactory newInstance(java.lang.String)>("http://www.w.org/2001/XMLSchema");
v = null;
label:
v = virtualinvoke v.<javax.xml.validation.SchemaFactory: javax.xml.validation.Schema newSchema(javax.xml.transform.Source)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error parsing Log4j schema", v);
label:
if v == null goto label;
v = virtualinvoke v.<javax.xml.validation.Schema: javax.xml.validation.Validator newValidator()>();
label:
v = new javax.xml.transform.stream.StreamSource;
v = new java.io.ByteArrayInputStream;
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
specialinvoke v.<javax.xml.transform.stream.StreamSource: void <init>(java.io.InputStream)>(v);
virtualinvoke v.<javax.xml.validation.Validator: void validate(javax.xml.transform.Source)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error reading configuration for validation", v);
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error validating configuration", v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String schemaResource>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Unable to access schema {}", v, v);
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String getName()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: java.lang.String getLocation()>();
virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setName(java.lang.String)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch org.xml.sax.SAXException from label to label with label;
catch java.io.IOException from label to label with label;
catch javax.xml.parsers.ParserConfigurationException from label to label with label;
catch org.xml.sax.SAXException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.xml.sax.SAXException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
static javax.xml.parsers.DocumentBuilder newDocumentBuilder(boolean) throws javax.xml.parsers.ParserConfigurationException
{
javax.xml.parsers.DocumentBuilderFactory v;
boolean v;
javax.xml.parsers.DocumentBuilder v;
v := @parameter: boolean;
v = staticinvoke <javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilderFactory newInstance()>();
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setNamespaceAware(boolean)>(1);
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void disableDtdProcessing(javax.xml.parsers.DocumentBuilderFactory)>(v);
if v == 0 goto label;
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void enableXInclude(javax.xml.parsers.DocumentBuilderFactory)>(v);
label:
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilder newDocumentBuilder()>();
return v;
}
private static void disableDtdProcessing(javax.xml.parsers.DocumentBuilderFactory)
{
javax.xml.parsers.DocumentBuilderFactory v;
v := @parameter: javax.xml.parsers.DocumentBuilderFactory;
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setValidating(boolean)>(0);
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setExpandEntityReferences(boolean)>(0);
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setFeature(javax.xml.parsers.DocumentBuilderFactory,java.lang.String,boolean)>(v, "http://xml.org/sax/features/external-general-entities", 0);
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setFeature(javax.xml.parsers.DocumentBuilderFactory,java.lang.String,boolean)>(v, "http://xml.org/sax/features/external-parameter-entities", 0);
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setFeature(javax.xml.parsers.DocumentBuilderFactory,java.lang.String,boolean)>(v, "http://apache.org/xml/features/nonvalidating/load-external-dtd", 0);
return;
}
private static void setFeature(javax.xml.parsers.DocumentBuilderFactory, java.lang.String, boolean)
{
org.apache.logging.log4j.Logger v, v;
javax.xml.parsers.ParserConfigurationException v;
java.lang.AbstractMethodError v;
java.lang.String v;
javax.xml.parsers.DocumentBuilderFactory v;
boolean v;
v := @parameter: javax.xml.parsers.DocumentBuilderFactory;
v := @parameter: java.lang.String;
v := @parameter: boolean;
label:
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("The DocumentBuilderFactory [{}] does not support the feature [{}]: {}", v, v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("The DocumentBuilderFactory [{}] is out of date and does not support setFeature: {}", v, v);
label:
return;
catch javax.xml.parsers.ParserConfigurationException from label to label with label;
catch java.lang.AbstractMethodError from label to label with label;
}
private static void enableXInclude(javax.xml.parsers.DocumentBuilderFactory)
{
org.apache.logging.log4j.Logger v, v;
java.lang.IncompatibleClassChangeError v;
javax.xml.parsers.DocumentBuilderFactory v;
java.lang.Exception v;
v := @parameter: javax.xml.parsers.DocumentBuilderFactory;
label:
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setXIncludeAware(boolean)>(1);
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilder newDocumentBuilder()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setXIncludeAware(boolean)>(0);
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("The DocumentBuilderFactory [{}] does not support XInclude: {}", v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("The DocumentBuilderFactory [{}] is out of date and does not support XInclude: {}", v, v);
label:
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setFeature(javax.xml.parsers.DocumentBuilderFactory,java.lang.String,boolean)>(v, "http://apache.org/xml/features/xinclude/fixup-base-uris", 1);
staticinvoke <org.apache.logging.log4j.core.config.xml.XmlConfiguration: void setFeature(javax.xml.parsers.DocumentBuilderFactory,java.lang.String,boolean)>(v, "http://apache.org/xml/features/xinclude/fixup-language", 1);
return;
catch java.lang.UnsupportedOperationException from label to label with label;
catch javax.xml.parsers.ParserConfigurationException from label to label with label;
catch java.lang.AbstractMethodError from label to label with label;
catch java.lang.NoSuchMethodError from label to label with label;
}
public void setup()
{
org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType v;
java.util.Iterator v;
org.apache.logging.log4j.core.config.Node v;
java.util.List v, v;
org.apache.logging.log4j.Logger v, v;
org.w3c.dom.Element v, v, v;
int v;
java.lang.Object v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
java.lang.String v;
boolean v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement>;
if v != null goto label;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String)>("No logging configuration");
return;
label:
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.Node rootNode>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement>;
specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void constructHierarchy(org.apache.logging.log4j.core.config.Node,org.w3c.dom.Element)>(v, v);
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.List status>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.List status>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status: java.lang.String name>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status: org.w3c.dom.Element element>;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status: org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType errorType>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("Error processing element {} ({}): {}", v, v, v);
goto label;
label:
return;
label:
v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement> = null;
return;
}
public org.apache.logging.log4j.core.config.Configuration reconfigure()
{
org.apache.logging.log4j.core.LoggerContext v;
java.io.IOException v;
org.apache.logging.log4j.Logger v;
org.w3c.dom.Element v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v, v, v;
org.apache.logging.log4j.core.config.ConfigurationSource v, v, v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
label:
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationSource: org.apache.logging.log4j.core.config.ConfigurationSource resetInputStream()>();
if v != null goto label;
label:
return null;
label:
v = new org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.LoggerContext getLoggerContext()>();
specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void <init>(org.apache.logging.log4j.core.LoggerContext,org.apache.logging.log4j.core.config.ConfigurationSource)>(v, v);
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.w3c.dom.Element rootElement>;
if v != null goto label;
v = null;
goto label;
label:
v = v;
label:
return v;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.Logger LOGGER>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot locate file {}", v, v);
return null;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private void constructHierarchy(org.apache.logging.log4j.core.config.Node, org.w3c.dom.Element)
{
org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType v;
org.apache.logging.log4j.core.config.Node v, v;
java.util.Map v;
org.w3c.dom.Node v;
int v, v, v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v, v;
org.w3c.dom.NodeList v;
org.apache.logging.log4j.core.config.plugins.util.PluginManager v;
java.util.List v, v;
org.w3c.dom.Element v;
org.apache.logging.log4j.core.config.plugins.util.PluginType v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status v;
java.lang.StringBuilder v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v := @parameter: org.apache.logging.log4j.core.config.Node;
v := @parameter: org.w3c.dom.Element;
specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.Map processAttributes(org.apache.logging.log4j.core.config.Node,org.w3c.dom.Element)>(v, v);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NodeList getChildNodes()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.util.List getChildren()>();
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = v instanceof org.w3c.dom.Element;
if v == 0 goto label;
v = specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.lang.String getType(org.w3c.dom.Element)>(v);
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.plugins.util.PluginManager pluginManager>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.plugins.util.PluginManager: org.apache.logging.log4j.core.config.plugins.util.PluginType getPluginType(java.lang.String)>(v);
v = new org.apache.logging.log4j.core.config.Node;
specialinvoke v.<org.apache.logging.log4j.core.config.Node: void <init>(org.apache.logging.log4j.core.config.Node,java.lang.String,org.apache.logging.log4j.core.config.plugins.util.PluginType)>(v, v, v);
specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: void constructHierarchy(org.apache.logging.log4j.core.config.Node,org.w3c.dom.Element)>(v, v);
if v != null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: boolean hasChildren()>();
if v != 0 goto label;
if v == null goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.util.Map getAttributes()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: java.util.List status>;
v = new org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status;
v = <org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType: org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType CLASS_NOT_FOUND>;
specialinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration$Status: void <init>(java.lang.String,org.w3c.dom.Element,org.apache.logging.log4j.core.config.xml.XmlConfiguration$ErrorType)>(v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.w3c.dom.Text;
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Text: java.lang.String getData()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: boolean hasChildren()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: boolean isRoot()>();
if v != 0 goto label;
label:
virtualinvoke v.<org.apache.logging.log4j.core.config.Node: void setValue(java.lang.String)>(v);
label:
return;
}
private java.lang.String getType(org.w3c.dom.Element)
{
org.w3c.dom.Element v;
org.w3c.dom.Node v;
int v, v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
org.w3c.dom.NamedNodeMap v;
java.lang.String v, v, v, v;
boolean v, v, v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v := @parameter: org.w3c.dom.Element;
v = v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: boolean strict>;
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NamedNodeMap getAttributes()>();
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NamedNodeMap: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NamedNodeMap: org.w3c.dom.Node item(int)>(v);
v = v instanceof org.w3c.dom.Attr;
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("type");
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getValue()>();
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getName()>();
interfaceinvoke v.<org.w3c.dom.NamedNodeMap: org.w3c.dom.Node removeNamedItem(java.lang.String)>(v);
return v;
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getTagName()>();
return v;
}
private java.util.Map processAttributes(org.apache.logging.log4j.core.config.Node, org.w3c.dom.Element)
{
org.apache.logging.log4j.core.config.Node v;
org.w3c.dom.Element v;
java.util.Map v;
org.w3c.dom.Node v;
int v, v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
org.w3c.dom.NamedNodeMap v;
java.lang.String v, v, v;
boolean v, v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v := @parameter: org.apache.logging.log4j.core.config.Node;
v := @parameter: org.w3c.dom.Element;
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NamedNodeMap getAttributes()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.Node: java.util.Map getAttributes()>();
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NamedNodeMap: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NamedNodeMap: org.w3c.dom.Node item(int)>(v);
v = v instanceof org.w3c.dom.Attr;
if v == 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("xml:base");
if v != 0 goto label;
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getName()>();
v = interfaceinvoke v.<org.w3c.dom.Attr: java.lang.String getValue()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
return v;
}
public java.lang.String toString()
{
java.lang.Class v;
org.apache.logging.log4j.core.config.xml.XmlConfiguration v;
java.lang.String v, v;
org.apache.logging.log4j.core.config.ConfigurationSource v;
v := @this: org.apache.logging.log4j.core.config.xml.XmlConfiguration;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.config.xml.XmlConfiguration: org.apache.logging.log4j.core.config.ConfigurationSource getConfigurationSource()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,org.apache.logging.log4j.core.config.ConfigurationSource)>(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[])>("\u[location=\u]");
return v;
}
}