public class org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman extends java.lang.Object implements org.apache.isis.applib.services.user.ImpersonateMenuAdvisor
{
final org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository;
final org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository;
final org.apache.isis.applib.services.user.UserService userService;
final org.apache.isis.applib.services.message.MessageService messageService;
final javax.inject.Provider cache;
public java.util.List allUserNames()
{
java.util.List v;
org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman v;
javax.inject.Provider v;
java.lang.Object v;
java.util.function.Supplier v;
v := @this: org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman;
v = v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: javax.inject.Provider cache>;
v = interfaceinvoke v.<javax.inject.Provider: java.lang.Object get()>();
v = staticinvoke <org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$lambda_allUserNames_1__11: java.util.function.Supplier bootstrap$(org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman)>(v);
v = virtualinvoke v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$Cache: java.util.List allUserNamesComputeIfAbsent(java.util.function.Supplier)>(v);
return v;
}
public java.util.List allRoleNames()
{
java.util.List v;
org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman v;
javax.inject.Provider v;
java.lang.Object v;
java.util.function.Supplier v;
v := @this: org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman;
v = v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: javax.inject.Provider cache>;
v = interfaceinvoke v.<javax.inject.Provider: java.lang.Object get()>();
v = staticinvoke <org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$lambda_allRoleNames_2__12: java.util.function.Supplier bootstrap$(org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman)>(v);
v = virtualinvoke v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$Cache: java.util.List allRoleNamesComputeIfAbsent(java.util.function.Supplier)>(v);
return v;
}
public java.util.List roleNamesFor(java.lang.String)
{
java.util.Set v;
java.util.function.Function v;
java.util.function.Supplier v;
java.util.List v;
org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman v;
java.util.stream.Stream v, v;
java.util.Optional v;
java.lang.Object v, v;
java.lang.String v;
java.util.stream.Collector v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
v := @this: org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman;
v := @parameter: java.lang.String;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository>;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository: java.util.Optional findByUsername(java.lang.String)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$init__13: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser: java.util.Set getRoles()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$getName__14: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
public java.lang.String multiTenancyTokenFor(java.lang.String)
{
org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman v;
java.util.Optional v;
java.lang.Object v;
java.lang.String v, v;
java.util.function.Supplier v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
v := @this: org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman;
v := @parameter: java.lang.String;
if v != null goto label;
return null;
label:
v = v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository>;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository: java.util.Optional findByUsername(java.lang.String)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman$init__15: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser: java.lang.String getAtPath()>();
return v;
}
public void <init>(org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository, org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository, org.apache.isis.applib.services.user.UserService, org.apache.isis.applib.services.message.MessageService, javax.inject.Provider)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository v;
org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman v;
org.apache.isis.applib.services.message.MessageService v;
javax.inject.Provider v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
org.apache.isis.applib.services.user.UserService v;
v := @this: org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman;
v := @parameter: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository;
v := @parameter: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository;
v := @parameter: org.apache.isis.applib.services.user.UserService;
v := @parameter: org.apache.isis.applib.services.message.MessageService;
v := @parameter: javax.inject.Provider;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository> = v;
v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository> = v;
v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.applib.services.user.UserService userService> = v;
v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: org.apache.isis.applib.services.message.MessageService messageService> = v;
v.<org.apache.isis.extensions.secman.integration.spiimpl.ImpersonateMenuAdvisorForSecman: javax.inject.Provider cache> = v;
return;
}
}