public class org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider extends java.lang.Object implements org.apache.nifi.registry.security.authorization.UserGroupProvider
{
private static final org.slf4j.Logger logger;
public static final java.lang.String PROP_CONNECT_TIMEOUT;
public static final java.lang.String PROP_READ_TIMEOUT;
public static final java.lang.String PROP_AUTHENTICATION_STRATEGY;
public static final java.lang.String PROP_MANAGER_DN;
public static final java.lang.String PROP_MANAGER_PASSWORD;
public static final java.lang.String PROP_REFERRAL_STRATEGY;
public static final java.lang.String PROP_URL;
public static final java.lang.String PROP_PAGE_SIZE;
public static final java.lang.String PROP_GROUP_MEMBERSHIP_ENFORCE_CASE_SENSITIVITY;
public static final java.lang.String PROP_USER_SEARCH_BASE;
public static final java.lang.String PROP_USER_OBJECT_CLASS;
public static final java.lang.String PROP_USER_SEARCH_SCOPE;
public static final java.lang.String PROP_USER_SEARCH_FILTER;
public static final java.lang.String PROP_USER_IDENTITY_ATTRIBUTE;
public static final java.lang.String PROP_USER_GROUP_ATTRIBUTE;
public static final java.lang.String PROP_USER_GROUP_REFERENCED_GROUP_ATTRIBUTE;
public static final java.lang.String PROP_GROUP_SEARCH_BASE;
public static final java.lang.String PROP_GROUP_OBJECT_CLASS;
public static final java.lang.String PROP_GROUP_SEARCH_SCOPE;
public static final java.lang.String PROP_GROUP_SEARCH_FILTER;
public static final java.lang.String PROP_GROUP_NAME_ATTRIBUTE;
public static final java.lang.String PROP_GROUP_MEMBER_ATTRIBUTE;
public static final java.lang.String PROP_GROUP_MEMBER_REFERENCED_USER_ATTRIBUTE;
public static final java.lang.String PROP_SYNC_INTERVAL;
private org.apache.nifi.registry.security.identity.IdentityMapper identityMapper;
private java.util.concurrent.ScheduledExecutorService ldapSync;
private final java.util.concurrent.atomic.AtomicReference tenants;
private java.lang.String userSearchBase;
private org.apache.nifi.registry.security.ldap.tenants.SearchScope userSearchScope;
private java.lang.String userSearchFilter;
private java.lang.String userIdentityAttribute;
private java.lang.String userObjectClass;
private java.lang.String userGroupNameAttribute;
private java.lang.String userGroupReferencedGroupAttribute;
private boolean useDnForUserIdentity;
private boolean performUserSearch;
private java.lang.String groupSearchBase;
private org.apache.nifi.registry.security.ldap.tenants.SearchScope groupSearchScope;
private java.lang.String groupSearchFilter;
private java.lang.String groupMemberAttribute;
private java.lang.String groupMemberReferencedUserAttribute;
private java.lang.String groupNameAttribute;
private java.lang.String groupObjectClass;
private boolean useDnForGroupName;
private boolean performGroupSearch;
private java.lang.Integer pageSize;
private boolean groupMembershipEnforceCaseSensitivity;
public void <init>()
{
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(null);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants> = v;
return;
}
public void initialize(org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext) throws org.apache.nifi.registry.security.exception.SecurityProviderCreationException
{
org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext v;
java.util.concurrent.ScheduledExecutorService v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$1 v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext;
v = new org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$1;
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$1: void <init>(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext)>(v, v);
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.ScheduledExecutorService ldapSync> = v;
return;
}
public void onConfigured(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext) throws org.apache.nifi.registry.security.exception.SecurityProviderCreationException
{
java.lang.Integer v;
org.apache.nifi.registry.security.ldap.ReferralStrategy[] v;
java.lang.Object[] v, v, v, v, v;
long v;
java.util.concurrent.ScheduledExecutorService v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.registry.security.ldap.tenants.SearchScope v, v;
java.lang.Runnable v;
int[] v, v;
org.springframework.ldap.core.support.LdapContextSource v;
org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy v;
int v, v, v, v;
java.lang.Boolean v;
org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy[] v;
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext v;
java.lang.Class v;
java.lang.Object v;
org.apache.nifi.registry.util.PropertyValue v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
javax.net.ssl.SSLContext v, v;
java.lang.Exception v;
javax.net.ssl.SSLSocketFactory v, v;
java.lang.Throwable v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
org.apache.nifi.registry.security.ldap.ReferralStrategy v;
java.lang.String[] v;
java.util.HashMap v;
java.util.concurrent.atomic.AtomicReference v;
org.springframework.ldap.core.support.SimpleDirContextAuthenticationStrategy v, v;
org.springframework.ldap.core.support.DefaultTlsDirContextAuthenticationStrategy v;
double v;
java.lang.IllegalArgumentException v, v, v, v, v;
java.util.concurrent.TimeUnit v, v;
org.apache.nifi.registry.security.ldap.tenants.SearchScope[] v, v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
v = new org.springframework.ldap.core.support.LdapContextSource;
specialinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: void setTimeout(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext,java.util.Map,java.lang.String,java.lang.String)>(v, v, "Connect Timeout", "com.sun.jndi.ldap.connect.timeout");
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: void setTimeout(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext,java.util.Map,java.lang.String,java.lang.String)>(v, v, "Read Timeout", "com.sun.jndi.ldap.read.timeout");
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Authentication Strategy");
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy: org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy valueOf(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v[0] = v;
v = staticinvoke <org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy: org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy[] values()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Object[],java.lang.String)>(v, ", ");
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unrecognized authentication strategy \'%s\'. Possible values are [%s]", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$5: int[] $SwitchMap$org$apache$nifi$registry$security$ldap$LdapAuthenticationStrategy>;
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 4: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setAnonymousReadOnly(boolean)>(1);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Manager DN");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Manager Password");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setUserDn(java.lang.String)>(v);
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setPassword(java.lang.String)>(v);
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$5: int[] $SwitchMap$org$apache$nifi$registry$security$ldap$LdapAuthenticationStrategy>;
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = new org.springframework.ldap.core.support.SimpleDirContextAuthenticationStrategy;
specialinvoke v.<org.springframework.ldap.core.support.SimpleDirContextAuthenticationStrategy: void <init>()>();
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setAuthenticationStrategy(org.springframework.ldap.core.support.DirContextAuthenticationStrategy)>(v);
goto label;
label:
v = new org.springframework.ldap.core.support.SimpleDirContextAuthenticationStrategy;
specialinvoke v.<org.springframework.ldap.core.support.SimpleDirContextAuthenticationStrategy: void <init>()>();
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setAuthenticationStrategy(org.springframework.ldap.core.support.DirContextAuthenticationStrategy)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("java.naming.security.protocol", "ssl");
v = specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: javax.net.ssl.SSLContext getConfiguredSslContext(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext)>(v);
if v == null goto label;
v = virtualinvoke v.<javax.net.ssl.SSLContext: javax.net.ssl.SSLSocketFactory getSocketFactory()>();
staticinvoke <org.apache.nifi.registry.security.ldap.LdapsSocketFactory: void initialize(javax.net.ssl.SSLSocketFactory)>(v);
v = class "Lorg/apache/nifi/registry/security/ldap/LdapsSocketFactory;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("java.naming.ldap.factory.socket", v);
goto label;
label:
v = new org.springframework.ldap.core.support.DefaultTlsDirContextAuthenticationStrategy;
specialinvoke v.<org.springframework.ldap.core.support.DefaultTlsDirContextAuthenticationStrategy: void <init>()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Shutdown Gracefully");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
virtualinvoke v.<org.springframework.ldap.core.support.AbstractTlsDirContextAuthenticationStrategy: void setShutdownTlsGracefully(boolean)>(v);
label:
v = specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: javax.net.ssl.SSLContext getConfiguredSslContext(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext)>(v);
if v == null goto label;
v = virtualinvoke v.<javax.net.ssl.SSLContext: javax.net.ssl.SSLSocketFactory getSocketFactory()>();
virtualinvoke v.<org.springframework.ldap.core.support.AbstractTlsDirContextAuthenticationStrategy: void setSslSocketFactory(javax.net.ssl.SSLSocketFactory)>(v);
label:
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setAuthenticationStrategy(org.springframework.ldap.core.support.DirContextAuthenticationStrategy)>(v);
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Referral Strategy");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
label:
v = staticinvoke <org.apache.nifi.registry.security.ldap.ReferralStrategy: org.apache.nifi.registry.security.ldap.ReferralStrategy valueOf(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <org.apache.nifi.registry.security.ldap.ReferralStrategy: org.apache.nifi.registry.security.ldap.ReferralStrategy[] values()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Object[],java.lang.String)>(v, ", ");
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unrecognized referral strategy \'%s\'. Possible values are [%s]", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.ReferralStrategy: java.lang.String getValue()>();
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setReferral(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Url");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP identity provider \'Url\' must be specified.");
throw v;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String[] split(java.lang.String)>(v);
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setUrls(java.lang.String[])>(v);
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Search Base");
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Object Class");
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Search Scope");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP user group provider \'User Object Class\' must be specified when \'User Search Base\' is set.");
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP user group provider \'User Search Scope\' must be specified when \'User Search Base\' is set.");
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchBase> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userObjectClass> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Search Filter");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchFilter> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Identity Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userIdentityAttribute> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Group Name Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupNameAttribute> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("User Group Name Attribute - Referenced Group Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute> = v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.SearchScope: org.apache.nifi.registry.security.ldap.tenants.SearchScope valueOf(java.lang.String)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.ldap.tenants.SearchScope userSearchScope> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v[0] = v;
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.SearchScope: org.apache.nifi.registry.security.ldap.tenants.SearchScope[] values()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Object[],java.lang.String)>(v, ", ");
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unrecognized user search scope \'%s\'. Possible values are [%s]", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userIdentityAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean useDnForUserIdentity> = v;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchBase>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performUserSearch> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Search Base");
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Object Class");
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Search Scope");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP user group provider \'Group Object Class\' must be specified when \'Group Search Base\' is set.");
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP user group provider \'Group Search Scope\' must be specified when \'Group Search Base\' is set.");
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchBase> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupObjectClass> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Search Filter");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchFilter> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Name Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupNameAttribute> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Member Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberAttribute> = v;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Member Attribute - Referenced User Attribute");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute> = v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.SearchScope: org.apache.nifi.registry.security.ldap.tenants.SearchScope valueOf(java.lang.String)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.ldap.tenants.SearchScope groupSearchScope> = v;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v[0] = v;
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.SearchScope: org.apache.nifi.registry.security.ldap.tenants.SearchScope[] values()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Object[],java.lang.String)>(v, ", ");
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Unrecognized group search scope \'%s\'. Possible values are [%s]", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupNameAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean useDnForGroupName> = v;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchBase>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performGroupSearch> = v;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performUserSearch>;
if v != 0 goto label;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performGroupSearch>;
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("LDAP user group provider \'User Search Base\' or \'Group Search Base\' must be specified.");
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performGroupSearch>;
if v == 0 goto label;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performUserSearch>;
if v != 0 goto label;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("\'Group Member Attribute\' is required when searching groups but not users.");
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performUserSearch>;
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("\'\'User Search Base\' must be set when specifying \'Group Member Attribute - Referenced User Attribute\'.");
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performGroupSearch>;
if v != 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("\'Group Search Base\' must be set when specifying \'User Group Name Attribute - Referenced Group Attribute\'.");
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Page Size");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.Integer asInteger()>();
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.Integer pageSize> = v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Group Membership - Enforce Case Sensitivity");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean groupMembershipEnforceCaseSensitivity> = v;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void setBaseEnvironmentProperties(java.util.Map)>(v);
label:
virtualinvoke v.<org.springframework.ldap.core.support.LdapContextSource: void afterPropertiesSet()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Sync Interval");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = staticinvoke <org.apache.nifi.registry.util.FormatUtils: double getPreciseTimeDuration(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = staticinvoke <java.lang.Math: long round(double)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v[0] = "Sync Interval";
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The %s \'%s\' is not a valid time duration", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("The \'Sync Interval\' must be specified.");
throw v;
label:
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: void load(org.springframework.ldap.core.ContextSource)>(v);
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("Unable to sync users and groups.");
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.ScheduledExecutorService ldapSync>;
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$lambda_onConfigured_0__91: java.lang.Runnable bootstrap$(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,org.springframework.ldap.core.support.LdapContextSource,long)>(v, v, v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException from label to label with label;
}
public java.util.Set getUsers() throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Set v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: java.util.Set getAllUsers()>();
return v;
}
public org.apache.nifi.registry.security.authorization.User getUser(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Map v;
java.lang.Object v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: java.util.Map getUsersById()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.nifi.registry.security.authorization.User getUserByIdentity(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.lang.Object v;
org.apache.nifi.registry.security.authorization.User v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: org.apache.nifi.registry.security.authorization.User getUser(java.lang.String)>(v);
return v;
}
public java.util.Set getGroups() throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Set v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: java.util.Set getAllGroups()>();
return v;
}
public org.apache.nifi.registry.security.authorization.Group getGroup(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Map v;
java.lang.Object v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: java.util.Map getGroupsById()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.nifi.registry.security.authorization.UserAndGroups getUserAndGroups(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$2 v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = new org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$2;
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$2: void <init>(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,org.apache.nifi.registry.security.ldap.tenants.TenantHolder,java.lang.String)>(v, v, v);
return v;
}
private void load(org.springframework.ldap.core.ContextSource)
{
org.springframework.ldap.filter.AndFilter v, v;
org.springframework.ldap.core.LdapTemplate v;
java.lang.Integer v, v, v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$4 v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$3 v;
org.apache.nifi.registry.security.ldap.tenants.TenantHolder v;
java.lang.Throwable v;
java.util.ArrayList v, v;
java.util.function.BiConsumer v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
javax.naming.directory.DirContext v;
org.springframework.ldap.core.LdapTemplate$NullDirContextProcessor v, v;
org.apache.nifi.registry.security.ldap.tenants.SearchScope v, v;
org.springframework.ldap.filter.EqualsFilter v, v;
boolean v, v, v, v, v, v, v;
org.springframework.ldap.filter.HardcodedFilter v, v;
java.util.List v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
org.springframework.ldap.core.support.SingleContextSource v;
org.springframework.ldap.control.PagedResultsDirContextProcessor v, v;
java.util.HashMap v, v;
java.util.concurrent.atomic.AtomicReference v;
javax.naming.directory.SearchControls v, v;
java.util.HashSet v, v;
int v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.springframework.ldap.core.ContextSource v;
java.util.function.Consumer v, v;
java.lang.Object v, v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.ContextSource;
v = new org.springframework.ldap.core.support.SingleContextSource;
v = interfaceinvoke v.<org.springframework.ldap.core.ContextSource: javax.naming.directory.DirContext getReadOnlyContext()>();
specialinvoke v.<org.springframework.ldap.core.support.SingleContextSource: void <init>(javax.naming.directory.DirContext)>(v);
v = new org.springframework.ldap.core.LdapTemplate;
specialinvoke v.<org.springframework.ldap.core.LdapTemplate: void <init>(org.springframework.ldap.core.ContextSource)>(v);
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performUserSearch>;
if v == 0 goto label;
v = new javax.naming.directory.SearchControls;
specialinvoke v.<javax.naming.directory.SearchControls: void <init>()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.ldap.tenants.SearchScope userSearchScope>;
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.SearchScope: int ordinal()>();
virtualinvoke v.<javax.naming.directory.SearchControls: void setSearchScope(int)>(v);
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.Integer pageSize>;
if v != null goto label;
v = new org.springframework.ldap.core.LdapTemplate$NullDirContextProcessor;
specialinvoke v.<org.springframework.ldap.core.LdapTemplate$NullDirContextProcessor: void <init>()>();
v = v;
goto label;
label:
v = new org.springframework.ldap.control.PagedResultsDirContextProcessor;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.Integer pageSize>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
specialinvoke v.<org.springframework.ldap.control.PagedResultsDirContextProcessor: void <init>(int)>(v);
v = v;
label:
v = new org.springframework.ldap.filter.AndFilter;
specialinvoke v.<org.springframework.ldap.filter.AndFilter: void <init>()>();
v = new org.springframework.ldap.filter.EqualsFilter;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userObjectClass>;
specialinvoke v.<org.springframework.ldap.filter.EqualsFilter: void <init>(java.lang.String,java.lang.String)>("objectClass", v);
virtualinvoke v.<org.springframework.ldap.filter.AndFilter: org.springframework.ldap.filter.AndFilter and(org.springframework.ldap.filter.Filter)>(v);
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchFilter>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new org.springframework.ldap.filter.HardcodedFilter;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchFilter>;
specialinvoke v.<org.springframework.ldap.filter.HardcodedFilter: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.springframework.ldap.filter.AndFilter: org.springframework.ldap.filter.AndFilter and(org.springframework.ldap.filter.Filter)>(v);
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userSearchBase>;
v = virtualinvoke v.<org.springframework.ldap.filter.AndFilter: java.lang.String encode()>();
v = new org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$3;
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$3: void <init>(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,java.util.Map,java.util.Map)>(v, v, v);
v = virtualinvoke v.<org.springframework.ldap.core.LdapTemplate: java.util.List search(java.lang.String,java.lang.String,javax.naming.directory.SearchControls,org.springframework.ldap.core.ContextMapper,org.springframework.ldap.core.DirContextProcessor)>(v, v, v, v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean hasMorePages(org.springframework.ldap.core.DirContextProcessor)>(v);
if v != 0 goto label;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean performGroupSearch>;
if v == 0 goto label;
v = new javax.naming.directory.SearchControls;
specialinvoke v.<javax.naming.directory.SearchControls: void <init>()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.ldap.tenants.SearchScope groupSearchScope>;
v = virtualinvoke v.<org.apache.nifi.registry.security.ldap.tenants.SearchScope: int ordinal()>();
virtualinvoke v.<javax.naming.directory.SearchControls: void setSearchScope(int)>(v);
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.Integer pageSize>;
if v != null goto label;
v = new org.springframework.ldap.core.LdapTemplate$NullDirContextProcessor;
specialinvoke v.<org.springframework.ldap.core.LdapTemplate$NullDirContextProcessor: void <init>()>();
v = v;
goto label;
label:
v = new org.springframework.ldap.control.PagedResultsDirContextProcessor;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.Integer pageSize>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
specialinvoke v.<org.springframework.ldap.control.PagedResultsDirContextProcessor: void <init>(int)>(v);
v = v;
label:
v = new org.springframework.ldap.filter.AndFilter;
specialinvoke v.<org.springframework.ldap.filter.AndFilter: void <init>()>();
v = new org.springframework.ldap.filter.EqualsFilter;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupObjectClass>;
specialinvoke v.<org.springframework.ldap.filter.EqualsFilter: void <init>(java.lang.String,java.lang.String)>("objectClass", v);
virtualinvoke v.<org.springframework.ldap.filter.AndFilter: org.springframework.ldap.filter.AndFilter and(org.springframework.ldap.filter.Filter)>(v);
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchFilter>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new org.springframework.ldap.filter.HardcodedFilter;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchFilter>;
specialinvoke v.<org.springframework.ldap.filter.HardcodedFilter: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.springframework.ldap.filter.AndFilter: org.springframework.ldap.filter.AndFilter and(org.springframework.ldap.filter.Filter)>(v);
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupSearchBase>;
v = virtualinvoke v.<org.springframework.ldap.filter.AndFilter: java.lang.String encode()>();
v = new org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$4;
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$4: void <init>(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,java.util.Map,java.util.Map,org.springframework.ldap.core.LdapTemplate,java.util.List)>(v, v, v, v, v);
v = virtualinvoke v.<org.springframework.ldap.core.LdapTemplate: java.util.List search(java.lang.String,java.lang.String,javax.naming.directory.SearchControls,org.springframework.ldap.core.ContextMapper,org.springframework.ldap.core.DirContextProcessor)>(v, v, v, v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean hasMorePages(org.springframework.ldap.core.DirContextProcessor)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$lambda_load_1__95: java.util.function.BiConsumer bootstrap$()>();
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
goto label;
label:
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$lambda_load_2__92: java.util.function.BiConsumer bootstrap$(org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider,org.springframework.ldap.core.LdapTemplate,java.util.List)>(v, v, v);
interfaceinvoke v.<java.util.Map: void forEach(java.util.function.BiConsumer)>(v);
label:
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("-------------------------------------");
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Loaded the following users from LDAP:");
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$lambda_load_3__93: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("--------------------------------------");
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Loaded the following groups from LDAP:");
v = staticinvoke <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider$lambda_load_4__94: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("--------------------------------------");
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.atomic.AtomicReference tenants>;
v = new org.apache.nifi.registry.security.ldap.tenants.TenantHolder;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
specialinvoke v.<org.apache.nifi.registry.security.ldap.tenants.TenantHolder: void <init>(java.util.Set,java.util.Set)>(v, v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
label:
virtualinvoke v.<org.springframework.ldap.core.support.SingleContextSource: void destroy()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.springframework.ldap.core.support.SingleContextSource: void destroy()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private boolean hasMorePages(org.springframework.ldap.core.DirContextProcessor)
{
org.springframework.ldap.core.DirContextProcessor v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
boolean v, v, v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.DirContextProcessor;
v = v instanceof org.springframework.ldap.control.PagedResultsDirContextProcessor;
if v == 0 goto label;
v = virtualinvoke v.<org.springframework.ldap.control.PagedResultsDirContextProcessor: boolean hasMore()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.lang.String getUserIdentity(org.springframework.ldap.core.DirContextOperations)
{
org.springframework.ldap.core.DirContextOperations v;
javax.naming.NamingException v;
javax.naming.directory.Attribute v;
org.apache.nifi.registry.security.identity.IdentityMapper v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v, v;
boolean v;
javax.naming.Name v;
javax.naming.directory.Attributes v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.DirContextOperations;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean useDnForUserIdentity>;
if v == 0 goto label;
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.Name getDn()>();
virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.directory.Attributes getAttributes()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userIdentityAttribute>;
v = interfaceinvoke v.<javax.naming.directory.Attributes: javax.naming.directory.Attribute get(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userIdentityAttribute>;
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[])>("User identity attribute [\u] does not exist.");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<javax.naming.directory.Attribute: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userIdentityAttribute>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error while retrieving user name attribute [\u].");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.identity.IdentityMapper: java.lang.String mapUser(java.lang.String)>(v);
return v;
catch javax.naming.NamingException from label to label with label;
}
private java.lang.String getReferencedUserValue(org.springframework.ldap.core.DirContextOperations)
{
org.springframework.ldap.core.DirContextOperations v;
javax.naming.NamingException v;
javax.naming.directory.Attribute v;
java.lang.String v, v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v, v;
boolean v, v;
javax.naming.Name v;
javax.naming.directory.Attributes v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.DirContextOperations;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.Name getDn()>();
virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.directory.Attributes getAttributes()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute>;
v = interfaceinvoke v.<javax.naming.directory.Attributes: javax.naming.directory.Attribute get(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute>;
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[])>("Referenced user value attribute [\u] does not exist.");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<javax.naming.directory.Attribute: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupMemberReferencedUserAttribute>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error while retrieving reference user value attribute [\u].");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean groupMembershipEnforceCaseSensitivity>;
if v == 0 goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
label:
return v;
catch javax.naming.NamingException from label to label with label;
}
private java.lang.String getGroupName(org.springframework.ldap.core.DirContextOperations)
{
org.springframework.ldap.core.DirContextOperations v;
javax.naming.NamingException v;
javax.naming.directory.Attribute v;
org.apache.nifi.registry.security.identity.IdentityMapper v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v, v;
boolean v;
javax.naming.Name v;
javax.naming.directory.Attributes v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.DirContextOperations;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean useDnForGroupName>;
if v == 0 goto label;
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.Name getDn()>();
virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.directory.Attributes getAttributes()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupNameAttribute>;
v = interfaceinvoke v.<javax.naming.directory.Attributes: javax.naming.directory.Attribute get(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupNameAttribute>;
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[])>("Group identity attribute [\u] does not exist.");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<javax.naming.directory.Attribute: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String groupNameAttribute>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error while retrieving group name attribute [\u].");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.identity.IdentityMapper: java.lang.String mapGroup(java.lang.String)>(v);
return v;
catch javax.naming.NamingException from label to label with label;
}
private java.lang.String getReferencedGroupValue(org.springframework.ldap.core.DirContextOperations)
{
org.springframework.ldap.core.DirContextOperations v;
javax.naming.NamingException v;
javax.naming.directory.Attribute v;
java.lang.String v, v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v, v;
boolean v, v;
javax.naming.Name v;
javax.naming.directory.Attributes v;
java.lang.Object v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.springframework.ldap.core.DirContextOperations;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.Name getDn()>();
virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = interfaceinvoke v.<org.springframework.ldap.core.DirContextOperations: javax.naming.directory.Attributes getAttributes()>();
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute>;
v = interfaceinvoke v.<javax.naming.directory.Attributes: javax.naming.directory.Attribute get(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute>;
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[])>("Referenced group value attribute [\u] does not exist.");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<javax.naming.directory.Attribute: java.lang.Object get()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.lang.String userGroupReferencedGroupAttribute>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Error while retrieving referenced group value attribute [\u].");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: boolean groupMembershipEnforceCaseSensitivity>;
if v == 0 goto label;
v = v;
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase()>();
label:
return v;
catch javax.naming.NamingException from label to label with label;
}
public void setIdentityMapper(org.apache.nifi.registry.security.identity.IdentityMapper)
{
org.apache.nifi.registry.security.identity.IdentityMapper v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.apache.nifi.registry.security.identity.IdentityMapper;
v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper> = v;
return;
}
public final void preDestruction() throws org.apache.nifi.registry.security.exception.SecurityProviderDestructionException
{
org.slf4j.Logger v;
java.util.concurrent.TimeUnit v;
java.lang.InterruptedException v;
java.lang.Thread v;
java.util.concurrent.ScheduledExecutorService v, v, v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
boolean v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.ScheduledExecutorService ldapSync>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: void shutdown()>();
label:
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.ScheduledExecutorService ldapSync>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: boolean awaitTermination(long,java.util.concurrent.TimeUnit)>(10000L, v);
if v != 0 goto label;
v = <org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Failed to stop ldap sync thread in 10 sec. Terminating");
v = v.<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: java.util.concurrent.ScheduledExecutorService ldapSync>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.List shutdownNow()>();
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
private void setTimeout(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext, java.util.Map, java.lang.String, java.lang.String)
{
java.lang.Object[] v;
long v;
java.util.Map v;
java.lang.String v, v, v, v, v;
boolean v;
double v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v;
java.lang.IllegalArgumentException v;
java.util.concurrent.TimeUnit v;
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
org.apache.nifi.registry.util.PropertyValue v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: boolean isSet()>();
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = staticinvoke <org.apache.nifi.registry.util.FormatUtils: double getPreciseTimeDuration(java.lang.String,java.util.concurrent.TimeUnit)>(v, v);
v = staticinvoke <java.lang.Math: long round(double)>(v);
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The %s \'%s\' is not a valid time duration", v);
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
}
private javax.net.ssl.SSLContext getConfiguredSslContext(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext)
{
javax.net.ssl.SSLContext v;
org.apache.nifi.security.ssl.StandardSslContextBuilder v, v;
boolean v, v, v, v, v;
java.security.KeyStore v, v;
java.lang.Exception v;
org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider v;
java.lang.Throwable v, v;
java.lang.String v, v, v, v, v, v, v, v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v, v;
java.io.FileInputStream v, v;
org.apache.nifi.security.ssl.StandardKeyStoreBuilder v, v, v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext v;
char[] v, v, v;
org.apache.nifi.registry.util.PropertyValue v, v, v, v, v, v, v;
v := @this: org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Keystore");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Keystore Password");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Keystore Type");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Truststore");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Truststore Password");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Truststore Type");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("TLS - Protocol");
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = null;
goto label;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>("TLS - Protocol must be specified.");
throw v;
label:
v = new org.apache.nifi.security.ssl.StandardSslContextBuilder;
specialinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: org.apache.nifi.security.ssl.StandardSslContextBuilder protocol(java.lang.String)>(v);
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
label:
v = new org.apache.nifi.security.ssl.StandardKeyStoreBuilder;
specialinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder type(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder password(char[])>(v);
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder inputStream(java.io.InputStream)>(v);
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: java.security.KeyStore build()>();
virtualinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: org.apache.nifi.security.ssl.StandardSslContextBuilder trustStore(java.security.KeyStore)>(v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isNotBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
label:
v = new org.apache.nifi.security.ssl.StandardKeyStoreBuilder;
specialinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder type(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder password(char[])>(v);
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: org.apache.nifi.security.ssl.StandardKeyStoreBuilder inputStream(java.io.InputStream)>(v);
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardKeyStoreBuilder: java.security.KeyStore build()>();
virtualinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: org.apache.nifi.security.ssl.StandardSslContextBuilder keyStore(java.security.KeyStore)>(v);
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
virtualinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: org.apache.nifi.security.ssl.StandardSslContextBuilder keyPassword(char[])>(v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.security.ssl.StandardSslContextBuilder: javax.net.ssl.SSLContext build()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.RuntimeException from label to label with label;
catch java.io.IOException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider;");
<org.apache.nifi.registry.security.ldap.tenants.LdapUserGroupProvider: org.slf4j.Logger logger> = v;
return;
}
}