@Override public String expression(String nodeIdentifier) { String latitude = nodeIdentifier + LATITUDE_PROPERTY_SUFFIX; String longitude = nodeIdentifier + LONGITUDE_PROPERTY_SUFFIX; return String.format("distance(point({latitude: %s, longitude: %s}),point({latitude:{lat}, longitude:{lon}})) " + "%s {distance} ", latitude, longitude, filter.getComparisonOperator().getValue()); }
@Override public String expression(final String nodeIdentifier) { final Filter filter = this.getFilter(); return String.format("toLower(%s.`%s`) %s toLower({ `%s` }) ", nodeIdentifier, filter.getPropertyName(), ComparisonOperator.EQUALS.getValue(), filter.uniqueParameterName()); } }
@Override public String expression(String nodeIdentifier) { String pointPropertyOfEntity = nodeIdentifier + "." + getFilter().getPropertyName(); String comparisonOperator = getFilter().getComparisonOperator().getValue(); return String.format( "distance({%s},%s) %s {%s} ", OGM_POINT_PARAMETER, pointPropertyOfEntity, comparisonOperator, DISTANCE_VALUE_PARAMETER); }
@Override public String expression(String nodeIdentifier) { if (filter.getComparisonOperator().equals(IS_NULL)) { return String.format("%s.`%s` IS NULL ", nodeIdentifier, filter.getPropertyName()); } else if (filter.getComparisonOperator().equals(EXISTS)) { return String.format("EXISTS(%s.`%s`) ", nodeIdentifier, filter.getPropertyName()); } else if (filter.getComparisonOperator().equals(IS_TRUE)) { return String.format("%s.`%s` = true ", nodeIdentifier, filter.getPropertyName()); } else { return String.format("%s.`%s` %s { `%s` } ", nodeIdentifier, filter.getPropertyName(), filter.getComparisonOperator().getValue(), filter.uniqueParameterName()); } }