Browse Source

Fixed fetch or SYSTEM rule chains

pull/2818/head
Volodymyr Babak 7 years ago
parent
commit
9dbe3d4d6b
  1. 3
      application/src/main/java/org/thingsboard/server/actors/shared/rulechain/TenantRuleChainManager.java
  2. 2
      application/src/main/java/org/thingsboard/server/controller/RuleChainController.java
  3. 2
      common/dao-api/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java
  4. 13
      dao/src/test/java/org/thingsboard/server/dao/service/BaseRuleChainServiceTest.java

3
application/src/main/java/org/thingsboard/server/actors/shared/rulechain/TenantRuleChainManager.java

@ -21,6 +21,7 @@ import org.thingsboard.server.actors.service.DefaultActorService;
import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.PageDataIterable.FetchFunction; import org.thingsboard.server.common.data.page.PageDataIterable.FetchFunction;
import org.thingsboard.server.common.data.rule.RuleChain; import org.thingsboard.server.common.data.rule.RuleChain;
import org.thingsboard.server.common.data.rule.RuleChainType;
public class TenantRuleChainManager extends RuleChainManager { public class TenantRuleChainManager extends RuleChainManager {
@ -48,6 +49,6 @@ public class TenantRuleChainManager extends RuleChainManager {
@Override @Override
protected FetchFunction<RuleChain> getFetchEntitiesFunction() { protected FetchFunction<RuleChain> getFetchEntitiesFunction() {
return link -> service.findTenantRuleChains(tenantId, link); return link -> service.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, link);
} }
} }

2
application/src/main/java/org/thingsboard/server/controller/RuleChainController.java

@ -243,7 +243,7 @@ public class RuleChainController extends BaseController {
RuleChainType type = RuleChainType.valueOf(typeStr); RuleChainType type = RuleChainType.valueOf(typeStr);
return checkNotNull(ruleChainService.findTenantRuleChainsByType(tenantId, type, pageLink)); return checkNotNull(ruleChainService.findTenantRuleChainsByType(tenantId, type, pageLink));
} else { } else {
return checkNotNull(ruleChainService.findTenantRuleChains(tenantId, pageLink)); return checkNotNull(ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink));
} }
} catch (Exception e) { } catch (Exception e) {
throw handleException(e); throw handleException(e);

2
common/dao-api/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java

@ -61,8 +61,6 @@ public interface RuleChainService {
List<EntityRelation> getRuleNodeRelations(TenantId tenantId, RuleNodeId ruleNodeId); List<EntityRelation> getRuleNodeRelations(TenantId tenantId, RuleNodeId ruleNodeId);
TextPageData<RuleChain> findTenantRuleChains(TenantId tenantId, TextPageLink pageLink);
TextPageData<RuleChain> findTenantRuleChainsByType(TenantId tenantId, RuleChainType type, TextPageLink pageLink); TextPageData<RuleChain> findTenantRuleChainsByType(TenantId tenantId, RuleChainType type, TextPageLink pageLink);
void deleteRuleChainById(TenantId tenantId, RuleChainId ruleChainId); void deleteRuleChainById(TenantId tenantId, RuleChainId ruleChainId);

13
dao/src/test/java/org/thingsboard/server/dao/service/BaseRuleChainServiceTest.java

@ -29,6 +29,7 @@ import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.relation.EntityRelation; import org.thingsboard.server.common.data.relation.EntityRelation;
import org.thingsboard.server.common.data.rule.RuleChain; import org.thingsboard.server.common.data.rule.RuleChain;
import org.thingsboard.server.common.data.rule.RuleChainMetaData; import org.thingsboard.server.common.data.rule.RuleChainMetaData;
import org.thingsboard.server.common.data.rule.RuleChainType;
import org.thingsboard.server.common.data.rule.RuleNode; import org.thingsboard.server.common.data.rule.RuleNode;
import org.thingsboard.server.dao.exception.DataValidationException; import org.thingsboard.server.dao.exception.DataValidationException;
@ -143,7 +144,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
TextPageLink pageLink = new TextPageLink(16); TextPageLink pageLink = new TextPageLink(16);
TextPageData<RuleChain> pageData = null; TextPageData<RuleChain> pageData = null;
do { do {
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
loadedRuleChains.addAll(pageData.getData()); loadedRuleChains.addAll(pageData.getData());
if (pageData.hasNext()) { if (pageData.hasNext()) {
pageLink = pageData.getNextPageLink(); pageLink = pageData.getNextPageLink();
@ -158,7 +159,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
ruleChainService.deleteRuleChainsByTenantId(tenantId); ruleChainService.deleteRuleChainsByTenantId(tenantId);
pageLink = new TextPageLink(31); pageLink = new TextPageLink(31);
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
Assert.assertFalse(pageData.hasNext()); Assert.assertFalse(pageData.hasNext());
Assert.assertTrue(pageData.getData().isEmpty()); Assert.assertTrue(pageData.getData().isEmpty());
@ -194,7 +195,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
TextPageLink pageLink = new TextPageLink(19, name1); TextPageLink pageLink = new TextPageLink(19, name1);
TextPageData<RuleChain> pageData = null; TextPageData<RuleChain> pageData = null;
do { do {
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
loadedRuleChainsName1.addAll(pageData.getData()); loadedRuleChainsName1.addAll(pageData.getData());
if (pageData.hasNext()) { if (pageData.hasNext()) {
pageLink = pageData.getNextPageLink(); pageLink = pageData.getNextPageLink();
@ -209,7 +210,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
List<RuleChain> loadedRuleChainsName2 = new ArrayList<>(); List<RuleChain> loadedRuleChainsName2 = new ArrayList<>();
pageLink = new TextPageLink(4, name2); pageLink = new TextPageLink(4, name2);
do { do {
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
loadedRuleChainsName2.addAll(pageData.getData()); loadedRuleChainsName2.addAll(pageData.getData());
if (pageData.hasNext()) { if (pageData.hasNext()) {
pageLink = pageData.getNextPageLink(); pageLink = pageData.getNextPageLink();
@ -226,7 +227,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
} }
pageLink = new TextPageLink(4, name1); pageLink = new TextPageLink(4, name1);
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
Assert.assertFalse(pageData.hasNext()); Assert.assertFalse(pageData.hasNext());
Assert.assertEquals(0, pageData.getData().size()); Assert.assertEquals(0, pageData.getData().size());
@ -235,7 +236,7 @@ public abstract class BaseRuleChainServiceTest extends AbstractServiceTest {
} }
pageLink = new TextPageLink(4, name2); pageLink = new TextPageLink(4, name2);
pageData = ruleChainService.findTenantRuleChains(tenantId, pageLink); pageData = ruleChainService.findTenantRuleChainsByType(tenantId, RuleChainType.SYSTEM, pageLink);
Assert.assertFalse(pageData.hasNext()); Assert.assertFalse(pageData.hasNext());
Assert.assertEquals(0, pageData.getData().size()); Assert.assertEquals(0, pageData.getData().size());
} }

Loading…
Cancel
Save