Added ADDITIONAL INFO
This commit is contained in:
parent
21fa66c61f
commit
5cc7bbe635
@ -189,6 +189,22 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository {
|
||||
" WHEN entity.entity_type = 'ENTITY_VIEW'" +
|
||||
" THEN (select name from entity_view where id = entity_id)" +
|
||||
" END as label";
|
||||
private static final String SELECT_ADDITIONAL_INFO = " CASE" +
|
||||
" WHEN entity.entity_type = 'TENANT'" +
|
||||
" THEN (select additional_info from tenant where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'CUSTOMER' " +
|
||||
" THEN (select additional_info from customer where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'USER'" +
|
||||
" THEN (select additional_info from tb_user where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'DASHBOARD'" +
|
||||
" THEN (select '' from dashboard where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'ASSET'" +
|
||||
" THEN (select additional_info from asset where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'DEVICE'" +
|
||||
" THEN (select additional_info from device where id = entity_id)" +
|
||||
" WHEN entity.entity_type = 'ENTITY_VIEW'" +
|
||||
" THEN (select additional_info from entity_view where id = entity_id)" +
|
||||
" END as label";
|
||||
|
||||
static {
|
||||
entityTableMap.put(EntityType.ASSET, "asset");
|
||||
@ -470,7 +486,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository {
|
||||
+ SELECT_TYPE + ", " + SELECT_NAME + ", " + SELECT_LABEL + ", " +
|
||||
SELECT_FIRST_NAME + ", " + SELECT_LAST_NAME + ", " + SELECT_EMAIL + ", " + SELECT_REGION + ", " +
|
||||
SELECT_TITLE + ", " + SELECT_COUNTRY + ", " + SELECT_STATE + ", " + SELECT_CITY + ", " +
|
||||
SELECT_ADDRESS + ", " + SELECT_ADDRESS_2 + ", " + SELECT_ZIP + ", " + SELECT_PHONE +
|
||||
SELECT_ADDRESS + ", " + SELECT_ADDRESS_2 + ", " + SELECT_ZIP + ", " + SELECT_PHONE + ", " + SELECT_ADDITIONAL_INFO +
|
||||
", entity.entity_type as entity_type";
|
||||
String from = getQueryTemplate(entityFilter.getDirection());
|
||||
ctx.addUuidParameter("relation_root_id", rootId.getId());
|
||||
@ -557,7 +573,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository {
|
||||
if (!StringUtils.isEmpty(searchText) && !selectionMapping.isEmpty()) {
|
||||
String lowerSearchText = "%" + searchText.toLowerCase() + "%";
|
||||
ctx.addStringParameter("lowerSearchTextParam", lowerSearchText);
|
||||
List<String> searchAliases = selectionMapping.stream().map(EntityKeyMapping::getValueAlias).collect(Collectors.toList());
|
||||
List<String> searchAliases = selectionMapping.stream().filter(EntityKeyMapping::isSearchable).map(EntityKeyMapping::getValueAlias).collect(Collectors.toList());
|
||||
String searchAliasesExpression;
|
||||
if (searchAliases.size() > 1) {
|
||||
searchAliasesExpression = "CONCAT(" + String.join(" , ", searchAliases) + ")";
|
||||
|
||||
@ -71,15 +71,17 @@ public class EntityKeyMapping {
|
||||
private static final String ADDRESS_2 = "address2";
|
||||
private static final String ZIP = "zip";
|
||||
private static final String PHONE = "phone";
|
||||
private static final String ADDITIONAL_INFO = "additionalInfo";
|
||||
|
||||
public static final List<String> typedEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE);
|
||||
public static final List<String> commonEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME);
|
||||
public static final List<String> typedEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, ADDITIONAL_INFO);
|
||||
public static final List<String> widgetEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME);
|
||||
public static final List<String> commonEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, ADDITIONAL_INFO);
|
||||
public static final List<String> dashboardEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, TITLE);
|
||||
public static final List<String> labeledEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, LABEL);
|
||||
public static final List<String> contactBasedEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, EMAIL, TITLE, COUNTRY, STATE, CITY, ADDRESS, ADDRESS_2, ZIP, PHONE);
|
||||
public static final List<String> labeledEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, LABEL, ADDITIONAL_INFO);
|
||||
public static final List<String> contactBasedEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, EMAIL, TITLE, COUNTRY, STATE, CITY, ADDRESS, ADDRESS_2, ZIP, PHONE, ADDITIONAL_INFO);
|
||||
|
||||
public static final Set<String> commonEntityFieldsSet = new HashSet<>(commonEntityFields);
|
||||
public static final Set<String> relationQueryEntityFieldsSet = new HashSet<>(Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, LABEL, FIRST_NAME, LAST_NAME, EMAIL, REGION, TITLE, COUNTRY, STATE, CITY, ADDRESS, ADDRESS_2, ZIP, PHONE));
|
||||
public static final Set<String> relationQueryEntityFieldsSet = new HashSet<>(Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, LABEL, FIRST_NAME, LAST_NAME, EMAIL, REGION, TITLE, COUNTRY, STATE, CITY, ADDRESS, ADDRESS_2, ZIP, PHONE, ADDITIONAL_INFO));
|
||||
|
||||
static {
|
||||
allowedEntityFieldMap.put(EntityType.DEVICE, new HashSet<>(labeledEntityFields));
|
||||
@ -90,13 +92,13 @@ public class EntityKeyMapping {
|
||||
allowedEntityFieldMap.get(EntityType.TENANT).add(REGION);
|
||||
allowedEntityFieldMap.put(EntityType.CUSTOMER, new HashSet<>(contactBasedEntityFields));
|
||||
|
||||
allowedEntityFieldMap.put(EntityType.USER, new HashSet<>(Arrays.asList(CREATED_TIME, FIRST_NAME, LAST_NAME, EMAIL)));
|
||||
allowedEntityFieldMap.put(EntityType.USER, new HashSet<>(Arrays.asList(CREATED_TIME, FIRST_NAME, LAST_NAME, EMAIL, ADDITIONAL_INFO)));
|
||||
|
||||
allowedEntityFieldMap.put(EntityType.DASHBOARD, new HashSet<>(dashboardEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.RULE_CHAIN, new HashSet<>(commonEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.RULE_NODE, new HashSet<>(commonEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.WIDGET_TYPE, new HashSet<>(commonEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.WIDGETS_BUNDLE, new HashSet<>(commonEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.WIDGET_TYPE, new HashSet<>(widgetEntityFields));
|
||||
allowedEntityFieldMap.put(EntityType.WIDGETS_BUNDLE, new HashSet<>(widgetEntityFields));
|
||||
|
||||
entityFieldColumnMap.put(CREATED_TIME, ModelConstants.CREATED_TIME_PROPERTY);
|
||||
entityFieldColumnMap.put(ENTITY_TYPE, ModelConstants.ENTITY_TYPE_PROPERTY);
|
||||
@ -115,6 +117,7 @@ public class EntityKeyMapping {
|
||||
entityFieldColumnMap.put(ADDRESS_2, ModelConstants.ADDRESS2_PROPERTY);
|
||||
entityFieldColumnMap.put(ZIP, ModelConstants.ZIP_PROPERTY);
|
||||
entityFieldColumnMap.put(PHONE, ModelConstants.PHONE_PROPERTY);
|
||||
entityFieldColumnMap.put(ADDITIONAL_INFO, ModelConstants.ADDITIONAL_INFO_PROPERTY);
|
||||
|
||||
Map<String, String> contactBasedAliases = new HashMap<>();
|
||||
contactBasedAliases.put(NAME, TITLE);
|
||||
@ -140,6 +143,7 @@ public class EntityKeyMapping {
|
||||
private String alias;
|
||||
private boolean isLatest;
|
||||
private boolean isSelection;
|
||||
private boolean isSearchable;
|
||||
private boolean isSortOrder;
|
||||
private boolean ignore = false;
|
||||
private List<KeyFilter> keyFilters;
|
||||
@ -304,6 +308,7 @@ public class EntityKeyMapping {
|
||||
EntityKeyMapping mapping = new EntityKeyMapping();
|
||||
mapping.setLatest(false);
|
||||
mapping.setSelection(true);
|
||||
mapping.setSearchable(!key.getKey().equals(ADDITIONAL_INFO));
|
||||
mapping.setEntityKey(key);
|
||||
return mapping;
|
||||
}
|
||||
@ -312,6 +317,7 @@ public class EntityKeyMapping {
|
||||
key -> {
|
||||
EntityKeyMapping mapping = new EntityKeyMapping();
|
||||
mapping.setLatest(true);
|
||||
mapping.setSearchable(true);
|
||||
mapping.setSelection(true);
|
||||
mapping.setEntityKey(key);
|
||||
return mapping;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user