public class org.springframework.context.support.ReloadableResourceBundleMessageSource extends org.springframework.context.support.AbstractResourceBasedMessageSource implements org.springframework.context.ResourceLoaderAware
{
private static final java.lang.String PROPERTIES_SUFFIX;
private static final java.lang.String XML_SUFFIX;
private java.util.Properties fileEncodings;
private boolean concurrentRefresh;
private org.springframework.util.PropertiesPersister propertiesPersister;
private org.springframework.core.io.ResourceLoader resourceLoader;
private final java.util.concurrent.ConcurrentMap cachedFilenames;
private final java.util.concurrent.ConcurrentMap cachedProperties;
private final java.util.concurrent.ConcurrentMap cachedMergedProperties;
public void <init>()
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
org.springframework.core.io.DefaultResourceLoader v;
java.util.concurrent.ConcurrentHashMap v, v, v;
org.springframework.util.DefaultPropertiesPersister v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
specialinvoke v.<org.springframework.context.support.AbstractResourceBasedMessageSource: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: boolean concurrentRefresh> = 1;
v = new org.springframework.util.DefaultPropertiesPersister;
specialinvoke v.<org.springframework.util.DefaultPropertiesPersister: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.util.PropertiesPersister propertiesPersister> = v;
v = new org.springframework.core.io.DefaultResourceLoader;
specialinvoke v.<org.springframework.core.io.DefaultResourceLoader: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.core.io.ResourceLoader resourceLoader> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedFilenames> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedMergedProperties> = v;
return;
}
public void setFileEncodings(java.util.Properties)
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.util.Properties v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.util.Properties;
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties fileEncodings> = v;
return;
}
public void setConcurrentRefresh(boolean)
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
boolean v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: boolean;
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: boolean concurrentRefresh> = v;
return;
}
public void setPropertiesPersister(org.springframework.util.PropertiesPersister)
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
org.springframework.util.PropertiesPersister v, v;
org.springframework.util.DefaultPropertiesPersister v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: org.springframework.util.PropertiesPersister;
if v == null goto label;
v = v;
goto label;
label:
v = new org.springframework.util.DefaultPropertiesPersister;
v = v;
specialinvoke v.<org.springframework.util.DefaultPropertiesPersister: void <init>()>();
label:
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.util.PropertiesPersister propertiesPersister> = v;
return;
}
public void setResourceLoader(org.springframework.core.io.ResourceLoader)
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
org.springframework.core.io.ResourceLoader v, v;
org.springframework.core.io.DefaultResourceLoader v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: org.springframework.core.io.ResourceLoader;
if v == null goto label;
v = v;
goto label;
label:
v = new org.springframework.core.io.DefaultResourceLoader;
v = v;
specialinvoke v.<org.springframework.core.io.DefaultResourceLoader: void <init>()>();
label:
v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.core.io.ResourceLoader resourceLoader> = v;
return;
}
protected java.lang.String resolveCodeWithoutArguments(java.lang.String, java.util.Locale)
{
long v;
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
byte v;
java.util.Locale v;
java.lang.String v, v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v := @parameter: java.util.Locale;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: long getCacheMillis()>();
v = v cmp 0L;
if v >= 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getMergedProperties(java.util.Locale)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.lang.String getProperty(java.lang.String)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Set getBasenameSet()>();
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.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.List calculateAllFilenames(java.lang.String,java.util.Locale)>(v, 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 = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.lang.String getProperty(java.lang.String)>(v);
if v == null goto label;
return v;
label:
return null;
}
protected java.text.MessageFormat resolveCode(java.lang.String, java.util.Locale)
{
long v;
java.text.MessageFormat v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
byte v;
java.util.Locale v;
java.lang.String v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v;
java.util.List v;
java.lang.Object v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v := @parameter: java.util.Locale;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: long getCacheMillis()>();
v = v cmp 0L;
if v >= 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getMergedProperties(java.util.Locale)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.text.MessageFormat getMessageFormat(java.lang.String,java.util.Locale)>(v, v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Set getBasenameSet()>();
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.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.List calculateAllFilenames(java.lang.String,java.util.Locale)>(v, 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 = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.text.MessageFormat getMessageFormat(java.lang.String,java.util.Locale)>(v, v);
if v == null goto label;
return v;
label:
return null;
}
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getMergedProperties(java.util.Locale)
{
java.lang.String[] v;
long v, v;
java.util.concurrent.ConcurrentMap v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder v, v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
byte v;
java.util.Locale v;
int v, v, v, v;
java.lang.String v;
java.util.Properties v, v, v;
java.util.Set v;
java.util.List v;
java.lang.Object v, v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.util.Locale;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedMergedProperties>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties newProperties()>();
v = -1L;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Set getBasenameSet()>();
v = staticinvoke <org.springframework.util.StringUtils: java.lang.String[] toStringArray(java.util.Collection)>(v);
v = lengthof v;
v = v - 1;
label:
if v < 0 goto label;
v = v[v];
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.List calculateAllFilenames(java.lang.String,java.util.Locale)>(v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
label:
if v < 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.Properties getProperties()>();
if v == null goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.Properties getProperties()>();
virtualinvoke v.<java.util.Properties: void putAll(java.util.Map)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getFileTimestamp()>();
v = v cmp v;
if v <= 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getFileTimestamp()>();
label:
v = v - 1;
goto label;
label:
v = v - 1;
goto label;
label:
v = new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
specialinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void <init>(org.springframework.context.support.ReloadableResourceBundleMessageSource,java.util.Properties,long)>(v, v, v);
v = v;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedMergedProperties>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = v;
label:
return v;
}
protected java.util.List calculateAllFilenames(java.lang.String, java.util.Locale)
{
java.util.ArrayList v;
java.util.concurrent.ConcurrentMap v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.util.Locale v, v;
java.lang.String v;
boolean v, v, v, v;
java.util.Iterator v;
java.util.concurrent.ConcurrentHashMap v;
java.util.List v, v;
java.lang.Object v, v, v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v := @parameter: java.util.Locale;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedFilenames>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(7);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.List calculateFilenamesForLocale(java.lang.String,java.util.Locale)>(v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: boolean isFallbackToSystemLocale()>();
if v == 0 goto label;
v = staticinvoke <java.util.Locale: java.util.Locale getDefault()>();
v = virtualinvoke v.<java.util.Locale: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.List calculateFilenamesForLocale(java.lang.String,java.util.Locale)>(v, 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.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
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);
if v != null goto label;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v = v;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedFilenames>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected java.util.List calculateFilenamesForLocale(java.lang.String, java.util.Locale)
{
java.util.ArrayList v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.util.Locale v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.lang.StringBuilder v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v := @parameter: java.util.Locale;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(3);
v = virtualinvoke v.<java.util.Locale: java.lang.String getLanguage()>();
v = virtualinvoke v.<java.util.Locale: java.lang.String getCountry()>();
v = virtualinvoke v.<java.util.Locale: java.lang.String getVariant()>();
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(95);
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(0, v);
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(95);
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(0, v);
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v > 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(95);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(0, v);
label:
return v;
}
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder getProperties(java.lang.String)
{
java.lang.Throwable v;
long v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v, v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
byte v, v, v, v;
java.lang.String v;
boolean v, v;
java.util.concurrent.locks.ReentrantLock v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = -2L;
if v == null goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getRefreshTimestamp()>();
v = v cmp -1L;
if v == 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: long getCacheMillis()>();
v = v - v;
v = v cmp v;
if v <= 0 goto label;
label:
return v;
label:
v = new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
specialinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void <init>(org.springframework.context.support.ReloadableResourceBundleMessageSource)>(v);
v = v;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = v;
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: boolean concurrentRefresh>;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getRefreshTimestamp()>();
v = v cmp 0L;
if v < 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.concurrent.locks.ReentrantLock refreshLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: boolean tryLock()>();
if v != 0 goto label;
return v;
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.concurrent.locks.ReentrantLock refreshLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getRefreshTimestamp()>();
v = v cmp v;
if v <= 0 goto label;
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.concurrent.locks.ReentrantLock refreshLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
return v;
label:
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder refreshProperties(java.lang.String,org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder)>(v, v);
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.concurrent.locks.ReentrantLock refreshLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: java.util.concurrent.locks.ReentrantLock refreshLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
protected org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder refreshProperties(java.lang.String, org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder)
{
byte v, v, v;
boolean v, v, v, v, v, v;
org.springframework.core.io.Resource v;
org.springframework.core.io.ResourceLoader v, v;
long v, v, v, v, v, v;
java.util.concurrent.ConcurrentMap v;
org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder v, v, v, v, v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.Properties v;
java.io.IOException v, v;
org.apache.commons.logging.Log v, v, v, v, v, v, v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: java.lang.String;
v := @parameter: org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: long getCacheMillis()>();
v = v cmp 0L;
if v >= 0 goto label;
v = -1L;
goto label;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
label:
v = v;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.core.io.ResourceLoader resourceLoader>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.properties");
v = interfaceinvoke v.<org.springframework.core.io.ResourceLoader: org.springframework.core.io.Resource getResource(java.lang.String)>(v);
v = interfaceinvoke v.<org.springframework.core.io.Resource: boolean exists()>();
if v != 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.core.io.ResourceLoader resourceLoader>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.xml");
v = interfaceinvoke v.<org.springframework.core.io.ResourceLoader: org.springframework.core.io.Resource getResource(java.lang.String)>(v);
label:
v = interfaceinvoke v.<org.springframework.core.io.Resource: boolean exists()>();
if v == 0 goto label;
v = -1L;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: long getCacheMillis()>();
v = v cmp 0L;
if v < 0 goto label;
label:
v = interfaceinvoke v.<org.springframework.core.io.Resource: long lastModified()>();
if v == null goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: long getFileTimestamp()>();
v = v cmp v;
if v != 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
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[])>("Re-caching properties for filename [\u] - file hasn\'t been modified");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void setRefreshTimestamp(long)>(v);
label:
return v;
label:
v := @caughtexception;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.springframework.core.io.Resource)>(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 could not be resolved in the file system - assuming that it hasn\'t changed");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = -1L;
label:
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties loadProperties(org.springframework.core.io.Resource,java.lang.String)>(v, v);
v = new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
specialinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void <init>(org.springframework.context.support.ReloadableResourceBundleMessageSource,java.util.Properties,long)>(v, v, v);
v = v;
label:
goto label;
label:
v := @caughtexception;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isWarnEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getFilename()>();
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[])>("Could not parse properties file [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void warn(java.lang.Object,java.lang.Throwable)>(v, v);
label:
v = new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
specialinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void <init>(org.springframework.context.support.ReloadableResourceBundleMessageSource)>(v);
v = v;
goto label;
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
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[])>("No properties file found for [\u] - neither plain properties nor XML");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = new org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder;
specialinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void <init>(org.springframework.context.support.ReloadableResourceBundleMessageSource)>(v);
v = v;
label:
virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource$PropertiesHolder: void setRefreshTimestamp(long)>(v);
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
protected java.util.Properties loadProperties(org.springframework.core.io.Resource, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
org.springframework.core.io.Resource v;
java.util.Properties v, v, v;
java.io.InputStreamReader v;
org.springframework.util.PropertiesPersister v, v, v;
org.apache.commons.logging.Log v, v, v, v, v, v;
java.io.InputStream v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v := @parameter: org.springframework.core.io.Resource;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.io.InputStream getInputStream()>();
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties newProperties()>();
label:
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getFilename()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".xml");
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getFilename()>();
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[])>("Loading properties [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.util.PropertiesPersister propertiesPersister>;
interfaceinvoke v.<org.springframework.util.PropertiesPersister: void loadFromXml(java.util.Properties,java.io.InputStream)>(v, v);
goto label;
label:
v = null;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties fileEncodings>;
if v == null goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Properties fileEncodings>;
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>(v);
label:
if v != null goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.lang.String getDefaultEncoding()>();
label:
if v == null goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getFilename()>();
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[])>("Loading properties [\u] with encoding \'\u0001\'");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.util.PropertiesPersister propertiesPersister>;
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream,java.lang.String)>(v, v);
interfaceinvoke v.<org.springframework.util.PropertiesPersister: void load(java.util.Properties,java.io.Reader)>(v, v);
goto label;
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.springframework.core.io.Resource: java.lang.String getFilename()>();
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[])>("Loading properties [\u]");
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>(v);
label:
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.util.PropertiesPersister propertiesPersister>;
interfaceinvoke v.<org.springframework.util.PropertiesPersister: void load(java.util.Properties,java.io.InputStream)>(v, v);
label:
virtualinvoke v.<java.io.InputStream: void close()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.InputStream: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
protected java.util.Properties newProperties()
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.util.Properties v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
return v;
}
public void clearCache()
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
org.apache.commons.logging.Log v;
java.util.concurrent.ConcurrentMap v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void debug(java.lang.Object)>("Clearing entire resource bundle cache");
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedProperties>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
v = v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.concurrent.ConcurrentMap cachedMergedProperties>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: void clear()>();
return;
}
public void clearCacheIncludingAncestors()
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
boolean v;
org.springframework.context.MessageSource v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: void clearCache()>();
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.MessageSource getParentMessageSource()>();
v = v instanceof org.springframework.context.support.ReloadableResourceBundleMessageSource;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: org.springframework.context.MessageSource getParentMessageSource()>();
virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: void clearCacheIncludingAncestors()>();
label:
return;
}
public java.lang.String toString()
{
org.springframework.context.support.ReloadableResourceBundleMessageSource v;
java.util.Set v;
java.lang.Class v;
java.lang.String v, v;
v := @this: org.springframework.context.support.ReloadableResourceBundleMessageSource;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<org.springframework.context.support.ReloadableResourceBundleMessageSource: java.util.Set getBasenameSet()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.util.Set)>(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[])>("\u0001: basenames=\u0001");
return v;
}
}