public class org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor extends org.apache.isis.core.metamodel.postprocessors.ObjectSpecificationPostProcessorAbstract
{
org.apache.isis.applib.services.registry.ServiceRegistry serviceRegistry;
org.apache.isis.applib.services.user.UserService userService;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository userRepository;
javax.inject.Provider queryResultsCacheProvider;
public void <init>(org.apache.isis.core.metamodel.context.MetaModelContext)
{
org.apache.isis.core.metamodel.context.MetaModelContext v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.context.MetaModelContext;
specialinvoke v.<org.apache.isis.core.metamodel.postprocessors.ObjectSpecificationPostProcessorAbstract: void <init>(org.apache.isis.core.metamodel.context.MetaModelContext)>(v);
return;
}
public void doPostProcess(org.apache.isis.core.metamodel.spec.ObjectSpecification)
{
java.util.Optional v;
java.lang.Class v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.Class getCorrespondingClass()>();
v = specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: java.util.Optional createFacet(java.lang.Class,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
staticinvoke <org.apache.isis.core.metamodel.facetapi.FacetUtil: java.util.Optional addFacetIfPresent(java.util.Optional)>(v);
return;
}
protected void doPostProcess(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.core.metamodel.spec.feature.ObjectAction)
{
org.apache.isis.core.metamodel.spec.feature.ObjectAction v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.ObjectAction;
specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: void addFacetTo(org.apache.isis.core.metamodel.spec.ObjectSpecification,org.apache.isis.core.metamodel.spec.feature.ObjectFeature)>(v, v);
return;
}
protected void doPostProcess(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.core.metamodel.spec.feature.ObjectAction, org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter)
{
org.apache.isis.core.metamodel.spec.feature.ObjectAction v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.ObjectAction;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
return;
}
protected void doPostProcess(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation)
{
org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: void addFacetTo(org.apache.isis.core.metamodel.spec.ObjectSpecification,org.apache.isis.core.metamodel.spec.feature.ObjectFeature)>(v, v);
return;
}
protected void doPostProcess(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation)
{
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: void addFacetTo(org.apache.isis.core.metamodel.spec.ObjectSpecification,org.apache.isis.core.metamodel.spec.feature.ObjectFeature)>(v, v);
return;
}
private void addFacetTo(org.apache.isis.core.metamodel.spec.ObjectSpecification, org.apache.isis.core.metamodel.spec.feature.ObjectFeature)
{
java.util.Optional v;
java.lang.Class v;
org.apache.isis.core.metamodel.spec.ObjectSpecification v;
org.apache.isis.core.metamodel.spec.feature.ObjectFeature v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: org.apache.isis.core.metamodel.spec.ObjectSpecification;
v := @parameter: org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
v = interfaceinvoke v.<org.apache.isis.core.metamodel.spec.ObjectSpecification: java.lang.Class getCorrespondingClass()>();
v = specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: java.util.Optional createFacet(java.lang.Class,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v);
staticinvoke <org.apache.isis.core.metamodel.facetapi.FacetUtil: java.util.Optional addFacetIfPresent(java.util.Optional)>(v);
return;
}
private java.util.Optional createFacet(java.lang.Class, org.apache.isis.core.metamodel.facetapi.FacetHolder)
{
javax.inject.Provider v;
org.apache.isis.commons.collections.Can v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationFacetDefault v;
org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor v;
org.apache.isis.applib.services.registry.ServiceRegistry v;
java.util.stream.Collector v;
org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository v;
org.apache.isis.applib.services.user.UserService v;
boolean v;
org.apache.isis.core.metamodel.facetapi.FacetHolder v;
java.util.function.Predicate v;
java.util.stream.Stream v, v;
java.util.Optional v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor;
v := @parameter: java.lang.Class;
v := @parameter: org.apache.isis.core.metamodel.facetapi.FacetHolder;
v = v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: org.apache.isis.applib.services.registry.ServiceRegistry serviceRegistry>;
v = interfaceinvoke v.<org.apache.isis.applib.services.registry.ServiceRegistry: org.apache.isis.commons.collections.Can select(java.lang.Class)>(class "Lorg/apache/isis/extensions/secman/applib/tenancy/spi/ApplicationTenancyEvaluator;");
v = interfaceinvoke v.<org.apache.isis.commons.collections.Can: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor$lambda_createFacet_0__9: java.util.function.Predicate bootstrap$(java.lang.Class)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(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);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
goto label;
label:
v = new org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationFacetDefault;
v = v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository userRepository>;
v = v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: javax.inject.Provider queryResultsCacheProvider>;
v = v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationPostProcessor: org.apache.isis.applib.services.user.UserService userService>;
specialinvoke v.<org.apache.isis.extensions.secman.integration.facets.TenantedAuthorizationFacetDefault: void <init>(java.util.List,org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserRepository,javax.inject.Provider,org.apache.isis.applib.services.user.UserService,org.apache.isis.core.metamodel.facetapi.FacetHolder)>(v, v, v, v, v);
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
label:
return v;
}
}