arina-ielchiieva commented on a change in pull request #1572: DRILL-6879: Show
warnings for potential performance issues
URL: https://github.com/apache/drill/pull/1572#discussion_r241384967
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/TableBuilder.java
##########
@@ -61,170 +62,133 @@ public TableBuilder(final String[] columns, final
String[] columnTooltip, final
}
public void appendCell(final String s) {
- appendCell(s, null, null, null);
+ appendCell(s, NO_BGCOLOR, null);
}
- public void appendCell(final String s, final String link) {
- appendCell(s, link, null, null);
- }
-
- public void appendCell(final String s, final String link, final String
titleText) {
- appendCell(s, link, titleText, null);
- }
-
- public void appendCell(final String s, final String link, final String
titleText, final String backgroundColor) {
- appendCell(s, link, titleText, backgroundColor, null);
+ public void appendCell(final String s, final String backgroundColor) {
+ appendCell(s, backgroundColor, null);
}
public void appendCell(final String s, final Map<String, String> kvPairs) {
- appendCell(s, null, null, null, kvPairs);
+ appendCell(s, NO_BGCOLOR, kvPairs);
}
- public void appendCell(final String s, final String link, final String
titleText, final String backgroundColor,
- final Map<String, String> kvPairs) {
+ //Inject value into a table cell. Start or end a row if required
+ public void appendCell(final String s, final String rowBackgroundColor,
final Map<String, String> kvPairs) {
+ //Check if this is first column?
if (w == 0) {
sb.append("<tr"
- + (backgroundColor == null ? "" : "
style=\"background-color:"+backgroundColor+"\"")
+ + (rowBackgroundColor == null || rowBackgroundColor == NO_BGCOLOR ?
"" : " style=\"background-color:"+rowBackgroundColor+"\"")
+ ">");
}
StringBuilder tdElemSB = new StringBuilder("<td");
- //Injecting title if specified (legacy impl)
- if (titleText != null && titleText.length() > 0) {
- tdElemSB.append(" title=\""+titleText+"\"");
- }
//Extract other attributes for injection into element
if (kvPairs != null) {
for (String attributeName : kvPairs.keySet()) {
String attributeText = " " + attributeName + "=\"" +
kvPairs.get(attributeName) + "\"";
tdElemSB.append(attributeText);
}
}
- //Closing <td>
- tdElemSB.append(String.format(">%s%s</td>", s, link != null ? link : ""));
+ //Inserting inner text value and closing <td>
+ tdElemSB.append(">").append(s).append("</td>");
sb.append(tdElemSB);
if (++w >= width) {
sb.append("</tr>\n");
w = 0;
}
}
- public void appendRepeated(final String s, final String link, final int n) {
- appendRepeated(s, link, n, null);
+ public void appendRepeated(final String s, final int n) {
+ appendRepeated(s, n, null);
}
- public void appendRepeated(final String s, final String link, final int n,
final String tooltip) {
+ //Inject a value repeatedly into a table cell
+ public void appendRepeated(final String s, final int n, final
HashMap<String, String> attributeMap) {
for (int i = 0; i < n; i++) {
- appendCell(s, link, tooltip);
+ appendCell(s, attributeMap);
}
}
public void appendTime(final long d) {
appendTime(d, null);
}
- public void appendTime(final long d, final String link) {
- appendTime(d, link, null);
- }
-
- public void appendTime(final long d, final String link, final String
tooltip) {
+ //Inject timestamp/date value with ordering into a table cell
+ public void appendTime(final long d, HashMap<String, String> attributeMap) {
//Embedding dataTable's data-order attribute
- Map<String, String> attributeMap = new HashMap<String, String>();
- attributeMap.put("data-order", String.valueOf(d));
- appendCell(dateFormat.format(d), link, tooltip, null, attributeMap);
+ if (attributeMap == null) {
+ attributeMap = new HashMap<String, String>();
+ }
+ attributeMap.put(HtmlAttribute.DATA_ORDER, String.valueOf(d));
+ appendCell(dateFormat.format(d), null, attributeMap);
}
public void appendMillis(final long p) {
appendMillis(p, null);
}
- public void appendMillis(final long p, final String link) {
- appendMillis(p, link, null);
- }
-
- public void appendMillis(final long p, final String link, final String
tooltip) {
+ //Inject millisecond based time value with ordering into a table cell
+ public void appendMillis(final long p, Map<String, String> attributeMap) {
//Embedding dataTable's data-order attribute
- Map<String, String> attributeMap = new HashMap<String, String>();
- attributeMap.put("data-order", String.valueOf(p));
- appendCell((new SimpleDurationFormat(0, p)).compact(), link, tooltip,
null, attributeMap);
+ if (attributeMap == null) {
+ attributeMap = new HashMap<String, String>();
+ }
+ attributeMap.put(HtmlAttribute.DATA_ORDER, String.valueOf(p));
+ appendCell((new SimpleDurationFormat(0, p)).compact(), NO_BGCOLOR,
attributeMap);
}
public void appendNanos(final long p) {
- appendNanos(p, null, null);
+ appendNanos(p, null);
}
- public void appendNanos(final long p, final String link) {
- appendNanos(p, link, null);
- }
-
- public void appendNanos(final long p, final String link, final String
tooltip) {
- appendMillis(Math.round(p / 1000.0 / 1000.0), link, tooltip);
+ public void appendNanos(final long p, HashMap<String, String> attributeMap) {
Review comment:
HashMap -> Map
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services