Package grails.plugin.multitenant.core

Examples of grails.plugin.multitenant.core.MultiTenantDomainClass


                        + event.getEntity().getClass().getSimpleName() + "', but no tenant is set");
            }

            Integer currentTenantId = currentTenant.get();
            hibernateEventPropertyUpdater.updateProperty(event, MultiTenantAST.TENANT_ID_FIELD_NAME, currentTenantId);
            MultiTenantDomainClass entity = (MultiTenantDomainClass) event.getEntity();
            entity.setTenantId(currentTenantId);
        }

        return false;
    }
View Full Code Here


     */
    @Override
    public boolean onPreUpdate(PreUpdateEvent event) {
        if (isMultiTenantEntity(event.getEntity())) {
            Integer currentTenantId = currentTenant.get();
            MultiTenantDomainClass entity = (MultiTenantDomainClass) event.getEntity();
            Integer entityTenantId = entity.getTenantId();
            if (currentTenantId != null && !currentTenantId.equals(entityTenantId)) {
                throw new TenantSecurityException("Tried to update '" + event.getEntity() + "' with another tenant id. Expected "
                        + currentTenantId + ", found " + entityTenantId, currentTenantId, entityTenantId);
            }
        }
View Full Code Here

    @Override
    public void onLoad(LoadEvent event, LoadType loadType) throws HibernateException {
        Object LoadedEntity = event.getResult();
        if (LoadedEntity != null && isMultiTenantEntity(LoadedEntity)) {
            MultiTenantDomainClass entity = (MultiTenantDomainClass) LoadedEntity;
            Integer currentTenantId = currentTenant.get();

            // We won't be able to extract tenant-id from an association fetch.
            // TODO: This is a bit scary as it means that we potentially can load entities from
            // other tenants through various variants of Hibernate collection / lazy loading.
            if (!event.isAssociationFetch() && !allowEntityLoad(currentTenantId, entity)) {
                log.debug("Refusing tenant {} to load {}", currentTenant.get(), entity.getClass().getSimpleName());
                event.setResult(null);
            }
        }
    }
View Full Code Here

    @Override
    public boolean onPreDelete(PreDeleteEvent event) {
        boolean shouldVetoDelete = false;
        if (isMultiTenantEntity(event.getEntity())) {
            MultiTenantDomainClass tenantEntity = (MultiTenantDomainClass) event.getEntity();
            Integer currentTenantId = currentTenant.get();

            if (currentTenantId != null && !belongsToCurrentTenant(currentTenantId, tenantEntity)) {
                log.warn("Tenant {} tried to delete another tenants entity {}", currentTenant.get(), tenantEntity);
                shouldVetoDelete = true;
View Full Code Here

TOP

Related Classes of grails.plugin.multitenant.core.MultiTenantDomainClass

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.