Browse Source

change EntitiesByNameAndTypeLoader

pull/7245/head
Yuriy Lytvynchuk 4 years ago
parent
commit
a383efdb4a
  1. 9
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java
  2. 15
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeLoader.java

9
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()));
}

15
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/util/EntitiesByNameAndTypeAsyncLoader.java → 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<? extends EntityId> 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;
}
}
Loading…
Cancel
Save