}
protected void queryAndPackageResults(XMLQuery query) {
Stack<QueryElement> queryStack = HandlerQueryParser
.createQueryStack(query.getWhereElementSet());
Expression parsedQuery = HandlerQueryParser.parse(queryStack,
this.mapping);
List<QueryElement> names = getElemNamesFromQueryElemSet(query
.getSelectElementSet());
String querySelectNames = toNames(names);
StringBuffer sqlBuf = new StringBuffer("SELECT ");
sqlBuf.append(querySelectNames);
sqlBuf.append(" FROM ");
sqlBuf.append(mapping.getDefaultTable());
sqlBuf.append(" ");
if (mapping.getNumTables() > 0) {
for (Iterator<String> i = mapping.getTableNames().iterator(); i
.hasNext();) {
String tableName = i.next();
DatabaseTable tbl = mapping.getTableByName(tableName);
sqlBuf.append("INNER JOIN ");
sqlBuf.append(tbl.getName());
sqlBuf.append(" ON ");
sqlBuf.append(tbl.getName());
sqlBuf.append(".");
sqlBuf.append(tbl.getJoinFieldName());
sqlBuf.append(" = ");
sqlBuf.append((tbl.getDefaultTableJoin() != null &&
!tbl.getDefaultTableJoin().equals("")) ? tbl
.getDefaultTableJoin() : mapping.getDefaultTable());
sqlBuf.append(".");
sqlBuf.append(tbl.getDefaultTableJoinFieldName());
sqlBuf.append(" ");
}
}
if(parsedQuery != null){
sqlBuf.append(" WHERE ");
sqlBuf.append(parsedQuery.evaluate());
}
LOG.log(Level.INFO, sqlBuf.toString());
if (executor != null) {