change EntitiesByNameAndTypeLoader
This commit is contained in:
parent
b22cb59e4b
commit
a383efdb4a
@ -25,8 +25,8 @@ import org.thingsboard.rule.engine.api.TbNodeConfiguration;
|
|||||||
import org.thingsboard.rule.engine.api.TbNodeException;
|
import org.thingsboard.rule.engine.api.TbNodeException;
|
||||||
import org.thingsboard.rule.engine.api.util.TbNodeUtils;
|
import org.thingsboard.rule.engine.api.util.TbNodeUtils;
|
||||||
import org.thingsboard.rule.engine.util.EntitiesAlarmOriginatorIdAsyncLoader;
|
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.EntitiesCustomerIdAsyncLoader;
|
||||||
import org.thingsboard.rule.engine.util.EntitiesByNameAndTypeAsyncLoader;
|
|
||||||
import org.thingsboard.rule.engine.util.EntitiesRelatedEntityIdAsyncLoader;
|
import org.thingsboard.rule.engine.util.EntitiesRelatedEntityIdAsyncLoader;
|
||||||
import org.thingsboard.rule.engine.util.EntitiesTenantIdAsyncLoader;
|
import org.thingsboard.rule.engine.util.EntitiesTenantIdAsyncLoader;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
@ -93,7 +93,12 @@ public class TbChangeOriginatorNode extends TbAbstractTransformNode {
|
|||||||
case ENTITY_SOURCE:
|
case ENTITY_SOURCE:
|
||||||
EntityType entityType = EntityType.valueOf(config.getEntityType());
|
EntityType entityType = EntityType.valueOf(config.getEntityType());
|
||||||
String entityName = TbNodeUtils.processPattern(config.getEntityNamePattern(), msg);
|
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:
|
default:
|
||||||
return Futures.immediateFailedFuture(new IllegalStateException("Unexpected originator source " + config.getOriginatorSource()));
|
return Futures.immediateFailedFuture(new IllegalStateException("Unexpected originator source " + config.getOriginatorSource()));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.rule.engine.util;
|
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.rule.engine.api.TbContext;
|
||||||
import org.thingsboard.server.common.data.Customer;
|
import org.thingsboard.server.common.data.Customer;
|
||||||
import org.thingsboard.server.common.data.DashboardInfo;
|
import org.thingsboard.server.common.data.DashboardInfo;
|
||||||
@ -32,9 +30,9 @@ import org.thingsboard.server.common.data.page.PageLink;
|
|||||||
|
|
||||||
import java.util.Optional;
|
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;
|
EntityId targetEntity = null;
|
||||||
switch (entityType) {
|
switch (entityType) {
|
||||||
case DEVICE:
|
case DEVICE:
|
||||||
@ -85,15 +83,8 @@ public class EntitiesByNameAndTypeAsyncLoader {
|
|||||||
targetEntity = user.getId();
|
targetEntity = user.getId();
|
||||||
}
|
}
|
||||||
break;
|
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…
x
Reference in New Issue
Block a user