public class org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman extends java.lang.Object implements org.apache.isis.applib.services.userreg.UserRegistrationService
{
private final org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository;
private final org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository;
private final org.apache.isis.core.config.IsisConfiguration isisConfiguration;
public boolean usernameExists(java.lang.String)
{
org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman v;
java.util.Optional v;
java.lang.String v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
boolean v;
v := @this: org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman;
v := @parameter: java.lang.String;
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: 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 = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
return v;
}
public void registerUser(org.apache.isis.applib.services.userreg.UserDetails)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository v;
org.apache.isis.applib.value.Password v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$UserRegistration v;
java.util.function.Function v, v;
org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman v;
org.apache.isis.applib.services.userreg.UserDetails v;
java.lang.String v, v, v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
boolean v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser v;
java.util.function.Predicate v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus v;
org.apache.isis.core.config.IsisConfiguration$Extensions$Secman v;
java.util.function.Consumer v;
org.apache.isis.core.config.IsisConfiguration$Extensions v;
java.util.List v;
java.util.stream.Stream v, v, v, v;
org.apache.isis.core.config.IsisConfiguration v;
v := @this: org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman;
v := @parameter: org.apache.isis.applib.services.userreg.UserDetails;
v = new org.apache.isis.applib.value.Password;
v = virtualinvoke v.<org.apache.isis.applib.services.userreg.UserDetails: java.lang.String getPassword()>();
specialinvoke v.<org.apache.isis.applib.value.Password: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.isis.applib.services.userreg.UserDetails: java.lang.String getUsername()>();
v = virtualinvoke v.<org.apache.isis.applib.services.userreg.UserDetails: java.lang.String getEmailAddress()>();
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository>;
v = <org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus UNLOCKED>;
v = interfaceinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser newLocalUser(java.lang.String,org.apache.isis.applib.value.Password,org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus)>(v, v, v);
v = staticinvoke <org.apache.isis.commons.internal.base._Strings: boolean isNotEmpty(java.lang.CharSequence)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser: void setEmailAddress(java.lang.String)>(v);
label:
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.core.config.IsisConfiguration isisConfiguration>;
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.core.config.IsisConfiguration$Extensions$Secman: org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$UserRegistration getUserRegistration()>();
v = virtualinvoke v.<org.apache.isis.core.config.IsisConfiguration$Extensions$Secman$UserRegistration: java.util.List getInitialRoleNames()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman$findByName__22: java.util.function.Function bootstrap$(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman$isPresent__23: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman$get__24: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman$lambda_registerUser_0__25: java.util.function.Consumer bootstrap$(org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman,org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser)>(v, v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
public boolean emailExists(java.lang.String)
{
org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman v;
java.util.Optional v;
java.lang.String v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
boolean v;
v := @this: org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman;
v := @parameter: java.lang.String;
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: 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 findByEmailAddress(java.lang.String)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
return v;
}
public boolean updatePasswordByEmail(java.lang.String, java.lang.String)
{
java.util.function.Function v;
org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman v;
java.lang.Boolean v;
java.util.Optional v, v;
java.lang.Object v;
java.lang.String v, v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
boolean v;
v := @this: org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: 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 findByEmailAddress(java.lang.String)>(v);
v = staticinvoke <org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman$lambda_updatePasswordByEmail_1__26: java.util.function.Function bootstrap$(org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman,java.lang.String)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
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.core.config.IsisConfiguration)
{
org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository v;
org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman v;
org.apache.isis.core.config.IsisConfiguration v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
v := @this: org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman;
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.core.config.IsisConfiguration;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository applicationUserRepository> = v;
v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.extensions.secman.applib.role.dom.ApplicationRoleRepository applicationRoleRepository> = v;
v.<org.apache.isis.extensions.secman.integration.userreg.UserRegistrationServiceForSecman: org.apache.isis.core.config.IsisConfiguration isisConfiguration> = v;
return;
}
}