diff --git a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraEntitiesToSqlMigrateService.java b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraEntitiesToSqlMigrateService.java index 964e138363..a4b4336d61 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraEntitiesToSqlMigrateService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraEntitiesToSqlMigrateService.java @@ -135,7 +135,7 @@ public class CassandraEntitiesToSqlMigrateService implements EntitiesMigrateServ stringColumn("entity_type"), stringColumn("attribute_type"), stringColumn("attribute_key"), - booleanColumn("bool_v"), + booleanColumn("bool_v", true), stringColumn("str_v"), bigintColumn("long_v"), doubleColumn("dbl_v"), diff --git a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlColumn.java b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlColumn.java index e58243b12b..6ad7c54743 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlColumn.java +++ b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlColumn.java @@ -38,6 +38,7 @@ public class CassandraToSqlColumn { private int sqlType; private int size; private Class enumClass; + private boolean allowNullBoolean = false; public static CassandraToSqlColumn idColumn(String name) { return new CassandraToSqlColumn(name, CassandraToSqlColumnType.ID); @@ -60,7 +61,11 @@ public class CassandraToSqlColumn { } public static CassandraToSqlColumn booleanColumn(String name) { - return new CassandraToSqlColumn(name, CassandraToSqlColumnType.BOOLEAN); + return booleanColumn(name, false); + } + + public static CassandraToSqlColumn booleanColumn(String name, boolean allowNullBoolean) { + return new CassandraToSqlColumn(name, name, CassandraToSqlColumnType.BOOLEAN, null, allowNullBoolean); } public static CassandraToSqlColumn jsonColumn(String name) { @@ -72,32 +77,33 @@ public class CassandraToSqlColumn { } public CassandraToSqlColumn(String columnName) { - this(columnName, columnName, CassandraToSqlColumnType.STRING, null); + this(columnName, columnName, CassandraToSqlColumnType.STRING, null, false); } public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type) { - this(columnName, columnName, type, null); + this(columnName, columnName, type, null, false); } public CassandraToSqlColumn(String columnName, CassandraToSqlColumnType type, Class enumClass) { - this(columnName, columnName, type, enumClass); + this(columnName, columnName, type, enumClass, false); } public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName) { - this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null); + this(cassandraColumnName, sqlColumnName, CassandraToSqlColumnType.STRING, null, false); } public CassandraToSqlColumn(String cassandraColumnName, String sqlColumnName, CassandraToSqlColumnType type, - Class enumClass) { + Class enumClass, boolean allowNullBoolean) { this.cassandraColumnName = cassandraColumnName; this.sqlColumnName = sqlColumnName; this.type = type; this.enumClass = enumClass; + this.allowNullBoolean = allowNullBoolean; } public String getColumnValue(Row row) { if (row.isNull(index)) { - if (this.type == CassandraToSqlColumnType.BOOLEAN) { + if (this.type == CassandraToSqlColumnType.BOOLEAN && !this.allowNullBoolean) { return Boolean.toString(false); } else { return null; diff --git a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlEventTsColumn.java b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlEventTsColumn.java index 1672dd7dcc..9966e7cbce 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlEventTsColumn.java +++ b/application/src/main/java/org/thingsboard/server/service/install/migrate/CassandraToSqlEventTsColumn.java @@ -24,7 +24,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.EPOCH_DIFF; public class CassandraToSqlEventTsColumn extends CassandraToSqlColumn { CassandraToSqlEventTsColumn() { - super("id", "ts", CassandraToSqlColumnType.BIGINT, null); + super("id", "ts", CassandraToSqlColumnType.BIGINT, null, false); } @Override diff --git a/ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html b/ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html index 847fe4e670..538c09feea 100644 --- a/ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html +++ b/ui-ngx/src/app/modules/home/pages/entity-view/entity-view.component.html @@ -85,51 +85,53 @@ formControlName="entityId"> -
- - - -
entity-view.attributes-propagation
-
-
-
entity-view.attributes-propagation-hint
- - - - - - - - - -
- - - -
entity-view.timeseries-data
-
-
-
entity-view.timeseries-data-hint
- - - -
+
+ + + + +
entity-view.attributes-propagation
+
+
+
entity-view.attributes-propagation-hint
+ + + + + + + + + +
+ + + +
entity-view.timeseries-data
+
+
+
entity-view.timeseries-data-hint
+ + + +
+
*:first-child, form { min-width: 100% !important; - height: 100vh; + height: 100%; } .mat-dialog-content { max-height: 100%;