public static String escapeIndexQueryValue(Set<String> values) { StringBuilder sb = new StringBuilder(); sb.append(BRACE_OPEN_CHAR); for (String value : values) { sb.append(escapeIndexQueryValue(value)).append(SPACE_CHAR); } sb.append(BRACE_CLOSE_CHAR); return sb.toString(); }
public static String escapeIndexQueryValue(Collection<String> values) { StringBuilder sb = new StringBuilder(); sb.append(BRACE_OPEN_CHAR); if (CollectionUtils.isNotEmpty(values)) { Iterator<String> iter = values.iterator(); sb.append(escapeIndexQueryValue(iter.next())); while (iter.hasNext()) { sb.append(SPACE_CHAR).append(escapeIndexQueryValue(iter.next())); } } sb.append(BRACE_CLOSE_CHAR); return sb.toString(); }
private static AtlasIndexQuery getIndexQuery(AtlasEntityType entityType, String propertyName, String value) { StringBuilder sb = new StringBuilder(); sb.append(INDEX_SEARCH_PREFIX + "\"").append(Constants.TYPE_NAME_PROPERTY_KEY).append("\":").append(entityType.getTypeAndAllSubTypesQryStr()) .append(" AND ") .append(INDEX_SEARCH_PREFIX + "\"").append(propertyName).append("\":").append(AtlasAttribute.escapeIndexQueryValue(value)) .append(" AND ") .append(INDEX_SEARCH_PREFIX + "\"").append(Constants.STATE_PROPERTY_KEY).append("\":ACTIVE"); return AtlasGraphProvider.getGraphInstance().indexQuery(Constants.VERTEX_INDEX, sb.toString()); }
String qualifiedName = type.getQualifiedAttributeName(attrName); ret = String.format(OPERATOR_MAP.get(op), qualifiedName, AtlasStructType.AtlasAttribute.escapeIndexQueryValue(attrVal));
/** * ClassificationType needs to be constructed with a type registry so that is can resolve references * at constructor time. This is only used by junits. * * @param classificationDef * @param typeRegistry * @throws AtlasBaseException */ public AtlasClassificationType(AtlasClassificationDef classificationDef, AtlasTypeRegistry typeRegistry) throws AtlasBaseException { super(classificationDef); this.classificationDef = classificationDef; this.typeQryStr = AtlasAttribute.escapeIndexQueryValue(Collections.singleton(getTypeName())); resolveReferences(typeRegistry); }
private static AtlasIndexQuery getIndexQuery(AtlasEntityType entityType, String propertyName, String value) { StringBuilder sb = new StringBuilder(); sb.append(INDEX_SEARCH_PREFIX + "\"").append(Constants.TYPE_NAME_PROPERTY_KEY).append("\":").append(entityType.getTypeAndAllSubTypesQryStr()) .append(" AND ") .append(INDEX_SEARCH_PREFIX + "\"").append(propertyName).append("\":").append(AtlasAttribute.escapeIndexQueryValue(value)) .append(" AND ") .append(INDEX_SEARCH_PREFIX + "\"").append(Constants.STATE_PROPERTY_KEY).append("\":ACTIVE"); return AtlasGraphProvider.getGraphInstance().indexQuery(Constants.VERTEX_INDEX, sb.toString()); }
private String toIndexExpression(AtlasStructType type, String attrName, SearchParameters.Operator op, String attrVal) { String ret = EMPTY_STRING; try { if (OPERATOR_MAP.get(op) != null) { String qualifiedName = type.getQualifiedAttributeName(attrName); String escapeIndexQueryValue = AtlasAttribute.escapeIndexQueryValue(attrVal); ret = String.format(OPERATOR_MAP.get(op), qualifiedName, escapeIndexQueryValue); } } catch (AtlasBaseException ex) { LOG.warn(ex.getMessage()); } return ret; }
public String getTypeAndAllSubTypesQryStr() { if (StringUtils.isEmpty(typeAndAllSubTypesQryStr)) { typeAndAllSubTypesQryStr = AtlasAttribute.escapeIndexQueryValue(typeAndAllSubTypes); } return typeAndAllSubTypesQryStr; }
public AtlasEntityType(AtlasEntityDef entityDef, AtlasTypeRegistry typeRegistry) throws AtlasBaseException { super(entityDef); this.entityDef = entityDef; this.typeQryStr = AtlasAttribute.escapeIndexQueryValue(Collections.singleton(getTypeName())); resolveReferences(typeRegistry); }
public String getTypeAndAllSubTypesQryStr() { if (StringUtils.isEmpty(typeAndAllSubTypesQryStr)) { typeAndAllSubTypesQryStr = AtlasAttribute.escapeIndexQueryValue(typeAndAllSubTypes); } return typeAndAllSubTypesQryStr; }
/** * Note this constructor does NOT run resolveReferences - so some fields are not setup. * @param classificationDef */ public AtlasClassificationType(AtlasClassificationDef classificationDef) { super(classificationDef); this.classificationDef = classificationDef; this.typeQryStr = AtlasAttribute.escapeIndexQueryValue(Collections.singleton(getTypeName())); }
public String getTypeAndAllSubTypesQryStr() { if (StringUtils.isEmpty(typeAndAllSubTypesQryStr)) { typeAndAllSubTypesQryStr = AtlasAttribute.escapeIndexQueryValue(typeAndAllSubTypes); } return typeAndAllSubTypesQryStr; }
public String getTypeAndAllSubTypesQryStr() { if (StringUtils.isEmpty(typeAndAllSubTypesQryStr)) { typeAndAllSubTypesQryStr = AtlasAttribute.escapeIndexQueryValue(typeAndAllSubTypes); } return typeAndAllSubTypesQryStr; }
public AtlasEntityType(AtlasEntityDef entityDef) { super(entityDef); this.entityDef = entityDef; this.typeQryStr = AtlasAttribute.escapeIndexQueryValue(Collections.singleton(getTypeName())); }