From 607c98b819be9c64c8ef4dff1c8ff455044429af Mon Sep 17 00:00:00 2001 From: Michael Hirsch Date: Fri, 29 Apr 2016 07:21:43 +0200 Subject: [PATCH 1/2] remove current tenant null check cause not all queries have current tenant and must set it for tenant indenpendent queries like SystemManagement Signed-off-by: Michael Hirsch --- .../eclipse/hawkbit/MultiTenantJpaTransactionManager.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java index a45c846a9..597aee5e8 100644 --- a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java +++ b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java @@ -11,7 +11,6 @@ package org.eclipse.hawkbit; import javax.persistence.EntityManager; import javax.transaction.Transaction; -import org.eclipse.hawkbit.repository.exception.TenantNotExistException; import org.eclipse.hawkbit.tenancy.TenantAware; import org.eclipse.persistence.config.PersistenceUnitProperties; import org.springframework.beans.factory.annotation.Autowired; @@ -41,11 +40,8 @@ public class MultiTenantJpaTransactionManager extends JpaTransactionManager { final EntityManager em = emHolder.getEntityManager(); final String currentTenant = tenantAware.getCurrentTenant(); - if (currentTenant == null) { - throw new TenantNotExistException("Tenant Unknown. Canceling transaction."); + if (currentTenant != null) { + em.setProperty(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, currentTenant.toUpperCase()); } - - em.setProperty(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, currentTenant.toUpperCase()); - } } From c1b9fb48e89a49c02910709e8d9f9b460c2987d7 Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Fri, 29 Apr 2016 08:44:29 +0200 Subject: [PATCH 2/2] No need to get EM if no tenant has to be set. Signed-off-by: Kai Zimmermann --- .../eclipse/hawkbit/MultiTenantJpaTransactionManager.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java index 597aee5e8..b3821e5f3 100644 --- a/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java +++ b/hawkbit-repository/src/main/java/org/eclipse/hawkbit/MultiTenantJpaTransactionManager.java @@ -35,12 +35,11 @@ public class MultiTenantJpaTransactionManager extends JpaTransactionManager { protected void doBegin(final Object transaction, final TransactionDefinition definition) { super.doBegin(transaction, definition); - final EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager - .getResource(getEntityManagerFactory()); - final EntityManager em = emHolder.getEntityManager(); - final String currentTenant = tenantAware.getCurrentTenant(); if (currentTenant != null) { + final EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager + .getResource(getEntityManagerFactory()); + final EntityManager em = emHolder.getEntityManager(); em.setProperty(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, currentTenant.toUpperCase()); } }