Skip to content

Commit

Permalink
Change text output format to CSV
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Pinčuk <alexander.v.pinchuk@gmail.com>
  • Loading branch information
avpinchuk committed Apr 8, 2023
1 parent d6423f4 commit 8ead981
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 11 deletions.
Expand Up @@ -160,4 +160,15 @@ public void writeXml(XMLStreamWriter writer) throws XMLStreamException {
writer.writeEndElement();
}
}

public void writeCsv(StringBuilder sb) {
sb.append(recordNumber).append(",");
sb.append(loggedDateTime == null ?
"" : Long.toString(loggedDateTime.toInstant().toEpochMilli())).append(",");
sb.append(loggedLevel).append(",");
sb.append(productName).append(",");
sb.append(loggerName).append(",");
sb.append(nameValuePairs).append(",");
sb.append("\"").append(message.replace("\"", "\"\"")).append("\"");
}
}
Expand Up @@ -108,14 +108,12 @@ private Response convertQueryResult(List<String> files, String type) throws Exce
StringBuilder sb = new StringBuilder();

String separator = "";
sb.append("{\"InstanceLogFileNames\": [");
// extract every record
for (String name : files) {
for (String file : files) {
sb.append(separator);
sb.append("\"").append(name).append("\"");
sb.append(file);
separator = ",";
}
sb.append("]}\n");

entity = sb;
break;
Expand Down
Expand Up @@ -26,6 +26,7 @@
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.Response;

import java.io.IOException;
import java.io.Serializable;
Expand All @@ -41,7 +42,6 @@
import javax.management.AttributeList;
import javax.xml.stream.XMLStreamWriter;

import jakarta.ws.rs.core.Response;
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONObject;
import org.glassfish.admin.rest.logviewer.LogRecord;
Expand Down Expand Up @@ -162,14 +162,12 @@ private Response convertQueryResult(final AttributeList queryResult, String type
case TEXT_PLAIN:
StringBuilder sb = new StringBuilder();

sb.append("{\"records\": [");
String separator = "";
String lineSeparator = "";
for (List<Serializable> logRecord : logRecords) {
sb.append(separator);
sb.append(new LogRecord(logRecord).toJSONObject().toString());
separator = ",";
sb.append(lineSeparator);
new LogRecord(logRecord).writeCsv(sb);
lineSeparator = "\r\n";
}
sb.append("]}\n");

entity = sb;
break;
Expand Down

0 comments on commit 8ead981

Please sign in to comment.