Add support of displayName in EDQS

This commit is contained in:
Andrii Shvaika 2025-10-07 17:29:08 +03:00
parent 3680cbdc03
commit 95cad64f50
2 changed files with 23 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import org.thingsboard.server.common.data.AttributeScope; import org.thingsboard.server.common.data.AttributeScope;
import org.thingsboard.server.common.data.EntityType; import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.StringUtils;
import org.thingsboard.server.common.data.edqs.fields.EntityFields; import org.thingsboard.server.common.data.edqs.fields.EntityFields;
import org.thingsboard.server.common.data.id.CustomerId; import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.permission.QueryContext; import org.thingsboard.server.common.data.permission.QueryContext;
@ -139,11 +140,32 @@ public abstract class BaseEntityData<T extends EntityFields> implements EntityDa
case "name" -> getEntityName(); case "name" -> getEntityName();
case "ownerName" -> getOwnerName(); case "ownerName" -> getOwnerName();
case "ownerType" -> getOwnerType(); case "ownerType" -> getOwnerType();
case "displayName" -> getDisplayName();
case "entityType" -> Optional.ofNullable(getEntityType()).map(EntityType::name).orElse(""); case "entityType" -> Optional.ofNullable(getEntityType()).map(EntityType::name).orElse("");
default -> fields.getAsString(name); default -> fields.getAsString(name);
}; };
} }
public String getDisplayName(){
return switch (getEntityType()) {
case DEVICE, ASSET -> StringUtils.isNotEmpty(fields.getLabel()) ? fields.getLabel() : fields.getName();
case USER -> {
boolean firstNameSet = StringUtils.isNotEmpty(fields.getFirstName());
boolean lastNameSet = StringUtils.isNotEmpty(fields.getLastName());
if(firstNameSet && lastNameSet) {
yield fields.getFirstName() + " " + fields.getLastName();
} else if(firstNameSet) {
yield fields.getFirstName();
} else if (lastNameSet) {
yield fields.getLastName();
} else {
yield fields.getEmail();
}
}
default -> fields.getName();
};
}
public String getEntityName() { public String getEntityName() {
return getFields().getName(); return getFields().getName();
} }

View File

@ -18,6 +18,7 @@ package org.thingsboard.server.edqs.data;
import lombok.ToString; import lombok.ToString;
import org.thingsboard.server.common.data.AttributeScope; import org.thingsboard.server.common.data.AttributeScope;
import org.thingsboard.server.common.data.EntityType; import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.StringUtils;
import org.thingsboard.server.common.data.edqs.fields.DeviceFields; import org.thingsboard.server.common.data.edqs.fields.DeviceFields;
import org.thingsboard.server.common.data.query.EntityKeyType; import org.thingsboard.server.common.data.query.EntityKeyType;
import org.thingsboard.server.common.data.edqs.DataPoint; import org.thingsboard.server.common.data.edqs.DataPoint;