private String getLuceneWhereClause(Relation relation) { String result; StringBuilder sb = new StringBuilder(); String column = relation.getLeftTerm().toString() .substring(relation.getLeftTerm().toString().lastIndexOf('.') + 1); String value = relation.getRightTerm().toSQLString(false); // Generate query for column String[] processedQuery = processLuceneQueryType(value); sb.append("{type:\""); sb.append(processedQuery[0]); sb.append("\",field:\""); sb.append(column); sb.append("\",value:\""); sb.append(processedQuery[1]); sb.append("\"},"); sb.replace(sb.length() - 1, sb.length(), ""); result = sb.toString(); return result; }
@Override public String toString() { StringBuilder sb = new StringBuilder("DELETE FROM "); if (catalogInc) { sb.append(Utils.toCaseSensitive(catalog)).append("."); } sb.append(Utils.toCaseSensitive(tableName.getName())); if (!whereClauses.isEmpty()) { sb.append(" WHERE "); for (Filter filter : whereClauses) { Relation relation = filter.getRelation(); String leftTerm = relation.getLeftTerm().getStringValue().substring(relation.getLeftTerm() .getStringValue().lastIndexOf('.') + 1, relation.getLeftTerm().getStringValue().length()); sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(" AND "); } sb.delete(sb.lastIndexOf(" AND"), sb.length()); } return sb.toString(); }
for (Relation relation : assignations) { String leftTerm = getLeftTerm(relation); if (ListSelector.class.isInstance(relation.getRightTerm())) { sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString().replaceAll("\\(", "[").replaceAll("\\)", "]")).append(", "); }else if(RelationSelector.class.isInstance(relation.getRightTerm())){ RelationSelector newRel=(RelationSelector)relation.getRightTerm(); String newLeft=((ColumnSelector)newRel.getRelation().getLeftTerm()).getColumnName().getName(); String newOp=newRel.getRelation().getOperator().toString(); String newRight; if (ListSelector.class.isInstance(newRel.getRelation().getRightTerm())){ newRight=newRel.getRelation().getRightTerm().toString().replaceAll("\\(", "[").replaceAll("\\)", "]"); }else{ newRight=newRel.getRelation().getRightTerm().toString(); }else { sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(", "); String leftTerm = getLeftTerm(relation); sb.append(Utils.toCaseSensitive(leftTerm)).append(relation.getOperator().toString()).append (relation.getRightTerm().toString()).append(" AND ");
default: Selector right = relation.getRightTerm(); if (right instanceof FunctionSelector) { FunctionSelector function = (FunctionSelector) right;