Skip to content

Commit

Permalink
fix header for non batch mode query
Browse files Browse the repository at this point in the history
  • Loading branch information
mdavis95 committed Jul 7, 2017
1 parent e5e88e5 commit b8b7692
Showing 1 changed file with 11 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
import org.bson.Document;
import org.lumongo.LumongoConstants;
import org.lumongo.cluster.message.Lumongo;
import org.lumongo.cluster.message.LumongoIndex.AnalyzerSettings.Similarity;
import org.lumongo.cluster.message.Lumongo.CountRequest;
import org.lumongo.cluster.message.Lumongo.FacetRequest;
import org.lumongo.cluster.message.Lumongo.FieldSimilarity;
import org.lumongo.cluster.message.Lumongo.LMFacet;
import org.lumongo.cluster.message.Lumongo.QueryRequest;
import org.lumongo.cluster.message.Lumongo.QueryResponse;
import org.lumongo.cluster.message.LumongoIndex.AnalyzerSettings.Similarity;
import org.lumongo.server.index.LumongoIndexManager;
import org.lumongo.util.ResultHelper;

Expand Down Expand Up @@ -309,7 +309,10 @@ else if ("1".equals(sortDir) || "ASC".equalsIgnoreCase(sortDir)) {
try {
QueryResponse qr = indexManager.query(qrBuilder.build());

buildHeaderForCSV(fields, new StringBuilder(), output);
String header = buildHeaderForCSV(fields);
output.write(header.getBytes());
output.flush();


int count = 0;

Expand Down Expand Up @@ -360,16 +363,13 @@ else if ("1".equals(sortDir) || "ASC".equalsIgnoreCase(sortDir)) {

}

private void buildHeaderForCSV(@QueryParam(LumongoConstants.FIELDS) List<String> fields, StringBuilder headerBuilder, OutputStream outputStream)
private String buildHeaderForCSV(@QueryParam(LumongoConstants.FIELDS) List<String> fields)
throws Exception {

StringBuilder headerBuilder = new StringBuilder();
fields.stream().filter(field -> !field.startsWith("-")).forEach(field -> headerBuilder.append(field).append(","));
String headerOutput = headerBuilder.toString().replaceFirst(",$", "\n");

if (outputStream != null) {
outputStream.write(headerOutput.getBytes());
outputStream.flush();
}
String headerOutput = headerBuilder.toString();
return headerOutput.substring(0, headerOutput.length() - 1) + "\n";

}

Expand Down Expand Up @@ -550,7 +550,8 @@ private String getCSVResponse(List<String> fields, QueryResponse qr) throws Exce
StringBuilder responseBuilder = new StringBuilder();

// headersBuilder
buildHeaderForCSV(fields, responseBuilder, null);
String header = buildHeaderForCSV(fields);
responseBuilder.append(header);

// records
qr.getResultsList().stream().filter(Lumongo.ScoredResult::hasResultDocument).forEach(sr -> {
Expand Down

0 comments on commit b8b7692

Please sign in to comment.