Browse Source

Use widgettypedetails instead of widgettype in edge processor

pull/5865/head
Volodymyr Babak 5 years ago
parent
commit
104357b7b9
  1. 32
      application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java
  2. 8
      application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/WidgetTypeEdgeProcessor.java
  3. 2
      common/edge-api/src/main/proto/edge.proto

32
application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java

@ -19,7 +19,7 @@ import org.springframework.stereotype.Component;
import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetTypeId; import org.thingsboard.server.common.data.id.WidgetTypeId;
import org.thingsboard.server.common.data.widget.WidgetType; import org.thingsboard.server.common.data.widget.WidgetTypeDetails;
import org.thingsboard.server.gen.edge.v1.UpdateMsgType; import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
import org.thingsboard.server.gen.edge.v1.WidgetTypeUpdateMsg; import org.thingsboard.server.gen.edge.v1.WidgetTypeUpdateMsg;
import org.thingsboard.server.queue.util.TbCoreComponent; import org.thingsboard.server.queue.util.TbCoreComponent;
@ -28,26 +28,32 @@ import org.thingsboard.server.queue.util.TbCoreComponent;
@TbCoreComponent @TbCoreComponent
public class WidgetTypeMsgConstructor { public class WidgetTypeMsgConstructor {
public WidgetTypeUpdateMsg constructWidgetTypeUpdateMsg(UpdateMsgType msgType, WidgetType widgetType) { public WidgetTypeUpdateMsg constructWidgetTypeUpdateMsg(UpdateMsgType msgType, WidgetTypeDetails widgetTypeDetails) {
WidgetTypeUpdateMsg.Builder builder = WidgetTypeUpdateMsg.newBuilder() WidgetTypeUpdateMsg.Builder builder = WidgetTypeUpdateMsg.newBuilder()
.setMsgType(msgType) .setMsgType(msgType)
.setIdMSB(widgetType.getId().getId().getMostSignificantBits()) .setIdMSB(widgetTypeDetails.getId().getId().getMostSignificantBits())
.setIdLSB(widgetType.getId().getId().getLeastSignificantBits()); .setIdLSB(widgetTypeDetails.getId().getId().getLeastSignificantBits());
if (widgetType.getBundleAlias() != null) { if (widgetTypeDetails.getBundleAlias() != null) {
builder.setBundleAlias(widgetType.getBundleAlias()); builder.setBundleAlias(widgetTypeDetails.getBundleAlias());
} }
if (widgetType.getAlias() != null) { if (widgetTypeDetails.getAlias() != null) {
builder.setAlias(widgetType.getAlias()); builder.setAlias(widgetTypeDetails.getAlias());
} }
if (widgetType.getName() != null) { if (widgetTypeDetails.getName() != null) {
builder.setName(widgetType.getName()); builder.setName(widgetTypeDetails.getName());
} }
if (widgetType.getDescriptor() != null) { if (widgetTypeDetails.getDescriptor() != null) {
builder.setDescriptorJson(JacksonUtil.toString(widgetType.getDescriptor())); builder.setDescriptorJson(JacksonUtil.toString(widgetTypeDetails.getDescriptor()));
} }
if (widgetType.getTenantId().equals(TenantId.SYS_TENANT_ID)) { if (widgetTypeDetails.getTenantId().equals(TenantId.SYS_TENANT_ID)) {
builder.setIsSystem(true); builder.setIsSystem(true);
} }
if (widgetTypeDetails.getImage() != null) {
builder.setImage(widgetTypeDetails.getImage());
}
if (widgetTypeDetails.getDescription() != null) {
builder.setDescription(widgetTypeDetails.getDescription());
}
return builder.build(); return builder.build();
} }

8
application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/WidgetTypeEdgeProcessor.java

@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.EdgeUtils;
import org.thingsboard.server.common.data.edge.EdgeEvent; import org.thingsboard.server.common.data.edge.EdgeEvent;
import org.thingsboard.server.common.data.edge.EdgeEventActionType; import org.thingsboard.server.common.data.edge.EdgeEventActionType;
import org.thingsboard.server.common.data.id.WidgetTypeId; import org.thingsboard.server.common.data.id.WidgetTypeId;
import org.thingsboard.server.common.data.widget.WidgetType; import org.thingsboard.server.common.data.widget.WidgetTypeDetails;
import org.thingsboard.server.gen.edge.v1.DownlinkMsg; import org.thingsboard.server.gen.edge.v1.DownlinkMsg;
import org.thingsboard.server.gen.edge.v1.UpdateMsgType; import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
import org.thingsboard.server.gen.edge.v1.WidgetTypeUpdateMsg; import org.thingsboard.server.gen.edge.v1.WidgetTypeUpdateMsg;
@ -38,10 +38,10 @@ public class WidgetTypeEdgeProcessor extends BaseEdgeProcessor {
switch (edgeEdgeEventActionType) { switch (edgeEdgeEventActionType) {
case ADDED: case ADDED:
case UPDATED: case UPDATED:
WidgetType widgetType = widgetTypeService.findWidgetTypeById(edgeEvent.getTenantId(), widgetTypeId); WidgetTypeDetails widgetTypeDetails = widgetTypeService.findWidgetTypeDetailsById(edgeEvent.getTenantId(), widgetTypeId);
if (widgetType != null) { if (widgetTypeDetails != null) {
WidgetTypeUpdateMsg widgetTypeUpdateMsg = WidgetTypeUpdateMsg widgetTypeUpdateMsg =
widgetTypeMsgConstructor.constructWidgetTypeUpdateMsg(msgType, widgetType); widgetTypeMsgConstructor.constructWidgetTypeUpdateMsg(msgType, widgetTypeDetails);
downlinkMsg = DownlinkMsg.newBuilder() downlinkMsg = DownlinkMsg.newBuilder()
.setDownlinkMsgId(EdgeUtils.nextPositiveInt()) .setDownlinkMsgId(EdgeUtils.nextPositiveInt())
.addWidgetTypeUpdateMsg(widgetTypeUpdateMsg) .addWidgetTypeUpdateMsg(widgetTypeUpdateMsg)

2
common/edge-api/src/main/proto/edge.proto

@ -333,6 +333,8 @@ message WidgetTypeUpdateMsg {
optional string name = 6; optional string name = 6;
optional string descriptorJson = 7; optional string descriptorJson = 7;
bool isSystem = 8; bool isSystem = 8;
string image = 9;
string description = 10;
} }
message AdminSettingsUpdateMsg { message AdminSettingsUpdateMsg {

Loading…
Cancel
Save