From ed6de776e458e53b9085b554927f7f4cfd771233 Mon Sep 17 00:00:00 2001 From: mp-loki Date: Sun, 14 May 2017 20:16:01 -0400 Subject: [PATCH] removeById fixed --- .../server/dao/sql/JpaAbstractDao.java | 3 +- .../dao/sql/rule/JpaBaseRuleDaoTest.java | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java b/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java index 8d0100d9ad..f32c9ce9b2 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/JpaAbstractDao.java @@ -66,6 +66,7 @@ public abstract class JpaAbstractDao, D> implements Dao< } @Override + @Transactional(propagation = REQUIRES_NEW) public D findById(UUID key) { log.debug("Get entity by key {}", key); E entity = getCrudRepository().findOne(key); @@ -86,7 +87,7 @@ public abstract class JpaAbstractDao, D> implements Dao< public boolean removeById(UUID key) { getCrudRepository().delete(key); log.debug("Remove request: {}", key); - return getCrudRepository().equals(key); + return getCrudRepository().findOne(key) == null; } @Override diff --git a/dao/src/test/java/org/thingsboard/server/dao/sql/rule/JpaBaseRuleDaoTest.java b/dao/src/test/java/org/thingsboard/server/dao/sql/rule/JpaBaseRuleDaoTest.java index 7779652492..d613faccf9 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/sql/rule/JpaBaseRuleDaoTest.java +++ b/dao/src/test/java/org/thingsboard/server/dao/sql/rule/JpaBaseRuleDaoTest.java @@ -31,8 +31,7 @@ import java.io.IOException; import java.util.List; import java.util.UUID; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.*; /** * Created by Valerii Sosliuk on 4/30/2017. @@ -46,10 +45,7 @@ public class JpaBaseRuleDaoTest extends AbstractJpaDaoTest { @DatabaseSetup("classpath:dbunit/empty_dataset.xml") public void testSave() throws IOException { UUID id = UUIDs.timeBased(); - RuleMetaData ruleMetaData = new RuleMetaData(); - ruleMetaData.setId(new RuleId(id)); - ruleMetaData.setTenantId(new TenantId(UUIDs.timeBased())); - ruleMetaData.setName("test"); + RuleMetaData ruleMetaData = getRuleMetaData(id); String filters = "{\"filters\":\"value-1\"}"; String processor = "{\"processor\":\"value-2\"}"; String action = "{\"action\":\"value-3\"}"; @@ -68,6 +64,19 @@ public class JpaBaseRuleDaoTest extends AbstractJpaDaoTest { assertEquals(additionalInfo, savedRule.getAdditionalInfo().toString()); } + @Test + @DatabaseSetup("classpath:dbunit/empty_dataset.xml") + public void testDelete() throws IOException { + UUID id = UUIDs.timeBased(); + RuleMetaData ruleMetaData = getRuleMetaData(id); + ruleDao.save(ruleMetaData); + RuleMetaData savedRule = ruleDao.findById(id); + assertNotNull(savedRule); + assertTrue(ruleDao.removeById(id)); + RuleMetaData afterDelete = ruleDao.findById(id); + assertNull(afterDelete); + } + @Test @DatabaseSetup("classpath:dbunit/rule.xml") public void testFindRulesByPlugin() { @@ -135,4 +144,13 @@ public class JpaBaseRuleDaoTest extends AbstractJpaDaoTest { ruleMetaData.setPluginToken(pluginToken); ruleDao.save(ruleMetaData); } + + private RuleMetaData getRuleMetaData(UUID id) throws IOException { + RuleMetaData ruleMetaData = new RuleMetaData(); + ruleMetaData.setId(new RuleId(id)); + ruleMetaData.setTenantId(new TenantId(UUIDs.timeBased())); + ruleMetaData.setName("test"); + + return ruleMetaData; + } }