public class org.apache.shiro.realm.text.TextConfigurationRealm extends org.apache.shiro.realm.SimpleAccountRealm
{
private volatile java.lang.String userDefinitions;
private volatile java.lang.String roleDefinitions;
public void <init>()
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
specialinvoke v.<org.apache.shiro.realm.SimpleAccountRealm: void <init>()>();
return;
}
protected void onInit()
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
specialinvoke v.<org.apache.shiro.realm.SimpleAccountRealm: void onInit()>();
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void processDefinitions()>();
return;
}
public java.lang.String getUserDefinitions()
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v = v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String userDefinitions>;
return v;
}
public void setUserDefinitions(java.lang.String)
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v := @parameter: java.lang.String;
v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String userDefinitions> = v;
return;
}
public java.lang.String getRoleDefinitions()
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v = v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String roleDefinitions>;
return v;
}
public void setRoleDefinitions(java.lang.String)
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v := @parameter: java.lang.String;
v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String roleDefinitions> = v;
return;
}
protected void processDefinitions()
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
org.apache.shiro.config.ConfigurationException v;
java.text.ParseException v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
label:
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void processRoleDefinitions()>();
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void processUserDefinitions()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.shiro.config.ConfigurationException;
specialinvoke v.<org.apache.shiro.config.ConfigurationException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to parse user and/or role definitions.", v);
throw v;
label:
return;
catch java.text.ParseException from label to label with label;
}
protected void processRoleDefinitions() throws java.text.ParseException
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.util.Map v;
java.util.Set v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String getRoleDefinitions()>();
if v != null goto label;
return;
label:
v = staticinvoke <org.apache.shiro.realm.text.TextConfigurationRealm: java.util.Set toLines(java.lang.String)>(v);
v = staticinvoke <org.apache.shiro.realm.text.TextConfigurationRealm: java.util.Map toMap(java.util.Collection)>(v);
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void processRoleDefinitions(java.util.Map)>(v);
return;
}
protected void processRoleDefinitions(java.util.Map)
{
java.util.Iterator v;
java.util.Set v, v;
org.apache.shiro.authz.SimpleRole v, v;
org.apache.shiro.realm.text.TextConfigurationRealm v;
org.apache.shiro.authz.permission.PermissionResolver v;
java.util.Map v;
java.lang.Object v, v;
boolean v, v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v := @parameter: java.util.Map;
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
return;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
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: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: org.apache.shiro.authz.SimpleRole getRole(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.shiro.authz.SimpleRole;
specialinvoke v.<org.apache.shiro.authz.SimpleRole: void <init>(java.lang.String)>(v);
v = v;
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void add(org.apache.shiro.authz.SimpleRole)>(v);
label:
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
v = staticinvoke <org.apache.shiro.util.PermissionUtils: java.util.Set resolveDelimitedPermissions(java.lang.String,org.apache.shiro.authz.permission.PermissionResolver)>(v, v);
virtualinvoke v.<org.apache.shiro.authz.SimpleRole: void setPermissions(java.util.Set)>(v);
goto label;
label:
return;
}
protected void processUserDefinitions() throws java.text.ParseException
{
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.util.Map v;
java.util.Set v;
java.lang.String v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String getUserDefinitions()>();
if v != null goto label;
return;
label:
v = staticinvoke <org.apache.shiro.realm.text.TextConfigurationRealm: java.util.Set toLines(java.lang.String)>(v);
v = staticinvoke <org.apache.shiro.realm.text.TextConfigurationRealm: java.util.Map toMap(java.util.Collection)>(v);
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void processUserDefinitions(java.util.Map)>(v);
return;
}
protected void processUserDefinitions(java.util.Map)
{
java.lang.String[] v;
org.apache.shiro.realm.text.TextConfigurationRealm v;
java.util.Map v;
int v, v, v;
java.lang.String v, v, v;
boolean v, v;
java.util.Iterator v;
java.util.Set v, v;
org.apache.shiro.authz.SimpleRole v;
org.apache.shiro.authc.SimpleAccount v, v;
java.lang.Object v, v;
v := @this: org.apache.shiro.realm.text.TextConfigurationRealm;
v := @parameter: java.util.Map;
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
return;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
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: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] split(java.lang.String)>(v);
v = v[0];
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: org.apache.shiro.authc.SimpleAccount getUser(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.shiro.authc.SimpleAccount;
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: java.lang.String getName()>();
specialinvoke v.<org.apache.shiro.authc.SimpleAccount: void <init>(java.lang.Object,java.lang.Object,java.lang.String)>(v, v, v);
v = v;
virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: void add(org.apache.shiro.authc.SimpleAccount)>(v);
label:
virtualinvoke v.<org.apache.shiro.authc.SimpleAccount: void setCredentials(java.lang.Object)>(v);
v = lengthof v;
if v <= 1 goto label;
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
virtualinvoke v.<org.apache.shiro.authc.SimpleAccount: void addRole(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.text.TextConfigurationRealm: org.apache.shiro.authz.SimpleRole getRole(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.shiro.authz.SimpleRole: java.util.Set getPermissions()>();
virtualinvoke v.<org.apache.shiro.authc.SimpleAccount: void addObjectPermissions(java.util.Collection)>(v);
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<org.apache.shiro.authc.SimpleAccount: void setRoles(java.util.Set)>(null);
goto label;
label:
return;
}
protected static java.util.Set toLines(java.lang.String)
{
java.util.Scanner v;
java.lang.String v, v;
java.util.LinkedHashSet v;
boolean v;
v := @parameter: java.lang.String;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v = new java.util.Scanner;
specialinvoke v.<java.util.Scanner: void <init>(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.util.Scanner: boolean hasNextLine()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Scanner: java.lang.String nextLine()>();
virtualinvoke v.<java.util.LinkedHashSet: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
protected static java.util.Map toMap(java.util.Collection) throws java.text.ParseException
{
java.util.Iterator v;
java.util.Collection v;
java.lang.String[] v;
java.util.HashMap v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, 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:
return null;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
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 = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String[] splitKeyValue(java.lang.String)>(v);
if v == null goto label;
v = v[0];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = v[1];
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
}