diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java index 62cae3c835..b47988e0f3 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java @@ -25,8 +25,8 @@ import org.thingsboard.rule.engine.api.TbNodeConfiguration; import org.thingsboard.rule.engine.api.TbNodeException; import org.thingsboard.rule.engine.api.util.TbNodeUtils; import org.thingsboard.rule.engine.util.EntitiesAlarmOriginatorIdAsyncLoader; +import org.thingsboard.rule.engine.util.EntitiesByNameAndTypeLoader; import org.thingsboard.rule.engine.util.EntitiesCustomerIdAsyncLoader; -import org.thingsboard.rule.engine.util.EntitiesByNameAndTypeAsyncLoader; import org.thingsboard.rule.engine.util.EntitiesRelatedEntityIdAsyncLoader; import org.thingsboard.rule.engine.util.EntitiesTenantIdAsyncLoader; import org.thingsboard.server.common.data.EntityType; @@ -93,7 +93,12 @@ public class TbChangeOriginatorNode extends TbAbstractTransformNode { case ENTITY_SOURCE: EntityType entityType = EntityType.valueOf(config.getEntityType()); String entityName = TbNodeUtils.processPattern(config.getEntityNamePattern(), msg); - return EntitiesByNameAndTypeAsyncLoader.findEntityIdAsync(ctx, entityType, entityName); + EntityId targetEntity = EntitiesByNameAndTypeLoader.findEntityId(ctx, entityType, entityName); + if (targetEntity != null) { + return Futures.immediateFuture(targetEntity); + } else { + return Futures.immediateFailedFuture(new IllegalStateException("Failed to found " + entityType.name() + " entity by name: '" + entityName + "'!")); + } default: return Futures.immediateFailedFuture(new IllegalStateException("Unexpected originator source " + config.getOriginatorSource())); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeAsyncLoader.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java similarity index 84% rename from rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeAsyncLoader.java rename to rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java index ac5d525341..14cc95299a 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeAsyncLoader.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java @@ -15,8 +15,6 @@ */ package org.thingsboard.rule.engine.util; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; import org.thingsboard.rule.engine.api.TbContext; import org.thingsboard.server.common.data.Customer; import org.thingsboard.server.common.data.DashboardInfo; @@ -32,9 +30,9 @@ import org.thingsboard.server.common.data.page.PageLink; import java.util.Optional; -public class EntitiesByNameAndTypeAsyncLoader { +public class EntitiesByNameAndTypeLoader { - public static ListenableFuture findEntityIdAsync(TbContext ctx, EntityType entityType, String entityName) { + public static EntityId findEntityId(TbContext ctx, EntityType entityType, String entityName) { EntityId targetEntity = null; switch (entityType) { case DEVICE: @@ -85,15 +83,8 @@ public class EntitiesByNameAndTypeAsyncLoader { targetEntity = user.getId(); } break; - default: - return Futures.immediateFailedFuture(new IllegalStateException("Unexpected entity type " + entityType.name())); - } - - if (targetEntity != null) { - return Futures.immediateFuture(targetEntity); - } else { - return Futures.immediateFailedFuture(new IllegalStateException("Failed to found " + entityType.name() + " entity by name: '" + entityName + "'!")); } + return targetEntity; } }