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'" +
|
" WHEN entity.entity_type = 'ENTITY_VIEW'" +
|
||||||
" THEN (select name from entity_view where id = entity_id)" +
|
" THEN (select name from entity_view where id = entity_id)" +
|
||||||
" END as label";
|
" 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 {
|
static {
|
||||||
entityTableMap.put(EntityType.ASSET, "asset");
|
entityTableMap.put(EntityType.ASSET, "asset");
|
||||||
@ -470,7 +486,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository {
|
|||||||
+ SELECT_TYPE + ", " + SELECT_NAME + ", " + SELECT_LABEL + ", " +
|
+ SELECT_TYPE + ", " + SELECT_NAME + ", " + SELECT_LABEL + ", " +
|
||||||
SELECT_FIRST_NAME + ", " + SELECT_LAST_NAME + ", " + SELECT_EMAIL + ", " + SELECT_REGION + ", " +
|
SELECT_FIRST_NAME + ", " + SELECT_LAST_NAME + ", " + SELECT_EMAIL + ", " + SELECT_REGION + ", " +
|
||||||
SELECT_TITLE + ", " + SELECT_COUNTRY + ", " + SELECT_STATE + ", " + SELECT_CITY + ", " +
|
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";
|
", entity.entity_type as entity_type";
|
||||||
String from = getQueryTemplate(entityFilter.getDirection());
|
String from = getQueryTemplate(entityFilter.getDirection());
|
||||||
ctx.addUuidParameter("relation_root_id", rootId.getId());
|
ctx.addUuidParameter("relation_root_id", rootId.getId());
|
||||||
@ -557,7 +573,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository {
|
|||||||
if (!StringUtils.isEmpty(searchText) && !selectionMapping.isEmpty()) {
|
if (!StringUtils.isEmpty(searchText) && !selectionMapping.isEmpty()) {
|
||||||
String lowerSearchText = "%" + searchText.toLowerCase() + "%";
|
String lowerSearchText = "%" + searchText.toLowerCase() + "%";
|
||||||
ctx.addStringParameter("lowerSearchTextParam", lowerSearchText);
|
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;
|
String searchAliasesExpression;
|
||||||
if (searchAliases.size() > 1) {
|
if (searchAliases.size() > 1) {
|
||||||
searchAliasesExpression = "CONCAT(" + String.join(" , ", searchAliases) + ")";
|
searchAliasesExpression = "CONCAT(" + String.join(" , ", searchAliases) + ")";
|
||||||
|
|||||||
@ -71,15 +71,17 @@ public class EntityKeyMapping {
|
|||||||
private static final String ADDRESS_2 = "address2";
|
private static final String ADDRESS_2 = "address2";
|
||||||
private static final String ZIP = "zip";
|
private static final String ZIP = "zip";
|
||||||
private static final String PHONE = "phone";
|
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> typedEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME, TYPE, ADDITIONAL_INFO);
|
||||||
public static final List<String> commonEntityFields = Arrays.asList(CREATED_TIME, ENTITY_TYPE, NAME);
|
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> 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> 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);
|
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> 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 {
|
static {
|
||||||
allowedEntityFieldMap.put(EntityType.DEVICE, new HashSet<>(labeledEntityFields));
|
allowedEntityFieldMap.put(EntityType.DEVICE, new HashSet<>(labeledEntityFields));
|
||||||
@ -90,13 +92,13 @@ public class EntityKeyMapping {
|
|||||||
allowedEntityFieldMap.get(EntityType.TENANT).add(REGION);
|
allowedEntityFieldMap.get(EntityType.TENANT).add(REGION);
|
||||||
allowedEntityFieldMap.put(EntityType.CUSTOMER, new HashSet<>(contactBasedEntityFields));
|
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.DASHBOARD, new HashSet<>(dashboardEntityFields));
|
||||||
allowedEntityFieldMap.put(EntityType.RULE_CHAIN, new HashSet<>(commonEntityFields));
|
allowedEntityFieldMap.put(EntityType.RULE_CHAIN, new HashSet<>(commonEntityFields));
|
||||||
allowedEntityFieldMap.put(EntityType.RULE_NODE, new HashSet<>(commonEntityFields));
|
allowedEntityFieldMap.put(EntityType.RULE_NODE, new HashSet<>(commonEntityFields));
|
||||||
allowedEntityFieldMap.put(EntityType.WIDGET_TYPE, new HashSet<>(commonEntityFields));
|
allowedEntityFieldMap.put(EntityType.WIDGET_TYPE, new HashSet<>(widgetEntityFields));
|
||||||
allowedEntityFieldMap.put(EntityType.WIDGETS_BUNDLE, new HashSet<>(commonEntityFields));
|
allowedEntityFieldMap.put(EntityType.WIDGETS_BUNDLE, new HashSet<>(widgetEntityFields));
|
||||||
|
|
||||||
entityFieldColumnMap.put(CREATED_TIME, ModelConstants.CREATED_TIME_PROPERTY);
|
entityFieldColumnMap.put(CREATED_TIME, ModelConstants.CREATED_TIME_PROPERTY);
|
||||||
entityFieldColumnMap.put(ENTITY_TYPE, ModelConstants.ENTITY_TYPE_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(ADDRESS_2, ModelConstants.ADDRESS2_PROPERTY);
|
||||||
entityFieldColumnMap.put(ZIP, ModelConstants.ZIP_PROPERTY);
|
entityFieldColumnMap.put(ZIP, ModelConstants.ZIP_PROPERTY);
|
||||||
entityFieldColumnMap.put(PHONE, ModelConstants.PHONE_PROPERTY);
|
entityFieldColumnMap.put(PHONE, ModelConstants.PHONE_PROPERTY);
|
||||||
|
entityFieldColumnMap.put(ADDITIONAL_INFO, ModelConstants.ADDITIONAL_INFO_PROPERTY);
|
||||||
|
|
||||||
Map<String, String> contactBasedAliases = new HashMap<>();
|
Map<String, String> contactBasedAliases = new HashMap<>();
|
||||||
contactBasedAliases.put(NAME, TITLE);
|
contactBasedAliases.put(NAME, TITLE);
|
||||||
@ -140,6 +143,7 @@ public class EntityKeyMapping {
|
|||||||
private String alias;
|
private String alias;
|
||||||
private boolean isLatest;
|
private boolean isLatest;
|
||||||
private boolean isSelection;
|
private boolean isSelection;
|
||||||
|
private boolean isSearchable;
|
||||||
private boolean isSortOrder;
|
private boolean isSortOrder;
|
||||||
private boolean ignore = false;
|
private boolean ignore = false;
|
||||||
private List<KeyFilter> keyFilters;
|
private List<KeyFilter> keyFilters;
|
||||||
@ -304,6 +308,7 @@ public class EntityKeyMapping {
|
|||||||
EntityKeyMapping mapping = new EntityKeyMapping();
|
EntityKeyMapping mapping = new EntityKeyMapping();
|
||||||
mapping.setLatest(false);
|
mapping.setLatest(false);
|
||||||
mapping.setSelection(true);
|
mapping.setSelection(true);
|
||||||
|
mapping.setSearchable(!key.getKey().equals(ADDITIONAL_INFO));
|
||||||
mapping.setEntityKey(key);
|
mapping.setEntityKey(key);
|
||||||
return mapping;
|
return mapping;
|
||||||
}
|
}
|
||||||
@ -312,6 +317,7 @@ public class EntityKeyMapping {
|
|||||||
key -> {
|
key -> {
|
||||||
EntityKeyMapping mapping = new EntityKeyMapping();
|
EntityKeyMapping mapping = new EntityKeyMapping();
|
||||||
mapping.setLatest(true);
|
mapping.setLatest(true);
|
||||||
|
mapping.setSearchable(true);
|
||||||
mapping.setSelection(true);
|
mapping.setSelection(true);
|
||||||
mapping.setEntityKey(key);
|
mapping.setEntityKey(key);
|
||||||
return mapping;
|
return mapping;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user