public class org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions extends java.lang.Object
{
private org.apache.isis.applib.services.message.MessageService messageService;
private org.apache.isis.core.config.IsisConfiguration config;
private org.apache.isis.applib.services.repository.RepositoryService repository;
private org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository;
private final org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole target;
public org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole act(java.util.Collection)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole v;
java.util.function.Predicate v;
java.util.Collection v;
org.apache.isis.applib.services.repository.RepositoryService v;
org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions v;
java.util.function.Consumer v;
java.util.stream.Stream v, v;
v := @this: org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions;
v := @parameter: java.util.Collection;
v = staticinvoke <org.apache.isis.commons.internal.base._NullSafe: java.util.stream.Stream stream(java.util.Collection)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions$canRemove__43: java.util.function.Predicate bootstrap$(org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.applib.services.repository.RepositoryService repository>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions$remove__44: java.util.function.Consumer bootstrap$(org.apache.isis.applib.services.repository.RepositoryService)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole target>;
return v;
}
public boolean canRemove(org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository v;
org.apache.isis.applib.services.message.MessageService v;
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole v, v, v;
org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman v;
org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission v;
org.apache.isis.core.config.IsisConfiguration$Extensions v;
java.lang.String v;
org.apache.isis.core.config.IsisConfiguration v;
boolean v, v, v;
v := @this: org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions;
v := @parameter: org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission;
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole getRole()>();
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole target>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository>;
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole target>;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository: boolean isAdminRole(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole)>(v);
if v == 0 goto label;
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.core.config.IsisConfiguration config>;
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration: org.apache.isis.core.config.IsisConfiguration$Extensions getExtensions()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman getSecman()>();
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission: java.lang.String getFeatureFqn()>();
v = staticinvoke <org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: boolean isStickyAdminNamespace(org.apache.isis.core.config.IsisConfiguration$Extensions$Secman,java.lang.String)>(v, v);
if v == 0 goto label;
v = v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.applib.services.message.MessageService messageService>;
interfaceinvoke v.<org.apache.isis.applib.services.message.MessageService: void warnUser(java.lang.String)>("Cannot remove top-level namespace permissions for the admin role.");
return 0;
label:
return 1;
}
private static boolean isStickyAdminNamespace(org.apache.isis.core.config.IsisConfiguration$Extensions$Secman, java.lang.String)
{
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed v;
java.util.function.Predicate v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman v;
java.util.List v;
java.util.stream.Stream v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin$NamespacePermissions v;
java.lang.String v;
boolean v;
v := @parameter: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions$Secman: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed getSeed()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin getAdmin()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin$NamespacePermissions getNamespacePermissions()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$Seed$Admin$NamespacePermissions: java.util.List getSticky()>();
v = staticinvoke <org.apache.isis.commons.internal.base._NullSafe: java.util.stream.Stream stream(java.util.Collection)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions$lambda_isStickyAdminNamespace_0__45: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
return v;
}
public void <init>(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole v;
org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions v;
v := @this: org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions;
v := @parameter: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.isis.extensions.secman.applib.role.dom.mixins.ApplicationRole_removePermissions: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole target> = v;
return;
}
}