public class org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider extends org.apache.nifi.registry.security.authorization.AbstractConfigurableAccessPolicyProvider
{
private static final org.slf4j.Logger logger;
private static final java.lang.String AUTHORIZATIONS_XSD;
private static final java.lang.String JAXB_AUTHORIZATIONS_PATH;
private static final javax.xml.bind.JAXBContext JAXB_AUTHORIZATIONS_CONTEXT;
private static final javax.xml.stream.XMLOutputFactory XML_OUTPUT_FACTORY;
private static final java.lang.String POLICY_ELEMENT;
private static final java.lang.String POLICY_USER_ELEMENT;
private static final java.lang.String POLICY_GROUP_ELEMENT;
private static final java.lang.String IDENTIFIER_ATTR;
private static final java.lang.String RESOURCE_ATTR;
private static final java.lang.String ACTIONS_ATTR;
static final java.lang.String READ_CODE;
static final java.lang.String WRITE_CODE;
static final java.lang.String DELETE_CODE;
static final java.lang.String PROP_AUTHORIZATIONS_FILE;
private org.apache.nifi.registry.security.identity.IdentityMapper identityMapper;
private javax.xml.validation.Schema authorizationsSchema;
private java.io.File authorizationsFile;
private java.lang.String initialAdminIdentity;
private java.util.Set nifiIdentities;
private java.lang.String nifiGroupName;
private final java.util.concurrent.atomic.AtomicReference authorizationsHolder;
public void <init>()
{
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
specialinvoke v.<org.apache.nifi.registry.security.authorization.AbstractConfigurableAccessPolicyProvider: void <init>()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder> = v;
return;
}
private static javax.xml.bind.JAXBContext initializeJaxbContext(java.lang.String)
{
java.lang.Throwable v;
java.lang.Class v;
java.lang.ClassLoader v;
java.lang.RuntimeException v;
java.lang.String v;
javax.xml.bind.JAXBContext v;
v := @parameter: java.lang.String;
label:
v = class "Lorg/apache/nifi/registry/security/authorization/file/FileAuthorizer;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <javax.xml.bind.JAXBContext: javax.xml.bind.JAXBContext newInstance(java.lang.String,java.lang.ClassLoader)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Unable to create JAXBContext.");
throw v;
catch javax.xml.bind.JAXBException from label to label with label;
}
public void doInitialize(org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext) throws org.apache.nifi.registry.security.exception.SecurityProviderCreationException
{
javax.xml.validation.SchemaFactory v;
java.net.URL v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v;
org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.lang.Exception v;
javax.xml.validation.Schema v;
java.lang.Class v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext;
label:
v = staticinvoke <javax.xml.validation.SchemaFactory: javax.xml.validation.SchemaFactory newInstance(java.lang.String)>("http://www.w.org/2001/XMLSchema");
v = class "Lorg/apache/nifi/registry/security/authorization/file/FileAuthorizer;";
v = virtualinvoke v.<java.lang.Class: java.net.URL getResource(java.lang.String)>("/authorizations.xsd");
v = virtualinvoke v.<javax.xml.validation.SchemaFactory: javax.xml.validation.Schema newSchema(java.net.URL)>(v);
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.validation.Schema authorizationsSchema> = 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.Exception from label to label with label;
}
public void doOnConfigured(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext) throws org.apache.nifi.registry.security.exception.SecurityProviderCreationException
{
java.lang.Throwable v;
java.lang.Object[] v, v;
java.util.Date v;
org.apache.nifi.registry.security.identity.IdentityMapper v, v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v, v;
java.util.Set v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.io.File v, v, v;
org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext v;
org.apache.nifi.registry.util.PropertyValue v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext;
label:
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext: org.apache.nifi.registry.util.PropertyValue getProperty(java.lang.String)>("Authorizations File");
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)>("The authorizations file must be specified.");
throw v;
label:
v = new java.io.File;
v = interfaceinvoke v.<org.apache.nifi.registry.util.PropertyValue: java.lang.String getValue()>();
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.io.File authorizationsFile> = v;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.io.File authorizationsFile>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger>;
v = newarray (java.lang.Object)[1];
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.io.File authorizationsFile>;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object[])>("Creating new authorizations file at {}", v);
v = new org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: void <init>()>();
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAuthorizations(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper>;
v = staticinvoke <org.apache.nifi.registry.security.authorization.util.AccessPolicyProviderUtils: java.lang.String getInitialAdminIdentity(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext,org.apache.nifi.registry.security.identity.IdentityMapper)>(v, v);
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity> = v;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper>;
v = staticinvoke <org.apache.nifi.registry.security.authorization.util.AccessPolicyProviderUtils: java.util.Set getNiFiIdentities(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext,org.apache.nifi.registry.security.identity.IdentityMapper)>(v, v);
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set nifiIdentities> = v;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper>;
v = staticinvoke <org.apache.nifi.registry.security.authorization.util.AccessPolicyProviderUtils: java.lang.String getNiFiGroupName(org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext,org.apache.nifi.registry.security.identity.IdentityMapper)>(v, v);
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String nifiGroupName> = v;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void load()>();
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger>;
v = newarray (java.lang.Object)[1];
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Authorizations file loaded at %s", v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(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 javax.xml.bind.JAXBException from label to label with label;
catch org.xml.sax.SAXException from label to label with label;
}
public java.util.Set getAccessPolicies() throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Set v;
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Set getAllPolicies()>();
return v;
}
public synchronized org.apache.nifi.registry.security.authorization.AccessPolicy addAccessPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
java.lang.IllegalArgumentException v;
java.util.concurrent.atomic.AtomicReference v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v;
java.util.Map v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v;
org.apache.nifi.registry.security.authorization.file.generated.Policy v;
java.lang.Object v, v, v;
java.lang.String v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("AccessPolicy cannot be null");
throw v;
label:
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.file.generated.Policy createJAXBPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy)>(v);
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: org.apache.nifi.registry.security.authorization.file.generated.Authorizations getAuthorizations()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAndRefreshHolder(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Map getPoliciesById()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.nifi.registry.security.authorization.AccessPolicy getAccessPolicy(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Map v;
java.lang.Object v, v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Map getPoliciesById()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public org.apache.nifi.registry.security.authorization.AccessPolicy getAccessPolicy(java.lang.String, org.apache.nifi.registry.security.authorization.RequestAction) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.lang.Object v;
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.lang.String v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
v := @parameter: org.apache.nifi.registry.security.authorization.RequestAction;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: org.apache.nifi.registry.security.authorization.AccessPolicy getAccessPolicy(java.lang.String,org.apache.nifi.registry.security.authorization.RequestAction)>(v, v);
return v;
}
public synchronized org.apache.nifi.registry.security.authorization.AccessPolicy updateAccessPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.Map v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v;
java.lang.String v, v, v;
boolean v, v;
java.util.Iterator v;
java.lang.IllegalArgumentException v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v;
org.apache.nifi.registry.security.authorization.file.generated.Policy v;
java.lang.Object v, v, v, v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("AccessPolicy cannot be null");
throw v;
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: org.apache.nifi.registry.security.authorization.file.generated.Authorizations getAuthorizations()>();
v = null;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.lang.String getIdentifier()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
label:
if v != null goto label;
return null;
label:
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void transferUsersAndGroups(org.apache.nifi.registry.security.authorization.AccessPolicy,org.apache.nifi.registry.security.authorization.file.generated.Policy)>(v, v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAndRefreshHolder(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Map getPoliciesById()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public synchronized org.apache.nifi.registry.security.authorization.AccessPolicy deleteAccessPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
org.apache.nifi.registry.security.authorization.AccessPolicy v, v;
java.lang.String v;
java.lang.IllegalArgumentException v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("AccessPolicy cannot be null");
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.AccessPolicy deleteAccessPolicy(java.lang.String)>(v);
return v;
}
private synchronized org.apache.nifi.registry.security.authorization.AccessPolicy deleteAccessPolicy(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.Iterator v;
java.lang.IllegalArgumentException v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v;
java.util.Map v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v;
java.lang.Object v, v, v;
java.lang.String v, v;
boolean v, v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Access policy identifier cannot be null");
throw v;
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Map getPoliciesById()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: org.apache.nifi.registry.security.authorization.file.generated.Authorizations getAuthorizations()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.lang.String getIdentifier()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
label:
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAndRefreshHolder(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
return v;
}
org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder getAuthorizationsHolder()
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public void setIdentityMapper(org.apache.nifi.registry.security.identity.IdentityMapper)
{
org.apache.nifi.registry.security.identity.IdentityMapper v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.identity.IdentityMapper;
v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.identity.IdentityMapper identityMapper> = v;
return;
}
public synchronized void inheritFingerprint(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.util.function.Consumer v;
java.util.List v;
java.lang.String v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.List parsePolicies(java.lang.String)>(v);
v = staticinvoke <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider$lambda_inheritFingerprint_0__61: java.util.function.Consumer bootstrap$(org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return;
}
public void checkInheritability(java.lang.String) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException, org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException
{
java.lang.Throwable v;
java.util.Set v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException v, v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
label:
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.List parsePolicies(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Throwable)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to parse the proposed fingerprint: \u0001");
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set getAccessPolicies()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = new org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException;
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException: void <init>(java.lang.String)>("Proposed fingerprint is not inheritable because the current access policies is not empty.");
throw v;
label:
return;
catch org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException from label to label with label;
}
public java.lang.String getFingerprint() throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.lang.Throwable v;
java.util.Iterator v;
java.io.StringWriter v;
java.util.Set v;
java.util.function.Function v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.ArrayList v;
javax.xml.stream.XMLOutputFactory v;
javax.xml.stream.XMLStreamException v;
java.lang.Object v;
javax.xml.stream.XMLStreamWriter v;
java.lang.String v;
java.util.Comparator v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v;
boolean v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set getAccessPolicies()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = staticinvoke <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider$getIdentifier__62: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
label:
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.stream.XMLOutputFactory XML_OUTPUT_FACTORY>;
v = virtualinvoke v.<javax.xml.stream.XMLOutputFactory: javax.xml.stream.XMLStreamWriter createXMLStreamWriter(java.io.Writer)>(v);
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeStartDocument()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeStartElement(java.lang.String)>("accessPolicies");
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void writePolicy(javax.xml.stream.XMLStreamWriter,org.apache.nifi.registry.security.authorization.AccessPolicy)>(v, v);
goto label;
label:
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeEndElement()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeEndDocument()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void flush()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to generate fingerprint", v);
throw v;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
return v;
catch javax.xml.stream.XMLStreamException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.util.List parsePolicies(java.lang.String)
{
java.lang.Throwable v, v;
byte[] v;
org.apache.nifi.registry.security.authorization.AccessPolicy v;
java.util.ArrayList v;
java.io.ByteArrayInputStream v;
java.nio.charset.Charset v;
org.w3c.dom.Document v;
org.w3c.dom.Node v;
int v, v;
java.lang.String v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v;
org.apache.nifi.xml.processing.parsers.StandardDocumentProvider v;
org.w3c.dom.NodeList v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.w3c.dom.Element v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
label:
v = new java.io.ByteArrayInputStream;
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
label:
v = new org.apache.nifi.xml.processing.parsers.StandardDocumentProvider;
specialinvoke v.<org.apache.nifi.xml.processing.parsers.StandardDocumentProvider: void <init>()>();
v = interfaceinvoke v.<org.apache.nifi.xml.processing.parsers.DocumentProvider: org.w3c.dom.Document parse(java.io.InputStream)>(v);
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Element getDocumentElement()>();
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NodeList getElementsByTagName(java.lang.String)>("policy");
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.AccessPolicy parsePolicy(org.w3c.dom.Element)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
virtualinvoke v.<java.io.ByteArrayInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to parse fingerprint", v);
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch org.apache.nifi.xml.processing.ProcessingException from label to label with label;
catch java.io.IOException from label to label with label;
}
private org.apache.nifi.registry.security.authorization.AccessPolicy parsePolicy(org.w3c.dom.Element)
{
java.lang.IllegalStateException v;
boolean v, v, v;
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v, v, v, v, v, v;
org.w3c.dom.Node v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.apache.nifi.registry.security.authorization.AccessPolicy$Builder v, v, v;
org.w3c.dom.NodeList v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.w3c.dom.Element v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.w3c.dom.Element;
v = new org.apache.nifi.registry.security.authorization.AccessPolicy$Builder;
specialinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: void <init>()>();
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttribute(java.lang.String)>("identifier");
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder identifier(java.lang.String)>(v);
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttribute(java.lang.String)>("resource");
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder resource(java.lang.String)>(v);
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttribute(java.lang.String)>("actions");
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction READ>;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.RequestAction: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction READ>;
virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder action(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
goto label;
label:
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction WRITE>;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.RequestAction: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction WRITE>;
virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder action(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
goto label;
label:
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction DELETE>;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.RequestAction: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction DELETE>;
virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder action(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
goto label;
label:
v = new java.lang.IllegalStateException;
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[])>("Unknown Policy Action: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NodeList getElementsByTagName(java.lang.String)>("policyUser");
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttribute(java.lang.String)>("identifier");
virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder addUser(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<org.w3c.dom.Element: org.w3c.dom.NodeList getElementsByTagName(java.lang.String)>("policyGroup");
v = 0;
label:
v = interfaceinvoke v.<org.w3c.dom.NodeList: int getLength()>();
if v >= v goto label;
v = interfaceinvoke v.<org.w3c.dom.NodeList: org.w3c.dom.Node item(int)>(v);
v = interfaceinvoke v.<org.w3c.dom.Element: java.lang.String getAttribute(java.lang.String)>("identifier");
virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder addGroup(java.lang.String)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy build()>();
return v;
}
private void writePolicy(javax.xml.stream.XMLStreamWriter, org.apache.nifi.registry.security.authorization.AccessPolicy) throws javax.xml.stream.XMLStreamException
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.util.ArrayList v, v;
javax.xml.stream.XMLStreamWriter v;
java.lang.String v, v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.lang.Object v, v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: javax.xml.stream.XMLStreamWriter;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.util.Set getUsers()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.util.Set getGroups()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List)>(v);
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeStartElement(java.lang.String)>("policy");
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeAttribute(java.lang.String,java.lang.String)>("identifier", v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getResource()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeAttribute(java.lang.String,java.lang.String)>("resource", v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: org.apache.nifi.registry.security.authorization.RequestAction getAction()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.RequestAction: java.lang.String name()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeAttribute(java.lang.String,java.lang.String)>("actions", v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeStartElement(java.lang.String)>("policyUser");
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeAttribute(java.lang.String,java.lang.String)>("identifier", v);
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeEndElement()>();
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeStartElement(java.lang.String)>("policyGroup");
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeAttribute(java.lang.String,java.lang.String)>("identifier", v);
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeEndElement()>();
goto label;
label:
interfaceinvoke v.<javax.xml.stream.XMLStreamWriter: void writeEndElement()>();
return;
}
private synchronized void load() throws javax.xml.bind.JAXBException, org.xml.sax.SAXException
{
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v, v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Set v, v, v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.file.generated.Authorizations unmarshallAuthorizations()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
if v != null goto label;
v = new org.apache.nifi.registry.security.authorization.file.generated.Policies;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: void <init>()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: void setPolicies(org.apache.nifi.registry.security.authorization.file.generated.Policies)>(v);
label:
v = new org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: void <init>(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: java.util.Set getAllPolicies()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity>;
if v == null goto label;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set nifiIdentities>;
if v == null goto label;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set nifiIdentities>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v == 0 goto label;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger>;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity>;
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[])>("Populating authorizations for Initial Admin: \'\u0001\'");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void populateInitialAdmin(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
label:
if v == 0 goto label;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger>;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set nifiIdentities>;
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String join(java.lang.Iterable,java.lang.String)>(v, ";");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Populating authorizations for NiFi identities: [{}]", v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void populateNiFiIdentities(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String nifiGroupName>;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isEmpty(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger>;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String nifiGroupName>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Populating authorizations for NiFi identity group: [{}]", v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void populateNiFiGroup(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
label:
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAndRefreshHolder(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
goto label;
label:
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
label:
return;
}
private void saveAuthorizations(org.apache.nifi.registry.security.authorization.file.generated.Authorizations) throws javax.xml.bind.JAXBException
{
javax.xml.bind.Marshaller v;
java.lang.Boolean v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.io.File v;
javax.xml.bind.JAXBContext v;
javax.xml.validation.Schema v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.bind.JAXBContext JAXB_AUTHORIZATIONS_CONTEXT>;
v = virtualinvoke v.<javax.xml.bind.JAXBContext: javax.xml.bind.Marshaller createMarshaller()>();
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.validation.Schema authorizationsSchema>;
interfaceinvoke v.<javax.xml.bind.Marshaller: void setSchema(javax.xml.validation.Schema)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<javax.xml.bind.Marshaller: void setProperty(java.lang.String,java.lang.Object)>("jaxb.formatted.output", v);
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.io.File authorizationsFile>;
interfaceinvoke v.<javax.xml.bind.Marshaller: void marshal(java.lang.Object,java.io.File)>(v, v);
return;
}
private org.apache.nifi.registry.security.authorization.file.generated.Authorizations unmarshallAuthorizations() throws javax.xml.bind.JAXBException
{
javax.xml.bind.Unmarshaller v;
javax.xml.bind.JAXBElement v;
javax.xml.transform.stream.StreamSource v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.io.File v;
javax.xml.validation.Schema v;
java.lang.Object v;
javax.xml.bind.JAXBContext v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.bind.JAXBContext JAXB_AUTHORIZATIONS_CONTEXT>;
v = virtualinvoke v.<javax.xml.bind.JAXBContext: javax.xml.bind.Unmarshaller createUnmarshaller()>();
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.validation.Schema authorizationsSchema>;
interfaceinvoke v.<javax.xml.bind.Unmarshaller: void setSchema(javax.xml.validation.Schema)>(v);
v = new javax.xml.transform.stream.StreamSource;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.io.File authorizationsFile>;
specialinvoke v.<javax.xml.transform.stream.StreamSource: void <init>(java.io.File)>(v);
v = interfaceinvoke v.<javax.xml.bind.Unmarshaller: javax.xml.bind.JAXBElement unmarshal(javax.xml.transform.Source,java.lang.Class)>(v, class "Lorg/apache/nifi/registry/security/authorization/file/generated/Authorizations;");
v = virtualinvoke v.<javax.xml.bind.JAXBElement: java.lang.Object getValue()>();
return v;
}
private void populateInitialAdmin(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)
{
org.apache.nifi.registry.security.authorization.Resource v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.lang.String v, v, v, v, v, v;
boolean v;
java.util.Iterator v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v;
java.util.Set v;
org.apache.nifi.registry.security.authorization.UserGroupProvider v;
org.apache.nifi.registry.security.authorization.User v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.lang.Object v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.UserGroupProvider getUserGroupProvider()>();
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity>;
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.UserGroupProvider: org.apache.nifi.registry.security.authorization.User getUserByIdentity(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String initialAdminIdentity>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to locate initial admin \u to seed policies");
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.nifi.registry.security.authorization.util.InitialPolicies: java.util.Set ADMIN_POLICIES>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.Resource getResource()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.Resource: java.lang.String getIdentifier()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.RequestAction getAction()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String getActionCode(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.User: java.lang.String getIdentifier()>();
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void addUserToAccessPolicy(org.apache.nifi.registry.security.authorization.file.generated.Authorizations,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
goto label;
label:
return;
}
private void populateNiFiIdentities(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)
{
org.apache.nifi.registry.security.authorization.Resource v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.lang.String v, v, v, v;
boolean v, v;
java.util.Iterator v, v;
org.apache.nifi.registry.security.exception.SecurityProviderCreationException v;
java.util.Set v, v;
org.apache.nifi.registry.security.authorization.UserGroupProvider v;
org.apache.nifi.registry.security.authorization.User v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.lang.Object v, v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.Set nifiIdentities>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.UserGroupProvider getUserGroupProvider()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.UserGroupProvider: org.apache.nifi.registry.security.authorization.User getUserByIdentity(java.lang.String)>(v);
if v != null goto label;
v = new org.apache.nifi.registry.security.exception.SecurityProviderCreationException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to locate NiFi identities\'\u0001\' to seed policies.");
specialinvoke v.<org.apache.nifi.registry.security.exception.SecurityProviderCreationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.nifi.registry.security.authorization.util.InitialPolicies: java.util.Set NIFI_POLICIES>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.Resource getResource()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.Resource: java.lang.String getIdentifier()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.RequestAction getAction()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String getActionCode(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.User: java.lang.String getIdentifier()>();
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void addUserToAccessPolicy(org.apache.nifi.registry.security.authorization.file.generated.Authorizations,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
goto label;
label:
return;
}
private void populateNiFiGroup(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)
{
org.apache.nifi.registry.security.authorization.Resource v;
java.util.Iterator v;
java.util.Set v;
org.apache.nifi.registry.security.authorization.UserGroupProvider v;
org.apache.nifi.registry.security.authorization.RequestAction v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.apache.nifi.registry.security.authorization.Group v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String nifiGroupName>;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.UserGroupProvider getUserGroupProvider()>();
v = staticinvoke <org.apache.nifi.registry.security.authorization.util.AccessPolicyProviderUtils: org.apache.nifi.registry.security.authorization.Group getGroup(java.lang.String,org.apache.nifi.registry.security.authorization.UserGroupProvider)>(v, v);
v = <org.apache.nifi.registry.security.authorization.util.InitialPolicies: java.util.Set NIFI_POLICIES>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.Resource getResource()>();
v = interfaceinvoke v.<org.apache.nifi.registry.security.authorization.Resource: java.lang.String getIdentifier()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.util.ResourceAndAction: org.apache.nifi.registry.security.authorization.RequestAction getAction()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String getActionCode(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.Group: java.lang.String getIdentifier()>();
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void addGroupToAccessPolicy(org.apache.nifi.registry.security.authorization.file.generated.Authorizations,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v);
goto label;
label:
return;
}
private void addGroupToAccessPolicy(org.apache.nifi.registry.security.authorization.file.generated.Authorizations, java.lang.String, java.lang.String, java.lang.String)
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v, v;
java.lang.String v, v, v, v;
boolean v;
org.apache.nifi.registry.security.authorization.AccessPolicy$Builder v, v, v, v, v;
java.util.function.Predicate v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v, v, v;
org.apache.nifi.registry.security.authorization.file.generated.Policy$Group v;
java.util.stream.Stream v, v, v;
org.apache.nifi.registry.security.authorization.file.generated.Policy v;
java.util.Optional v;
java.lang.Object v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider$lambda_addGroupToAccessPolicy_1__63: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider$lambda_addGroupToAccessPolicy_2__64: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findAny()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = new org.apache.nifi.registry.security.authorization.file.generated.Policy$Group;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$Group: void <init>()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$Group: void setIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getGroup()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.apache.nifi.registry.security.authorization.AccessPolicy$Builder;
specialinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: void <init>()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder identifierGenerateFromSeed(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder resource(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder addGroup(java.lang.String)>(v);
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.RequestAction getAction(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder action(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy build()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.file.generated.Policy createJAXBPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private void addUserToAccessPolicy(org.apache.nifi.registry.security.authorization.file.generated.Authorizations, java.lang.String, java.lang.String, java.lang.String)
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v;
org.apache.nifi.registry.security.authorization.file.generated.Policy$User v;
org.apache.nifi.registry.security.authorization.file.generated.Policies v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.apache.nifi.registry.security.authorization.AccessPolicy$Builder v, v, v, v, v;
java.util.Iterator v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v, v, v;
org.apache.nifi.registry.security.authorization.file.generated.Policy v, v;
java.lang.Object v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = null;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.lang.String getResource()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.lang.String getAction()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
label:
if v != null goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = new org.apache.nifi.registry.security.authorization.AccessPolicy$Builder;
specialinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder identifierGenerateFromSeed(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder resource(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder addUser(java.lang.String)>(v);
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.RequestAction getAction(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy$Builder action(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy$Builder: org.apache.nifi.registry.security.authorization.AccessPolicy build()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.apache.nifi.registry.security.authorization.file.generated.Policy createJAXBPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Authorizations: org.apache.nifi.registry.security.authorization.file.generated.Policies getPolicies()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policies: java.util.List getPolicy()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.apache.nifi.registry.security.authorization.file.generated.Policy$User;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$User: void <init>()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$User: void setIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getUser()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
private org.apache.nifi.registry.security.authorization.file.generated.Policy createJAXBPolicy(org.apache.nifi.registry.security.authorization.AccessPolicy)
{
org.apache.nifi.registry.security.authorization.file.generated.Policy v;
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.lang.String v, v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
v = new org.apache.nifi.registry.security.authorization.file.generated.Policy;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getIdentifier()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: void setIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.lang.String getResource()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: void setResource(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: org.apache.nifi.registry.security.authorization.RequestAction getAction()>();
v = specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.lang.String getActionCode(org.apache.nifi.registry.security.authorization.RequestAction)>(v);
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: void setAction(java.lang.String)>(v);
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void transferUsersAndGroups(org.apache.nifi.registry.security.authorization.AccessPolicy,org.apache.nifi.registry.security.authorization.file.generated.Policy)>(v, v);
return v;
}
private java.lang.String getActionCode(org.apache.nifi.registry.security.authorization.RequestAction)
{
java.lang.IllegalStateException v;
int[] v;
int v, v;
org.apache.nifi.registry.security.authorization.RequestAction v;
java.lang.String v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.RequestAction;
v = <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider$1: int[] $SwitchMap$org$apache$nifi$registry$security$authorization$RequestAction>;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.RequestAction: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
return "R";
label:
return "W";
label:
return "D";
label:
v = new java.lang.IllegalStateException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.nifi.registry.security.authorization.RequestAction)>(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[])>("Unknown action: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
private org.apache.nifi.registry.security.authorization.RequestAction getAction(java.lang.String)
{
java.lang.IllegalStateException v;
org.apache.nifi.registry.security.authorization.RequestAction v, v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
byte v;
int v;
java.lang.String v, v;
boolean v, v, v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: java.lang.String;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case 68: goto label;
case 82: goto label;
case 87: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("R");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("W");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("D");
if v == 0 goto label;
v = 2;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction READ>;
return v;
label:
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction WRITE>;
return v;
label:
v = <org.apache.nifi.registry.security.authorization.RequestAction: org.apache.nifi.registry.security.authorization.RequestAction DELETE>;
return v;
label:
v = new java.lang.IllegalStateException;
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[])>("Unknown action: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
}
private void transferUsersAndGroups(org.apache.nifi.registry.security.authorization.AccessPolicy, org.apache.nifi.registry.security.authorization.file.generated.Policy)
{
org.apache.nifi.registry.security.authorization.AccessPolicy v;
org.apache.nifi.registry.security.authorization.file.generated.Policy$User v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v, v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
java.util.List v, v, v, v;
org.apache.nifi.registry.security.authorization.file.generated.Policy$Group v;
org.apache.nifi.registry.security.authorization.file.generated.Policy v;
java.lang.Object v, v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.AccessPolicy;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Policy;
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getUser()>();
interfaceinvoke v.<java.util.List: void clear()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.util.Set getUsers()>();
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 = new org.apache.nifi.registry.security.authorization.file.generated.Policy$User;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$User: void <init>()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$User: void setIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getUser()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getGroup()>();
interfaceinvoke v.<java.util.List: void clear()>();
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.AccessPolicy: java.util.Set getGroups()>();
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 = new org.apache.nifi.registry.security.authorization.file.generated.Policy$Group;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$Group: void <init>()>();
virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy$Group: void setIdentifier(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.registry.security.authorization.file.generated.Policy: java.util.List getGroup()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
private synchronized void saveAndRefreshHolder(org.apache.nifi.registry.security.authorization.file.generated.Authorizations) throws org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException
{
java.lang.Throwable v;
org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder v;
java.util.concurrent.atomic.AtomicReference v;
org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException v;
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
org.apache.nifi.registry.security.authorization.file.generated.Authorizations v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
v := @parameter: org.apache.nifi.registry.security.authorization.file.generated.Authorizations;
label:
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: void saveAuthorizations(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
v = v.<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: java.util.concurrent.atomic.AtomicReference authorizationsHolder>;
v = new org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder;
specialinvoke v.<org.apache.nifi.registry.security.authorization.file.AuthorizationsHolder: void <init>(org.apache.nifi.registry.security.authorization.file.generated.Authorizations)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException;
specialinvoke v.<org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException: void <init>(java.lang.String,java.lang.Throwable)>("Unable to save Authorizations", v);
throw v;
label:
return;
catch javax.xml.bind.JAXBException from label to label with label;
}
public void preDestruction() throws org.apache.nifi.registry.security.exception.SecurityProviderDestructionException
{
org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider v;
v := @this: org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider;
return;
}
static void <clinit>()
{
javax.xml.stream.XMLOutputFactory v;
org.slf4j.Logger v;
javax.xml.bind.JAXBContext v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider;");
<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: org.slf4j.Logger logger> = v;
v = staticinvoke <org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.bind.JAXBContext initializeJaxbContext(java.lang.String)>("org.apache.nifi.registry.security.authorization.file.generated");
<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.bind.JAXBContext JAXB_AUTHORIZATIONS_CONTEXT> = v;
v = staticinvoke <javax.xml.stream.XMLOutputFactory: javax.xml.stream.XMLOutputFactory newInstance()>();
<org.apache.nifi.registry.security.authorization.file.FileAccessPolicyProvider: javax.xml.stream.XMLOutputFactory XML_OUTPUT_FACTORY> = v;
return;
}
}