Author: pmouawad
Date: Wed Dec 28 21:21:22 2016
New Revision: 1776330
URL: http://svn.apache.org/viewvc?rev=1776330&view=rev
Log:
sonar: fix errors and false-positive
Fix missing Encoding issue by saving in UTF-8
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java?rev=1776330&r1=1776329&r2=1776330&view=diff
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
(original)
+++
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatGraphVisualizer.java
Wed Dec 28 21:21:22 2016
@@ -25,8 +25,10 @@ import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.MessageFormat;
@@ -59,8 +61,6 @@ import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import javax.swing.table.TableCellRenderer;
import org.apache.commons.lang3.ArrayUtils;
@@ -84,7 +84,6 @@ import org.apache.jorphan.gui.RateRender
import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.jorphan.reflect.Functor;
-import org.apache.jorphan.util.JOrphanUtils;
import org.apache.log.Logger;
/**
@@ -97,17 +96,17 @@ import org.apache.log.Logger;
public class StatGraphVisualizer extends AbstractVisualizer implements
Clearable, ActionListener {
private static final long serialVersionUID = 240L;
- private static final String pct1Label =
JMeterUtils.getPropDefault("aggregate_rpt_pct1", "90");
- private static final String pct2Label =
JMeterUtils.getPropDefault("aggregate_rpt_pct2", "95");
- private static final String pct3Label =
JMeterUtils.getPropDefault("aggregate_rpt_pct3", "99");
+ private static final String PCT1_LABEL =
JMeterUtils.getPropDefault("aggregate_rpt_pct1", "90");
+ private static final String PCT2_LABEL =
JMeterUtils.getPropDefault("aggregate_rpt_pct2", "95");
+ private static final String PCT3_LABEL =
JMeterUtils.getPropDefault("aggregate_rpt_pct3", "99");
- private static final Float pct1Value = new
Float(Float.parseFloat(pct1Label)/100);
- private static final Float pct2Value = new
Float(Float.parseFloat(pct2Label)/100);
- private static final Float pct3Value = new
Float(Float.parseFloat(pct3Label)/100);
+ private static final Float PCT1_VALUE = new
Float(Float.parseFloat(PCT1_LABEL)/100);
+ private static final Float PCT2_VALUE = new
Float(Float.parseFloat(PCT2_LABEL)/100);
+ private static final Float PCT3_VALUE = new
Float(Float.parseFloat(PCT3_LABEL)/100);
private static final Logger log = LoggingManager.getLoggerForClass();
- static final String[] COLUMNS = {
+ private static final String[] COLUMNS = {
"sampler_label", //$NON-NLS-1$
"aggregate_report_count", //$NON-NLS-1$
"average", //$NON-NLS-1$
@@ -128,9 +127,9 @@ public class StatGraphVisualizer extends
null,
null,
null,
- new Object[]{pct1Label},
- new Object[]{pct2Label},
- new Object[]{pct3Label},
+ new Object[]{PCT1_LABEL},
+ new Object[]{PCT2_LABEL},
+ new Object[]{PCT3_LABEL},
null,
null,
null,
@@ -140,7 +139,7 @@ public class StatGraphVisualizer extends
return result;
}
- private final String[] GRAPH_COLUMNS = {"average",//$NON-NLS-1$
+ private static final String[] GRAPH_COLUMNS = {"average",//$NON-NLS-1$
"aggregate_report_median", //$NON-NLS-1$
"aggregate_report_xx_pct1_line", //$NON-NLS-1$
"aggregate_report_xx_pct2_line", //$NON-NLS-1$
@@ -148,7 +147,7 @@ public class StatGraphVisualizer extends
"aggregate_report_min", //$NON-NLS-1$
"aggregate_report_max"}; //$NON-NLS-1$
- private final String TOTAL_ROW_LABEL =
+ private static final String TOTAL_ROW_LABEL =
JMeterUtils.getResString("aggregate_report_total_label");
//$NON-NLS-1$
private static final Font FONT_DEFAULT =
UIManager.getDefaults().getFont("TextField.font"); //$NON-NLS-1$
@@ -174,8 +173,6 @@ public class StatGraphVisualizer extends
private JSplitPane spane = null;
- //NOT USED protected double[][] data = null;
-
private JTabbedPane tabbedGraph = new JTabbedPane(SwingConstants.TOP);
private JButton displayButton =
@@ -273,16 +270,14 @@ public class StatGraphVisualizer extends
private Pattern pattern = null;
- private transient Matcher matcher = null;
-
public StatGraphVisualizer() {
super();
model = createObjectTableModel();
eltList.add(new BarGraph(JMeterUtils.getResString("average"), true,
new Color(202, 0, 0)));
eltList.add(new
BarGraph(JMeterUtils.getResString("aggregate_report_median"), false, new
Color(49, 49, 181)));
- eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct1_line"),new
Object[]{pct1Label}), false, new Color(42, 121, 42)));
- eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct2_line"),new
Object[]{pct2Label}), false, new Color(242, 226, 8)));
- eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct3_line"),new
Object[]{pct3Label}), false, new Color(202, 10 , 232)));
+ eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct1_line"),new
Object[]{PCT1_LABEL}), false, new Color(42, 121, 42)));
+ eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct2_line"),new
Object[]{PCT2_LABEL}), false, new Color(242, 226, 8)));
+ eltList.add(new
BarGraph(MessageFormat.format(JMeterUtils.getResString("aggregate_report_xx_pct3_line"),new
Object[]{PCT3_LABEL}), false, new Color(202, 10 , 232)));
eltList.add(new
BarGraph(JMeterUtils.getResString("aggregate_report_min"), false,
Color.LIGHT_GRAY));
eltList.add(new
BarGraph(JMeterUtils.getResString("aggregate_report_max"), false,
Color.DARK_GRAY));
clearData();
@@ -311,11 +306,11 @@ public class StatGraphVisualizer extends
new Functor("getMeanAsNumber"), //$NON-NLS-1$
new Functor("getMedian"), //$NON-NLS-1$
new Functor("getPercentPoint", //$NON-NLS-1$
- new Object[] { pct1Value }),
+ new Object[] { PCT1_VALUE }),
new Functor("getPercentPoint", //$NON-NLS-1$
- new Object[] { pct2Value }),
+ new Object[] { PCT2_VALUE }),
new Functor("getPercentPoint", //$NON-NLS-1$
- new Object[] { pct3Value }),
+ new Object[] { PCT3_VALUE }),
new Functor("getMin"), //$NON-NLS-1$
new Functor("getMax"), //$NON-NLS-1$
new Functor("getErrorPercentage"), //$NON-NLS-1$
@@ -380,13 +375,12 @@ public class StatGraphVisualizer extends
public void add(final SampleResult res) {
final String sampleLabel = res.getSampleLabel();
// Sampler selection
+ Matcher matcher = null;
if (columnSelection.isSelected() && pattern != null) {
matcher = pattern.matcher(sampleLabel);
}
if ((matcher == null) || (matcher.find())) {
- JMeterUtils.runSafe(false, new Runnable() {
- @Override
- public void run() {
+ JMeterUtils.runSafe(false, () -> {
SamplingStatCalculator row = null;
synchronized (lock) {
row = tableRows.get(sampleLabel);
@@ -398,8 +392,7 @@ public class StatGraphVisualizer extends
}
row.addSample(res);
tableRows.get(TOTAL_ROW_LABEL).addSample(res);
- model.fireTableDataChanged();
- }
+ model.fireTableDataChanged();
});
}
}
@@ -460,17 +453,13 @@ public class StatGraphVisualizer extends
tabbedGraph.addTab(JMeterUtils.getResString("aggregate_graph_tab_graph"),
graphPanel); //$NON-NLS-1$
// If clic on the Graph tab, make the graph (without apply interval or
filter)
- ChangeListener changeListener = new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent changeEvent) {
- JTabbedPane srcTab = (JTabbedPane) changeEvent.getSource();
- int index = srcTab.getSelectedIndex();
- if
(srcTab.getTitleAt(index).equals(JMeterUtils.getResString("aggregate_graph_tab_graph")))
{ //$NON-NLS-1$
- actionMakeGraph();
- }
+ tabbedGraph.addChangeListener(changeEvent -> {
+ JTabbedPane srcTab = (JTabbedPane) changeEvent.getSource();
+ int index = srcTab.getSelectedIndex();
+ if
(srcTab.getTitleAt(index).equals(JMeterUtils.getResString("aggregate_graph_tab_graph")))
{ //$NON-NLS-1$
+ actionMakeGraph();
}
- };
- tabbedGraph.addChangeListener(changeListener);
+ });
spane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
spane.setLeftComponent(myScrollPane);
@@ -652,22 +641,19 @@ public class StatGraphVisualizer extends
ActionNames.SAVE_GRAPHICS,SaveGraphics.class.getName()).doAction(
new
ActionEvent(this,event.getID(),ActionNames.SAVE_GRAPHICS));
} catch (Exception e) {
- log.error(e.getMessage());
+ log.error("Error saving to file", e);
}
} else if (eventSource == saveTable) {
JFileChooser chooser =
FileDialoger.promptToSaveFile("statistics.csv"); //$NON-NLS-1$
if (chooser == null) {
return;
}
- FileWriter writer = null;
- try {
- writer = new FileWriter(chooser.getSelectedFile()); // TODO
Charset ?
+ try (FileOutputStream fo = new
FileOutputStream(chooser.getSelectedFile());
+ OutputStreamWriter writer = new OutputStreamWriter(fo,
Charset.forName("UTF-8"))){
CSVSaveService.saveCSVStats(getAllTableData(model,
getFormatters()),writer,saveHeaders.isSelected() ? getLabels(COLUMNS) : null);
- } catch (IOException e) {
+ } catch (IOException e) { // NOSONAR Error is reported in GUI
JMeterUtils.reportErrorToUser(e.getMessage(), "Error saving
data");
- } finally {
- JOrphanUtils.closeQuietly(writer);
- }
+ }
} else if (eventSource == chooseForeColor) {
Color color = JColorChooser.showDialog(
null,
@@ -709,7 +695,6 @@ public class StatGraphVisualizer extends
pattern = createPattern(columnMatchLabel.getText());
} else if (forceReloadData) {
pattern = null;
- matcher = null;
}
if (getFile() != null && getFile().length() > 0) {
clearData();
@@ -718,7 +703,7 @@ public class StatGraphVisualizer extends
}
} else if (eventSource instanceof JButton) {
// Changing color for column
- JButton btn = ((JButton) eventSource);
+ JButton btn = (JButton) eventSource;
if (btn.getName() != null) {
try {
BarGraph bar =
eltList.get(Integer.parseInt(btn.getName()));
@@ -727,7 +712,9 @@ public class StatGraphVisualizer extends
bar.setBackColor(color);
btn.setBackground(bar.getBackColor());
}
- } catch (NumberFormatException nfe) { } // nothing to do
+ } catch (NumberFormatException nfe) {
+ // nothing to do
+ }
}
}
}
@@ -993,16 +980,16 @@ public class StatGraphVisualizer extends
if (regexpChkBox.isSelected()) {
textToFindQ = textToFind;
}
- Pattern pattern = null;
+ Pattern result = null;
try {
if (caseChkBox.isSelected()) {
- pattern = Pattern.compile(textToFindQ);
+ result = Pattern.compile(textToFindQ);
} else {
- pattern = Pattern.compile(textToFindQ,
Pattern.CASE_INSENSITIVE);
+ result = Pattern.compile(textToFindQ,
Pattern.CASE_INSENSITIVE);
}
} catch (PatternSyntaxException pse) {
return null;
}
- return pattern;
+ return result;
}
}
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java?rev=1776330&r1=1776329&r2=1776330&view=diff
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
(original)
+++
jmeter/trunk/src/components/org/apache/jmeter/visualizers/StatVisualizer.java
Wed Dec 28 21:21:22 2016
@@ -22,8 +22,10 @@ import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -208,7 +210,8 @@ public class StatVisualizer extends Abst
if (chooser == null) {
return;
}
- try (FileWriter writer = new
FileWriter(chooser.getSelectedFile());){ // TODO Charset ?
+ try (FileOutputStream fo = new
FileOutputStream(chooser.getSelectedFile());
+ OutputStreamWriter writer = new OutputStreamWriter(fo,
Charset.forName("UTF-8"))){
CSVSaveService.saveCSVStats(StatGraphVisualizer.getAllTableData(model,
StatGraphVisualizer.getFormatters()),
writer,
saveHeaders.isSelected() ?
StatGraphVisualizer.getLabels(StatGraphVisualizer.getColumns()) : null);
Modified:
jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java?rev=1776330&r1=1776329&r2=1776330&view=diff
==============================================================================
---
jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
(original)
+++
jmeter/trunk/src/components/org/apache/jmeter/visualizers/SummaryReport.java
Wed Dec 28 21:21:22 2016
@@ -22,8 +22,10 @@ import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
import java.text.DecimalFormat;
import java.text.Format;
import java.util.Map;
@@ -54,7 +56,6 @@ import org.apache.jorphan.gui.ObjectTabl
import org.apache.jorphan.gui.RateRenderer;
import org.apache.jorphan.gui.RendererUtils;
import org.apache.jorphan.reflect.Functor;
-import org.apache.jorphan.util.JOrphanUtils;
/**
* Simpler (lower memory) version of Aggregate Report (StatVisualizer).
@@ -274,16 +275,13 @@ public class SummaryReport extends Abstr
if (chooser == null) {
return;
}
- FileWriter writer = null;
- try {
- writer = new FileWriter(chooser.getSelectedFile());
+ try (FileOutputStream fo = new
FileOutputStream(chooser.getSelectedFile());
+ OutputStreamWriter writer = new OutputStreamWriter(fo,
Charset.forName("UTF-8"))) {
CSVSaveService.saveCSVStats(StatGraphVisualizer.getAllTableData(model,
FORMATS),writer,
saveHeaders.isSelected() ?
StatGraphVisualizer.getLabels(COLUMNS) : null);
} catch (IOException e) {
JMeterUtils.reportErrorToUser(e.getMessage(), "Error saving
data");
- } finally {
- JOrphanUtils.closeQuietly(writer);
- }
+ }
}
}
}
Modified: jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java?rev=1776330&r1=1776329&r2=1776330&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/save/CSVSaveService.java Wed Dec 28
21:21:22 2016
@@ -25,6 +25,7 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
+import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -678,11 +679,11 @@ public final class CSVSaveService {
* @param data
* List of data rows
* @param writer
- * output file
+ * output writer
* @throws IOException
* when writing to <code>writer</code> fails
*/
- public static void saveCSVStats(List<?> data, FileWriter writer)
+ public static void saveCSVStats(List<?> data, Writer writer)
throws IOException {
saveCSVStats(data, writer, null);
}
@@ -702,7 +703,7 @@ public final class CSVSaveService {
* @throws IOException
* when writing to <code>writer</code> fails
*/
- public static void saveCSVStats(List<?> data, FileWriter writer,
+ public static void saveCSVStats(List<?> data, Writer writer,
String[] headers) throws IOException {
final char DELIM = ',';
final char[] SPECIALS = new char[] { DELIM, QUOTING_CHAR };