minor fixes
This commit is contained in:
parent
609a5dc34b
commit
e018282d04
@ -116,6 +116,9 @@ public class CalculatedFieldEntityMessageProcessor extends AbstractContextAwareM
|
|||||||
var cfState = getOrInitState(cfCtx);
|
var cfState = getOrInitState(cfCtx);
|
||||||
processStateIfReady(cfCtx, Collections.singletonList(cfCtx.getCfId()), cfState, null, null, msg.getCallback());
|
processStateIfReady(cfCtx, Collections.singletonList(cfCtx.getCfId()), cfState, null, null, msg.getCallback());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
if (e instanceof CalculatedFieldException cfe) {
|
||||||
|
throw cfe;
|
||||||
|
}
|
||||||
throw CalculatedFieldException.builder().ctx(cfCtx).eventEntity(entityId).cause(e).build();
|
throw CalculatedFieldException.builder().ctx(cfCtx).eventEntity(entityId).cause(e).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,7 +30,6 @@ import org.thingsboard.server.common.data.id.AssetId;
|
|||||||
import org.thingsboard.server.common.data.id.CalculatedFieldId;
|
import org.thingsboard.server.common.data.id.CalculatedFieldId;
|
||||||
import org.thingsboard.server.common.data.id.DeviceId;
|
import org.thingsboard.server.common.data.id.DeviceId;
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
import org.thingsboard.server.common.data.id.EntityIdFactory;
|
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.msg.cf.CalculatedFieldEntityLifecycleMsg;
|
import org.thingsboard.server.common.msg.cf.CalculatedFieldEntityLifecycleMsg;
|
||||||
import org.thingsboard.server.common.msg.cf.CalculatedFieldInitMsg;
|
import org.thingsboard.server.common.msg.cf.CalculatedFieldInitMsg;
|
||||||
@ -39,7 +38,6 @@ import org.thingsboard.server.common.msg.cf.CalculatedFieldPartitionChangeMsg;
|
|||||||
import org.thingsboard.server.common.msg.plugin.ComponentLifecycleMsg;
|
import org.thingsboard.server.common.msg.plugin.ComponentLifecycleMsg;
|
||||||
import org.thingsboard.server.common.msg.queue.TbCallback;
|
import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||||
import org.thingsboard.server.dao.cf.CalculatedFieldService;
|
import org.thingsboard.server.dao.cf.CalculatedFieldService;
|
||||||
import org.thingsboard.server.gen.transport.TransportProtos.CalculatedFieldEntityCtxIdProto;
|
|
||||||
import org.thingsboard.server.service.cf.CalculatedFieldProcessingService;
|
import org.thingsboard.server.service.cf.CalculatedFieldProcessingService;
|
||||||
import org.thingsboard.server.service.cf.CalculatedFieldStateService;
|
import org.thingsboard.server.service.cf.CalculatedFieldStateService;
|
||||||
import org.thingsboard.server.service.cf.cache.CalculatedFieldEntityProfileCache;
|
import org.thingsboard.server.service.cf.cache.CalculatedFieldEntityProfileCache;
|
||||||
@ -53,11 +51,12 @@ import java.util.Collections;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ConcurrentMap;
|
import java.util.concurrent.ConcurrentMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
|
||||||
|
import static org.thingsboard.server.utils.CalculatedFieldUtils.fromProto;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Andrew Shvayka
|
* @author Andrew Shvayka
|
||||||
@ -358,7 +357,7 @@ public class CalculatedFieldManagerMessageProcessor extends AbstractContextAware
|
|||||||
var proto = msg.getProto();
|
var proto = msg.getProto();
|
||||||
var linksList = proto.getLinksList();
|
var linksList = proto.getLinksList();
|
||||||
for (var linkProto : linksList) {
|
for (var linkProto : linksList) {
|
||||||
var link = toCalculatedFieldEntityCtxId(linkProto);
|
var link = fromProto(linkProto);
|
||||||
var targetEntityId = link.entityId();
|
var targetEntityId = link.entityId();
|
||||||
var targetEntityType = targetEntityId.getEntityType();
|
var targetEntityType = targetEntityId.getEntityType();
|
||||||
var cf = calculatedFields.get(link.cfId());
|
var cf = calculatedFields.get(link.cfId());
|
||||||
@ -383,12 +382,6 @@ public class CalculatedFieldManagerMessageProcessor extends AbstractContextAware
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private CalculatedFieldEntityCtxId toCalculatedFieldEntityCtxId(CalculatedFieldEntityCtxIdProto ctxIdProto) {
|
|
||||||
EntityId entityId = EntityIdFactory.getByTypeAndUuid(ctxIdProto.getEntityType(), new UUID(ctxIdProto.getEntityIdMSB(), ctxIdProto.getEntityIdLSB()));
|
|
||||||
CalculatedFieldId calculatedFieldId = new CalculatedFieldId(new UUID(ctxIdProto.getCalculatedFieldIdMSB(), ctxIdProto.getCalculatedFieldIdLSB()));
|
|
||||||
return new CalculatedFieldEntityCtxId(tenantId, calculatedFieldId, entityId);
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<CalculatedFieldEntityCtxId> filterCalculatedFieldLinks(CalculatedFieldTelemetryMsg msg) {
|
private List<CalculatedFieldEntityCtxId> filterCalculatedFieldLinks(CalculatedFieldTelemetryMsg msg) {
|
||||||
EntityId entityId = msg.getEntityId();
|
EntityId entityId = msg.getEntityId();
|
||||||
var proto = msg.getProto();
|
var proto = msg.getProto();
|
||||||
|
|||||||
@ -86,13 +86,14 @@ public class CalculatedFieldControllerTest extends AbstractControllerTest {
|
|||||||
assertThat(savedCalculatedField.getType()).isEqualTo(calculatedField.getType());
|
assertThat(savedCalculatedField.getType()).isEqualTo(calculatedField.getType());
|
||||||
assertThat(savedCalculatedField.getName()).isEqualTo(calculatedField.getName());
|
assertThat(savedCalculatedField.getName()).isEqualTo(calculatedField.getName());
|
||||||
assertThat(savedCalculatedField.getConfiguration()).isEqualTo(getCalculatedFieldConfig(testDevice.getId()));
|
assertThat(savedCalculatedField.getConfiguration()).isEqualTo(getCalculatedFieldConfig(testDevice.getId()));
|
||||||
assertThat(savedCalculatedField.getVersion()).isEqualTo(calculatedField.getVersion());
|
assertThat(savedCalculatedField.getVersion()).isEqualTo(1L);
|
||||||
|
|
||||||
savedCalculatedField.setName("Test CF");
|
savedCalculatedField.setName("Test CF");
|
||||||
|
|
||||||
CalculatedField updatedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
CalculatedField updatedCalculatedField = doPost("/api/calculatedField", savedCalculatedField, CalculatedField.class);
|
||||||
|
|
||||||
assertThat(updatedCalculatedField).isEqualTo(savedCalculatedField);
|
assertThat(updatedCalculatedField.getName()).isEqualTo(savedCalculatedField.getName());
|
||||||
|
assertThat(updatedCalculatedField.getVersion()).isEqualTo(savedCalculatedField.getVersion() + 1);
|
||||||
|
|
||||||
doDelete("/api/calculatedField/" + savedCalculatedField.getId().getId().toString())
|
doDelete("/api/calculatedField/" + savedCalculatedField.getId().getId().toString())
|
||||||
.andExpect(status().isOk());
|
.andExpect(status().isOk());
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.script.api.tbel;
|
package org.thingsboard.script.api.tbel;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||||
|
|
||||||
@ -29,6 +30,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
|||||||
})
|
})
|
||||||
public interface TbelCfArg extends TbelCfObject {
|
public interface TbelCfArg extends TbelCfObject {
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
String getType();
|
String getType();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user