change EntitiesByNameAndTypeLoader

This commit is contained in:
Yuriy Lytvynchuk 2022-09-19 10:51:31 +03:00
parent b22cb59e4b
commit a383efdb4a
2 changed files with 10 additions and 14 deletions

View File

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

View File

@ -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;
}
}