Browse Source

Update resource structure for edge

pull/9542/head
ViacheslavKlimov 3 years ago
parent
commit
3739b12f19
  1. 7
      application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/ResourceMsgConstructor.java
  2. 3
      application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/resource/BaseResourceProcessor.java
  3. 2
      common/edge-api/src/main/proto/edge.proto

7
application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/ResourceMsgConstructor.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.service.edge.rpc.constructor;
import com.google.protobuf.ByteString;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.data.TbResource;
import org.thingsboard.server.common.data.id.TbResourceId;
@ -42,6 +43,12 @@ public class ResourceMsgConstructor {
if (tbResource.getEtag() != null) {
builder.setEtag(tbResource.getEtag());
}
if (tbResource.getDescriptor() != null) {
builder.setDescriptorJson(tbResource.getDescriptor().toString());
}
if (tbResource.getPreview() != null) {
builder.setPreview(ByteString.copyFrom(tbResource.getPreview()));
}
if (tbResource.getTenantId().equals(TenantId.SYS_TENANT_ID)) {
builder.setIsSystem(true);
}

3
application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/resource/BaseResourceProcessor.java

@ -17,6 +17,7 @@ package org.thingsboard.server.service.edge.rpc.processor.resource;
import com.datastax.oss.driver.api.core.uuid.Uuids;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.ResourceType;
import org.thingsboard.server.common.data.StringUtils;
import org.thingsboard.server.common.data.TbResource;
@ -61,7 +62,9 @@ public abstract class BaseResourceProcessor extends BaseEdgeProcessor {
resource.setResourceKey(resourceKey);
resource.setResourceType(resourceType);
resource.setFileName(resourceUpdateMsg.getFileName());
resource.setDescriptor(resourceUpdateMsg.hasDescriptorJson() ? JacksonUtil.toJsonNode(resourceUpdateMsg.getDescriptorJson()) : null);
resource.setEncodedData(resourceUpdateMsg.hasData() ? resourceUpdateMsg.getData() : null);
resource.setPreview(resourceUpdateMsg.hasPreview() ? resourceUpdateMsg.getPreview().toByteArray() : null);
resource.setEtag(resourceUpdateMsg.hasEtag() ? resourceUpdateMsg.getEtag() : null);
resourceValidator.validate(resource, TbResourceInfo::getTenantId);
if (created) {

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

@ -436,6 +436,8 @@ message ResourceUpdateMsg {
optional string data = 8;
optional string etag = 9;
bool isSystem = 10;
optional string descriptorJson = 11;
optional bytes preview = 12;
}
message RuleChainMetadataRequestMsg {

Loading…
Cancel
Save