Browse Source

Fixes after review

pull/15121/head
Viacheslav Klimov 6 months ago
parent
commit
729ac2c3f8
Failed to extract signature
  1. 3
      common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleChainDetails.java
  2. 8
      common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java
  3. 6
      dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleChainDetailsEntity.java

3
common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleChainDetails.java

@ -20,6 +20,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Data @Data
@ -40,7 +41,7 @@ public class RuleChainDetails extends RuleChain {
public RuleChainDetails(RuleChainDetails ruleChainDetails) { public RuleChainDetails(RuleChainDetails ruleChainDetails) {
super(ruleChainDetails); super(ruleChainDetails);
this.notes = ruleChainDetails.getNotes(); this.notes = ruleChainDetails.getNotes() != null ? new ArrayList<>(ruleChainDetails.getNotes()) : null;
} }
} }

8
common/util/src/main/java/org/thingsboard/common/util/JacksonUtil.java

@ -243,6 +243,14 @@ public class JacksonUtil {
} }
} }
public static <T> T treeToValue(JsonNode node, TypeReference<T> type) {
try {
return OBJECT_MAPPER.treeToValue(node, type);
} catch (IOException e) {
throw new IllegalArgumentException("Can't convert value: " + node.toString(), e);
}
}
public static JsonNode toJsonNode(String value) { public static JsonNode toJsonNode(String value) {
return toJsonNode(value, OBJECT_MAPPER); return toJsonNode(value, OBJECT_MAPPER);
} }

6
dao/src/main/java/org/thingsboard/server/dao/model/sql/RuleChainDetailsEntity.java

@ -15,6 +15,7 @@
*/ */
package org.thingsboard.server.dao.model.sql; package org.thingsboard.server.dao.model.sql;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import jakarta.persistence.Column; import jakarta.persistence.Column;
import jakarta.persistence.Convert; import jakarta.persistence.Convert;
@ -25,12 +26,9 @@ import lombok.EqualsAndHashCode;
import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.rule.RuleChain; import org.thingsboard.server.common.data.rule.RuleChain;
import org.thingsboard.server.common.data.rule.RuleChainDetails; import org.thingsboard.server.common.data.rule.RuleChainDetails;
import org.thingsboard.server.common.data.rule.RuleChainNote;
import org.thingsboard.server.dao.model.ModelConstants; import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.dao.util.mapping.JsonConverter; import org.thingsboard.server.dao.util.mapping.JsonConverter;
import java.util.Arrays;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Entity @Entity
@ -57,7 +55,7 @@ public class RuleChainDetailsEntity extends AbstractRuleChainEntity<RuleChainDet
RuleChain ruleChain = super.toRuleChain(); RuleChain ruleChain = super.toRuleChain();
RuleChainDetails details = new RuleChainDetails(ruleChain); RuleChainDetails details = new RuleChainDetails(ruleChain);
if (notes != null && notes.isArray()) { if (notes != null && notes.isArray()) {
details.setNotes(Arrays.asList(JacksonUtil.treeToValue(notes, RuleChainNote[].class))); details.setNotes(JacksonUtil.treeToValue(notes, new TypeReference<>() {}));
} }
return details; return details;
} }

Loading…
Cancel
Save