public class org.apache.shiro.config.ReflectionBuilder extends java.lang.Object
{
private static final org.slf4j.Logger log;
private static final java.lang.String OBJECT_REFERENCE_BEGIN_TOKEN;
private static final java.lang.String ESCAPED_OBJECT_REFERENCE_BEGIN_TOKEN;
private static final java.lang.String GLOBAL_PROPERTY_PREFIX;
private static final char MAP_KEY_VALUE_DELIMITER;
private static final java.lang.String HEX_BEGIN_TOKEN;
private static final java.lang.String NULL_VALUE_TOKEN;
private static final java.lang.String EMPTY_STRING_VALUE_TOKEN;
private static final char STRING_VALUE_DELIMETER;
private static final char MAP_PROPERTY_BEGIN_TOKEN;
private static final char MAP_PROPERTY_END_TOKEN;
private static final java.lang.String EVENT_BUS_NAME;
private final java.util.Map objects;
private org.apache.shiro.config.Interpolator interpolator;
private org.apache.shiro.event.EventBus eventBus;
private final java.util.Map registeredEventSubscribers;
private final org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean;
private java.util.Map createDefaultObjectMap()
{
java.util.LinkedHashMap v;
org.apache.shiro.event.support.DefaultEventBus v;
org.apache.shiro.config.ReflectionBuilder v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v = new org.apache.shiro.event.support.DefaultEventBus;
specialinvoke v.<org.apache.shiro.event.support.DefaultEventBus: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("eventBus", v);
return v;
}
public void <init>()
{
org.apache.shiro.config.ReflectionBuilder v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void <init>(java.util.Map)>(null);
return;
}
public void <init>(java.util.Map)
{
org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector v;
org.apache.shiro.config.Interpolator v;
org.apache.shiro.config.ReflectionBuilder$1 v;
org.apache.shiro.config.ReflectionBuilder v;
org.apache.commons.beanutils.BeanUtilsBean v, v;
java.util.LinkedHashMap v;
java.util.Map v, v;
org.apache.commons.beanutils.PropertyUtilsBean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.apache.commons.beanutils.BeanUtilsBean;
v = new org.apache.shiro.config.ReflectionBuilder$1;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder$1: void <init>(org.apache.shiro.config.ReflectionBuilder)>(v);
specialinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: void <init>(org.apache.commons.beanutils.ConvertUtilsBean)>(v);
v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean> = v;
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
v = <org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector: org.apache.commons.beanutils.SuppressPropertiesBeanIntrospector SUPPRESS_CLASS>;
virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: void addBeanIntrospector(org.apache.commons.beanutils.BeanIntrospector)>(v);
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.config.Interpolator createInterpolator()>();
v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.config.Interpolator interpolator> = v;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map createDefaultObjectMap()>();
v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map registeredEventSubscribers> = v;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void apply(java.util.Map)>(v);
return;
}
private void apply(java.util.Map)
{
org.apache.shiro.config.ReflectionBuilder v;
java.util.Map v, v, v;
java.lang.Class v;
java.lang.String v, v;
org.apache.shiro.event.EventBus v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v = staticinvoke <org.apache.shiro.config.ReflectionBuilder: boolean isEmpty(java.util.Map)>(v);
if v != 0 goto label;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus findEventBus(java.util.Map)>(v);
v = class "Lorg/apache/shiro/event/EventBus;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("An \u instance must be present in the object defaults");
staticinvoke <org.apache.shiro.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, v);
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void enableEvents(org.apache.shiro.event.EventBus)>(v);
return;
}
public java.util.Map getObjects()
{
org.apache.shiro.config.ReflectionBuilder v;
java.util.Map v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
return v;
}
public void setObjects(java.util.Map)
{
java.util.Map v, v, v, v;
org.apache.shiro.config.ReflectionBuilder v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map createDefaultObjectMap()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void apply(java.util.Map)>(v);
return;
}
private void enableEvents(org.apache.shiro.event.EventBus)
{
org.apache.shiro.config.ReflectionBuilder v;
java.util.Map v, v, v;
org.apache.shiro.event.EventBus v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Collection v;
java.util.Set v;
java.lang.Object v, v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: org.apache.shiro.event.EventBus;
staticinvoke <org.apache.shiro.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "EventBus argument cannot be null.");
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map registeredEventSubscribers>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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 = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
interfaceinvoke v.<org.apache.shiro.event.EventBus: void unregister(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map registeredEventSubscribers>;
interfaceinvoke v.<java.util.Map: void clear()>();
v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus> = v;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
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 getValue()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void enableEventsIfNecessary(java.lang.Object,java.lang.String)>(v, v);
goto label;
label:
return;
}
private void enableEventsIfNecessary(java.lang.Object, java.lang.String)
{
java.util.Map v;
java.lang.Object v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
org.apache.shiro.event.EventBus v;
boolean v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean applyEventBusIfNecessary(java.lang.Object)>(v);
if v != 0 goto label;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isEventSubscriber(java.lang.Object,java.lang.String)>(v, v);
if v == 0 goto label;
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
interfaceinvoke v.<org.apache.shiro.event.EventBus: void register(java.lang.Object)>(v);
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map registeredEventSubscribers>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
private boolean isEventSubscriber(java.lang.Object, java.lang.String)
{
java.util.List v;
java.lang.Class v;
java.lang.Object v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.shiro.util.ClassUtils: java.util.List getAnnotatedMethods(java.lang.Class,java.lang.Class)>(v, class "Lorg/apache/shiro/event/Subscribe;");
v = staticinvoke <org.apache.shiro.config.ReflectionBuilder: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected org.apache.shiro.event.EventBus findEventBus(java.util.Map)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.config.ReflectionBuilder v;
java.util.Map v;
java.lang.Object v, v;
boolean v, v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v = staticinvoke <org.apache.shiro.config.ReflectionBuilder: boolean isEmpty(java.util.Map)>(v);
if v == 0 goto label;
return null;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("eventBus");
if v == null goto label;
v = v instanceof org.apache.shiro.event.EventBus;
if v == 0 goto label;
return v;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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 = v instanceof org.apache.shiro.event.EventBus;
if v == 0 goto label;
return v;
label:
return null;
}
private boolean applyEventBusIfNecessary(java.lang.Object)
{
java.lang.Object v;
org.apache.shiro.config.ReflectionBuilder v;
org.apache.shiro.event.EventBus v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v = v instanceof org.apache.shiro.event.EventBusAware;
if v == 0 goto label;
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
interfaceinvoke v.<org.apache.shiro.event.EventBusAware: void setEventBus(org.apache.shiro.event.EventBus)>(v);
return 1;
label:
return 0;
}
public java.lang.Object getBean(java.lang.String)
{
java.util.Map v;
java.lang.Object v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public java.lang.Object getBean(java.lang.String, java.lang.Class)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.NullPointerException v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("requiredType argument cannot be null.");
throw v;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object getBean(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("Bean with id [\u] is not of the required type [\u].");
staticinvoke <org.apache.shiro.util.Assert: void state(boolean,java.lang.String)>(v, v);
return v;
}
private java.lang.String parseBeanId(java.lang.String)
{
int v, v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
staticinvoke <org.apache.shiro.util.Assert: void notNull(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
if v >= 0 goto label;
return v;
label:
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(".class");
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
return v;
label:
return null;
}
public java.util.Map buildObjects(java.util.Map)
{
org.apache.shiro.config.ReflectionBuilder$InstantiationStatement v;
org.apache.shiro.config.Interpolator v;
org.apache.shiro.config.ReflectionBuilder v;
java.util.Map v, v, v;
org.apache.shiro.config.ReflectionBuilder$AssignmentStatement v;
java.lang.String v, v;
boolean v, v;
java.util.Iterator v;
java.util.Collection v;
java.util.Set v;
org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor v;
java.lang.Object v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor: void <init>(org.apache.shiro.config.ReflectionBuilder)>(v);
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 = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.config.Interpolator interpolator>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<org.apache.shiro.config.Interpolator: java.lang.String interpolate(java.lang.String)>(v);
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.String parseBeanId(java.lang.String)>(v);
if v == null goto label;
v = new org.apache.shiro.config.ReflectionBuilder$InstantiationStatement;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder$InstantiationStatement: void <init>(org.apache.shiro.config.ReflectionBuilder,java.lang.String,java.lang.String)>(v, v, v);
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor: void add(org.apache.shiro.config.ReflectionBuilder$Statement)>(v);
goto label;
label:
v = new org.apache.shiro.config.ReflectionBuilder$AssignmentStatement;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder$AssignmentStatement: void <init>(org.apache.shiro.config.ReflectionBuilder,java.lang.String,java.lang.String)>(v, v, v);
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor: void add(org.apache.shiro.config.ReflectionBuilder$Statement)>(v);
goto label;
label:
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor: void execute()>();
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
staticinvoke <org.apache.shiro.util.LifecycleUtils: void init(java.util.Collection)>(v);
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
return v;
}
public void destroy()
{
org.apache.shiro.config.ReflectionBuilder v;
java.util.ArrayList v;
java.util.Map v, v, v;
org.apache.shiro.event.EventBus v, v, v, v;
boolean v;
java.util.Iterator v;
org.apache.shiro.config.event.DestroyedBeanEvent v;
java.util.Set v;
java.lang.Object v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
v = new java.util.ArrayList;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void reverse(java.util.List)>(v);
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
if v == v goto label;
staticinvoke <org.apache.shiro.util.LifecycleUtils: void destroy(java.lang.Object)>(v);
v = new org.apache.shiro.config.event.DestroyedBeanEvent;
specialinvoke v.<org.apache.shiro.config.event.DestroyedBeanEvent: void <init>(java.lang.String,java.lang.Object,java.util.Map)>(v, v, v);
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
interfaceinvoke v.<org.apache.shiro.event.EventBus: void publish(java.lang.Object)>(v);
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
interfaceinvoke v.<org.apache.shiro.event.EventBus: void unregister(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.event.EventBus eventBus>;
staticinvoke <org.apache.shiro.util.LifecycleUtils: void destroy(java.lang.Object)>(v);
return;
}
protected void createNewInstance(java.util.Map, java.lang.String, java.lang.String)
{
org.slf4j.Logger v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.Exception v;
org.apache.shiro.config.ConfigurationException v;
java.util.Map v;
java.lang.Object v, v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.shiro.config.ReflectionBuilder: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("An instance with name \'{}\' already exists.  Redefining this object as a new instance of type {}", v, v);
label:
v = staticinvoke <org.apache.shiro.util.ClassUtils: java.lang.Object newInstance(java.lang.String)>(v);
v = v instanceof org.apache.shiro.util.Nameable;
if v == 0 goto label;
interfaceinvoke v.<org.apache.shiro.util.Nameable: void setName(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Unable to instantiate class [\u] for object named \'\u0001\'.  Please ensure you\'ve specified the fully qualified class name correctly.");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
catch java.lang.Exception from label to label with label;
}
protected void applyProperty(java.lang.String, java.lang.String, java.util.Map)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.IllegalArgumentException v;
java.util.Map v;
int v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(46);
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = "shiro";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applyGlobalProperty(java.util.Map,java.lang.String,java.lang.String)>(v, v, v);
goto label;
label:
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applySingleProperty(java.util.Map,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("All property keys must contain a \'.\' character. (e.g. myBean.property = value)  These should already be separated out by buildObjects().");
throw v;
label:
return;
}
protected void applyGlobalProperty(java.util.Map, java.lang.String, java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.shiro.config.ConfigurationException v;
java.util.Map v;
java.lang.String v, v, v, v;
boolean v;
java.util.Iterator v;
java.util.Collection v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
java.beans.PropertyDescriptor v;
org.apache.commons.beanutils.PropertyUtilsBean v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
v = virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Object,java.lang.String)>(v, v);
if v == null goto label;
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applyProperty(java.lang.Object,java.lang.String,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("Error retrieving property descriptor for instance of type [\u] while setting property [\u]");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
protected void applySingleProperty(java.util.Map, java.lang.String, java.lang.String, java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.IllegalArgumentException v, v;
java.util.Map v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("class");
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Property keys should not contain \'class\' properties since these should already be separated out by buildObjects().");
throw v;
label:
if v != null goto label;
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[])>("Configuration error.  Specified object [\u] with property [\u] without first defining that object\'s class.  Please first specify the class property first, e.g. myObject = fully_qualified_class_name and then define additional properties.");
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applyProperty(java.lang.Object,java.lang.String,java.lang.String)>(v, v, v);
return;
}
protected boolean isReference(java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("$");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected java.lang.String getId(java.lang.String)
{
int v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = "$";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
return v;
}
protected java.lang.Object getReferencedObject(java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.shiro.config.UnresolveableReferenceException v;
java.util.Map v, v, v;
java.lang.Object v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
if v == null goto label;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map objects>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
goto label;
label:
v = null;
label:
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[])>("The object with id [\u] has not yet been defined and therefore cannot be referenced.  Please ensure objects are defined in the order in which they should be created and made available for future reference.");
v = new org.apache.shiro.config.UnresolveableReferenceException;
specialinvoke v.<org.apache.shiro.config.UnresolveableReferenceException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
protected java.lang.String unescapeIfNecessary(java.lang.String)
{
int v, v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("\\$");
if v == 0 goto label;
v = "\\$";
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
return v;
label:
return v;
}
protected java.lang.Object resolveReference(java.lang.String)
{
org.slf4j.Logger v;
java.lang.Object v, v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.String getId(java.lang.String)>(v);
v = <org.apache.shiro.config.ReflectionBuilder: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Encountered object reference \'{}\'.  Looking up object with id \'{}\'", v, v);
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object getReferencedObject(java.lang.String)>(v);
v = v instanceof org.apache.shiro.util.Factory;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.shiro.util.Factory: java.lang.Object getInstance()>();
return v;
label:
return v;
}
protected boolean isTypedProperty(java.lang.Object, java.lang.String, java.lang.Class)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.NullPointerException v;
org.apache.shiro.config.ConfigurationException v, v, v;
java.lang.String v, v, v, v, v;
boolean v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
java.beans.PropertyDescriptor v;
org.apache.commons.beanutils.PropertyUtilsBean v;
java.lang.Class v, v, v;
java.lang.Object v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("type (class) argument cannot be null.");
throw v;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
v = virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Object,java.lang.String)>(v, v);
if v != null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("Property \'\u0001\' does not exist for object of type \u.");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.beans.PropertyDescriptor: java.lang.Class getPropertyType()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
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[])>("Unable to determine if property [\u] represents a \u0001");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch org.apache.shiro.config.ConfigurationException from label to label with label;
catch java.lang.Exception from label to label with label;
}
protected java.util.Set toSet(java.lang.String)
{
java.lang.String[] v;
org.apache.shiro.config.ReflectionBuilder v;
int v, v, v;
java.lang.String v, v, v;
java.util.LinkedHashSet v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.List v;
java.lang.Object v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String)>(v);
if v == null goto label;
v = lengthof v;
if v > 0 goto label;
label:
return null;
label:
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isReference(java.lang.String)>(v);
if v == 0 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveReference(java.lang.String)>(v);
v = v instanceof java.util.Set;
if v == 0 goto label;
return v;
label:
v = new java.util.LinkedHashSet;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
v = new java.util.LinkedHashSet;
v = interfaceinvoke v.<java.util.Set: int size()>();
specialinvoke v.<java.util.LinkedHashSet: void <init>(int)>(v);
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 = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
protected java.util.Map toMap(java.lang.String)
{
java.lang.String[] v, v;
org.apache.shiro.config.ReflectionBuilder v;
java.util.LinkedHashMap v, v;
org.apache.shiro.config.ConfigurationException v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.Set v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String,char,char,char,boolean,boolean)>(v, 44, 34, 34, 1, 1);
if v == null goto label;
v = lengthof v;
if v > 0 goto label;
label:
return null;
label:
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isReference(java.lang.String)>(v);
if v == 0 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveReference(java.lang.String)>(v);
v = v instanceof java.util.Map;
if v == 0 goto label;
return v;
label:
v = new java.util.LinkedHashMap;
v = lengthof v;
specialinvoke v.<java.util.LinkedHashMap: void <init>(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String,char)>(v, 58);
if v == null goto label;
v = lengthof v;
if v == 2 goto label;
label:
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[])>("Map property value [\u] contained key-value pair token [\u] that does not properly split to a single key and pair.  This must be the case for all map entries.");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v[0];
v = v[1];
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = new java.util.LinkedHashMap;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.LinkedHashMap: void <init>(int)>(v);
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.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
protected java.util.Collection toCollection(java.lang.String)
{
java.lang.String[] v;
org.apache.shiro.config.ReflectionBuilder v;
java.util.ArrayList v;
int v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v;
java.lang.Object v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String)>(v);
if v == null goto label;
v = lengthof v;
if v > 0 goto label;
label:
return null;
label:
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isReference(java.lang.String)>(v);
if v == 0 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveReference(java.lang.String)>(v);
v = v instanceof java.util.Collection;
if v == 0 goto label;
return v;
label:
v = new java.util.ArrayList;
v = lengthof v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
}
protected java.util.List toList(java.lang.String)
{
java.lang.String[] v;
org.apache.shiro.config.ReflectionBuilder v;
java.util.ArrayList v;
int v, v, v, v, v;
java.lang.String v, v, v, v;
boolean v, v;
java.lang.Object v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String)>(v);
if v == null goto label;
v = lengthof v;
if v > 0 goto label;
label:
return null;
label:
v = lengthof v;
if v != 1 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isReference(java.lang.String)>(v);
if v == 0 goto label;
v = v[0];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveReference(java.lang.String)>(v);
v = v instanceof java.util.List;
if v == 0 goto label;
return v;
label:
v = new java.util.ArrayList;
v = lengthof v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
}
protected byte[] toBytes(java.lang.String)
{
byte[] v;
int v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("0x");
if v == 0 goto label;
v = "0x";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <org.apache.shiro.codec.Hex: byte[] decode(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <org.apache.shiro.codec.Base64: byte[] decode(java.lang.String)>(v);
label:
return v;
}
protected java.lang.Object resolveValue(java.lang.String)
{
java.lang.Object v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isReference(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveReference(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.String unescapeIfNecessary(java.lang.String)>(v);
label:
return v;
}
protected java.lang.String checkForNullOrEmptyLiteral(java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("\"null\"");
if v == 0 goto label;
return "null";
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("\"\"\"\"");
if v == 0 goto label;
return "\"\"";
label:
return v;
}
protected void applyProperty(java.lang.Object, java.lang.String, java.lang.Object)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.Integer v, v;
org.apache.shiro.config.ConfigurationException v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(91);
v = null;
v = null;
v = null;
if v < 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(93, v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + 1;
if v <= v goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(".");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(1);
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String clean(java.lang.String)>(v);
label:
if v != null goto label;
if v != null goto label;
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void setProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/Map;");
if v == 0 goto label;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object getProperty(java.lang.Object,java.lang.String)>(v, v);
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: void setIndexedProperty(java.lang.Object,java.lang.String,int,java.lang.Object)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/Map;");
if v == 0 goto label;
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object getProperty(java.lang.Object,java.lang.String)>(v, v);
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = specialinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object getIndexedProperty(java.lang.Object,java.lang.String,int)>(v, v, v);
label:
if v != null goto label;
v = new org.apache.shiro.config.ConfigurationException;
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[])>("Referenced map/array value \'\u[\u]\' does not exist.");
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applyProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
label:
return;
}
private void setProperty(java.lang.Object, java.lang.String, java.lang.Object)
{
java.lang.Object[] v;
org.apache.shiro.config.ReflectionBuilder v;
org.apache.shiro.config.ConfigurationException v;
java.lang.String v, v, v, v;
boolean v;
org.slf4j.Logger v, v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object;
label:
v = <org.apache.shiro.config.ReflectionBuilder: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.config.ReflectionBuilder: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Applying property [{}] value [{}] on object of type [{}]", v);
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: void setProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
goto label;
label:
v = null;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Object,java.lang.String,java.lang.Object,java.lang.Object)>(v, v, v, 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[])>("Unable to set property \'\u0001\' with value [\u] on object of type \u.  If \'\u0001\' is a reference to another (previously defined) object, prefix it with \'$\' to indicate that the referenced object should be used as the actual value.  For example, $\u0001");
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
private java.lang.Object getProperty(java.lang.Object, java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
org.apache.shiro.config.ConfigurationException v;
org.apache.commons.beanutils.PropertyUtilsBean v;
java.lang.Object v, v;
java.lang.String v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
v = virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: java.lang.Object getProperty(java.lang.Object,java.lang.String)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.shiro.config.ConfigurationException;
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[])>("Unable to access property \'\u0001\'");
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
private void setIndexedProperty(java.lang.Object, java.lang.String, int, java.lang.Object)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
org.apache.shiro.config.ConfigurationException v;
org.apache.commons.beanutils.PropertyUtilsBean v;
int v;
java.lang.Object v, v;
java.lang.String v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.Object;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: void setIndexedProperty(java.lang.Object,java.lang.String,int,java.lang.Object)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.shiro.config.ConfigurationException;
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[])>("Unable to set array property \'\u0001\'");
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
private java.lang.Object getIndexedProperty(java.lang.Object, java.lang.String, int)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.commons.beanutils.BeanUtilsBean v;
java.lang.Exception v;
org.apache.shiro.config.ConfigurationException v;
org.apache.commons.beanutils.PropertyUtilsBean v;
int v;
java.lang.Object v, v;
java.lang.String v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: int;
label:
v = v.<org.apache.shiro.config.ReflectionBuilder: org.apache.commons.beanutils.BeanUtilsBean beanUtilsBean>;
v = virtualinvoke v.<org.apache.commons.beanutils.BeanUtilsBean: org.apache.commons.beanutils.PropertyUtilsBean getPropertyUtils()>();
v = virtualinvoke v.<org.apache.commons.beanutils.PropertyUtilsBean: java.lang.Object getIndexedProperty(java.lang.Object,java.lang.String,int)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = new org.apache.shiro.config.ConfigurationException;
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[])>("Unable to acquire array property \'\u0001\'");
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.Exception from label to label with label;
}
protected boolean isIndexedPropertyAssignment(java.lang.String)
{
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("]");
return v;
}
protected void applyProperty(java.lang.Object, java.lang.String, java.lang.String)
{
byte[] v;
org.apache.shiro.config.ReflectionBuilder v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: java.lang.Object;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = "null";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = null;
goto label;
label:
v = "\"\"";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = "";
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isIndexedPropertyAssignment(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.String checkForNullOrEmptyLiteral(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/Set;");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.Set toSet(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/Map;");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.Map toMap(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/List;");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.List toList(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Ljava/util/Collection;");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.util.Collection toCollection(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "[B");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: byte[] toBytes(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: boolean isTypedProperty(java.lang.Object,java.lang.String,java.lang.Class)>(v, v, class "Lorg/apache/shiro/util/ByteSource;");
if v == 0 goto label;
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: byte[] toBytes(java.lang.String)>(v);
v = staticinvoke <org.apache.shiro.util.ByteSource$Util: org.apache.shiro.util.ByteSource bytes(byte[])>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.String checkForNullOrEmptyLiteral(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: java.lang.Object resolveValue(java.lang.String)>(v);
label:
virtualinvoke v.<org.apache.shiro.config.ReflectionBuilder: void applyProperty(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
return;
}
private org.apache.shiro.config.Interpolator createInterpolator()
{
org.apache.shiro.config.DefaultInterpolator v;
org.apache.shiro.config.CommonsInterpolator v;
org.apache.shiro.config.ReflectionBuilder v;
boolean v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v = staticinvoke <org.apache.shiro.util.ClassUtils: boolean isAvailable(java.lang.String)>("org.apache.commons.configuration.interpol.ConfigurationInterpolator");
if v == 0 goto label;
v = new org.apache.shiro.config.CommonsInterpolator;
specialinvoke v.<org.apache.shiro.config.CommonsInterpolator: void <init>()>();
return v;
label:
v = new org.apache.shiro.config.DefaultInterpolator;
specialinvoke v.<org.apache.shiro.config.DefaultInterpolator: void <init>()>();
return v;
}
public void setInterpolator(org.apache.shiro.config.Interpolator)
{
org.apache.shiro.config.ReflectionBuilder v;
org.apache.shiro.config.Interpolator v;
v := @this: org.apache.shiro.config.ReflectionBuilder;
v := @parameter: org.apache.shiro.config.Interpolator;
v.<org.apache.shiro.config.ReflectionBuilder: org.apache.shiro.config.Interpolator interpolator> = v;
return;
}
private static boolean isEmpty(java.util.Map)
{
boolean v, v;
java.util.Map v;
v := @parameter: java.util.Map;
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private static boolean isEmpty(java.util.Collection)
{
boolean v, v;
java.util.Collection v;
v := @parameter: java.util.Collection;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/config/ReflectionBuilder;");
<org.apache.shiro.config.ReflectionBuilder: org.slf4j.Logger log> = v;
return;
}
}