Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -441,10 +441,10 @@ private void moveDown() {
// or the selected rows will be unselected
int[] rowsSelected = table.getSelectedRows();
GuiUtils.stopTableEditing(table);

if (rowsSelected.length > 0 && rowsSelected[rowsSelected.length - 1] < table.getRowCount() - 1) {
int selectedRowsCount = rowsSelected.length;
if (selectedRowsCount > 0 && rowsSelected[selectedRowsCount - 1] < table.getRowCount() - 1) {
table.clearSelection();
for (int i = rowsSelected.length - 1; i >= 0; i--) {
for (int i = selectedRowsCount - 1; i >= 0; i--) {
Comment on lines +444 to +447
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Frankly, I think the performance gains are negligible here, and the change makes the code slightly harder to follow

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @vlsi I think the change improves readability and maintainability. and It does not affect functionality. Are you still agree with reverting changes?

int rowSelected = rowsSelected[i];
tableModel.moveRow(rowSelected, rowSelected + 1, rowSelected + 1);
}
Expand Down Expand Up @@ -535,8 +535,9 @@ protected void deleteArgument() {
int[] rowsSelected = table.getSelectedRows();
int anchorSelection = table.getSelectionModel().getAnchorSelectionIndex();
table.clearSelection();
if (rowsSelected.length > 0) {
for (int i = rowsSelected.length - 1; i >= 0; i--) {
int selectedRowsCount = rowsSelected.length;
if (selectedRowsCount > 0) {
for (int i = selectedRowsCount - 1; i >= 0; i--) {
Comment on lines +538 to +540
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest we revert the change as well as it hardly yields any performance gains, yet it makes the code harder to follow

tableModel.removeRow(rowsSelected[i]);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,8 @@ else if (action.equals(UPDATE)) {
* @param selectedRow Selected row
*/
private void setValues(int selectedRow) {
for (int i = 0; i < tableModel.getColumnCount(); i++) {
int columnCount = tableModel.getColumnCount();
for (int i = 0; i < columnCount; i++) {
final JComponent component = dataComponents.get(i);
if (component instanceof JTextComponent) {
JTextComponent dataArea = (JTextComponent) component;
Expand All @@ -263,7 +264,8 @@ private void setValues(int selectedRow) {
* @param actionEvent the event that led to this call
*/
protected void doUpdate(ActionEvent actionEvent) {
for (int i = 0; i < tableModel.getColumnCount(); i++) {
int columnCount = tableModel.getColumnCount();
for (int i = 0; i < columnCount; i++) {
final JComponent component = dataComponents.get(i);
if (component instanceof JTextComponent) {
tableModel.setValueAt(((JTextComponent) component).getText(), selectedRow, i);
Expand Down
3 changes: 2 additions & 1 deletion src/core/src/main/java/org/apache/jmeter/gui/MainFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -715,7 +715,8 @@ private static void addQuickComponentHotkeys(JTree treevar) {
KeyStrokes.CTRL_1, KeyStrokes.CTRL_2, KeyStrokes.CTRL_3,
KeyStrokes.CTRL_4, KeyStrokes.CTRL_5, KeyStrokes.CTRL_6,
KeyStrokes.CTRL_7, KeyStrokes.CTRL_8, KeyStrokes.CTRL_9,};
for (int n = 0; n < keyStrokes.length; n++) {
int keyStrokeCount = keyStrokes.length;
for (int n = 0; n < keyStrokeCount; n++) {
treevar.getActionMap().put(ActionNames.QUICK_COMPONENT + String.valueOf(n), quickComponent);
inputMap.put(keyStrokes[n], ActionNames.QUICK_COMPONENT + String.valueOf(n));
}
Expand Down
3 changes: 2 additions & 1 deletion src/core/src/main/java/org/apache/jmeter/gui/TreeState.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ public static TreeState from(GuiPackage guiPackage) {
int savedSelected = tree.getMinSelectionRow();
ArrayList<Integer> savedExpanded = new ArrayList<>();

for (int rowN = 0; rowN < tree.getRowCount(); rowN++) {
int treeRowCount = tree.getRowCount();
for (int rowN = 0; rowN < treeRowCount; rowN++) {
if (tree.isExpanded(rowN)) {
savedExpanded.add(rowN);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ public void doAction(ActionEvent e) {
JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes();
removeMode = true;
try {
for (int i = nodes.length - 1; i >= 0; i--) {
int selectedNodesCount = nodes.length;
for (int i = selectedNodesCount - 1; i >= 0; i--) {
Comment on lines +101 to +102
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert as discussed previously.

guiPackage.getTreeModel().getCurrentSubTree(nodes[i]).traverse(this);
}
} finally {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,14 @@ public void doAction(ActionEvent e) {
boolean collapse=ActionNames.COLLAPSE_ALL.equals(e.getActionCommand());
GuiPackage guiInstance = GuiPackage.getInstance();
JTree jTree = guiInstance.getMainFrame().getTree();
int treeRowCount = jTree.getRowCount();
if (collapse) {
for (int i = jTree.getRowCount() - 1; i >= 0; i--) {
for (int i = treeRowCount - 1; i >= 0; i--) {
jTree.collapseRow(i);
}
return;
}
for(int i = 0; i < jTree.getRowCount(); i++) {
for(int i = 0; i < treeRowCount; i++) {
jTree.expandRow(i);
}
}
Expand Down
10 changes: 6 additions & 4 deletions src/core/src/main/java/org/apache/jmeter/gui/action/Copy.java
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,10 @@ public static JMeterTreeNode cloneTreeNode(JMeterTreeNode node) {
*/
static JMeterTreeNode[] keepOnlyAncestors(JMeterTreeNode[] currentNodes) {
List<JMeterTreeNode> nodes = new ArrayList<>();
for (int i = 0; i < currentNodes.length; i++) {
int currentNodesCount = currentNodes.length;
for (int i = 0; i < currentNodesCount; i++) {
boolean exclude = false;
for (int j = 0; j < currentNodes.length; j++) {
for (int j = 0; j < currentNodesCount; j++) {
if(i!=j && currentNodes[i].isNodeAncestor(currentNodes[j])) {
exclude = true;
break;
Expand Down Expand Up @@ -130,8 +131,9 @@ public static void setCopiedNodes(JMeterTreeNode[] nodes) {
}

public static JMeterTreeNode[] cloneTreeNodes(JMeterTreeNode[] nodes) {
JMeterTreeNode[] treeNodes = new JMeterTreeNode[nodes.length];
for (int i = 0; i < nodes.length; i++) {
int nodesCount = nodes.length;
JMeterTreeNode[] treeNodes = new JMeterTreeNode[nodesCount];
for (int i = 0; i < nodesCount; i++) {
treeNodes[i] = cloneTreeNode(nodes[i]);
}
return treeNodes;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ public void doAction(ActionEvent e) {
JMeterTreeNode currentNode = treeListener.getCurrentNode();
JMeterTreeNode parentNode = (JMeterTreeNode) currentNode.getParent();
JMeterTreeModel treeModel = instance.getTreeModel();
for (int nodeIndex = copiedNodes.length - 1; nodeIndex >= 0; nodeIndex--) {
int copiedNodesCount = copiedNodes.length;
for (int nodeIndex = copiedNodesCount - 1; nodeIndex >= 0; nodeIndex--) {
Comment on lines +59 to +60
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copiedNodes.length was computed one-time only, there's no point in adding a variable

JMeterTreeNode copiedNode = copiedNodes[nodeIndex];
int index = parentNode.getIndex(currentNode) + 1;
treeModel.insertNodeInto(copiedNode, parentNode, index);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ private static void addNode(JMeterTreeNode parent, JMeterTreeNode node) {
// Add this node
JMeterTreeNode newNode = GuiPackage.getInstance().getTreeModel().addComponent(node.getTestElement(), parent);
// Add all the child nodes of the node we are adding
for (int i = 0; i < node.getChildCount(); i++) {
int numberOfChildren = node.getChildCount();
for (int i = 0; i < numberOfChildren; i++) {
addNode(newNode, (JMeterTreeNode)node.getChildAt(i));
}
} catch (IllegalUserActionException iuae) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ public void doAction(ActionEvent e) {
JMeterTreeNode[] nodes = guiPackage.getTreeListener().getSelectedNodes();
TreePath newTreePath = // Save parent node for later
guiPackage.getTreeListener().removedSelectedNode();
for (int i = nodes.length - 1; i >= 0; i--) {
int nodesCount = nodes.length;
for (int i = nodesCount - 1; i >= 0; i--) {
Comment on lines +81 to +82
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert

removeNode(nodes[i]);
}
guiPackage.getTreeListener().getJTree().setSelectionPath(newTreePath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ public void run() {
private static void processRemainingArgs(List<? super String> processArgs, String[] mainCommand) {
boolean paramValue = false;
StringBuilder partialParamValue = new StringBuilder();
for (int i = 1; i < mainCommand.length; i++) {
int commandCount = mainCommand.length;
for (int i = 1; i < commandCount; i++) {
String currentPart = mainCommand[i];
if (paramValue) {
if (currentPart.startsWith("-")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ public Map<String, Template> parseTemplateFile(File file) throws IOException, SA
document.getDocumentElement().normalize();
Map<String, Template> templates = new TreeMap<>();
NodeList templateNodes = document.getElementsByTagName("template");
for (int i = 0; i < templateNodes.getLength(); i++) {
int nodeCount = templateNodes.getLength();
for (int i = 0; i < nodeCount; i++) {
Node node = templateNodes.item(i);
parseTemplateNode(templates, node);
}
Expand Down Expand Up @@ -212,7 +213,8 @@ private static String textOfFirstTag(Element element, String tagName) {

private static Map<String, String> parseParameterNodes(NodeList parameterNodes) {
Map<String, String> parametersMap = new HashMap<>();
for (int i = 0; i < parameterNodes.getLength(); i++) {
int nodeCount = parameterNodes.getLength();
for (int i = 0; i < nodeCount; i++) {
Element element = (Element) parameterNodes.item(i);
parametersMap.put(element.getAttribute("key"), element.getAttribute("defaultValue"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,9 @@ public JMeterTreeNode[] getSelectedNodes() {
if (paths == null) {
return new JMeterTreeNode[] { getCurrentNode() };
}
JMeterTreeNode[] nodes = new JMeterTreeNode[paths.length];
for (int i = 0; i < paths.length; i++) {
int numberOfPaths = paths.length;
JMeterTreeNode[] nodes = new JMeterTreeNode[numberOfPaths];
for (int i = 0; i < numberOfPaths; i++) {
nodes[i] = (JMeterTreeNode) paths[i].getLastPathComponent();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,11 @@ protected Transferable createTransferable(JComponent c) {
sortTreePathByRow(paths, tree);

// if child and a parent are selected : only keep the parent
boolean[] toRemove = new boolean[paths.length];
int size = paths.length;
for (int i = 0; i < paths.length; i++) {
for (int j = 0; j < paths.length; j++) {
int pathCount = paths.length;
boolean[] toRemove = new boolean[pathCount];
int size = pathCount;
for (int i = 0; i < pathCount; i++) {
for (int j = 0; j < pathCount; j++) {
if(i!=j && ((JMeterTreeNode)paths[i].getLastPathComponent()).isNodeAncestor((JMeterTreeNode)paths[j].getLastPathComponent())) {
toRemove[i] = true;
size--;
Expand All @@ -91,7 +92,7 @@ protected Transferable createTransferable(JComponent c) {
// remove unneeded nodes
JMeterTreeNode[] nodes = new JMeterTreeNode[size];
size = 0;
for (int i = 0; i < paths.length; i++) {
for (int i = 0; i < pathCount; i++) {
if(!toRemove[i]) {
JMeterTreeNode node = (JMeterTreeNode) paths[i].getLastPathComponent();
nodes[size++] = node;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ public void setFiles(String[] files) {
public String[] getFiles() {
GuiUtils.stopTableEditing(files);
String[] filesArray = new String[tableModel.getRowCount()];
for (int idx=0; idx < filesArray.length; idx++) {
int fileCount = filesArray.length;
for (int idx = 0; idx < fileCount; idx++) {
filesArray[idx] = (String)tableModel.getValueAt(idx,0);
}
return filesArray;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,13 +624,14 @@ public void setEnabled(boolean enable) {
}

private void getRemoteItems() {
if (remoteHosts.length > 0) {
int hostCount = remoteHosts.length;
if (hostCount > 0) {
remoteStart = makeMenuRes("remote_start"); //$NON-NLS-1$
remoteStop = makeMenuRes("remote_stop"); //$NON-NLS-1$
remoteShut = makeMenuRes("remote_shut"); //$NON-NLS-1$
remoteExit = makeMenuRes("remote_exit"); //$NON-NLS-1$

for (int i = 0; i < remoteHosts.length; i++) {
for (int i = 0; i < hostCount; i++) {
remoteHosts[i] = remoteHosts[i].trim();

JMenuItem item = makeMenuItemNoRes(remoteHosts[i], ActionNames.REMOTE_START);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,12 @@ public PowerTableModel() {
}

public void setRowValues(int row, Object[] values) {
if (values.length != model.getHeaderCount()){
int valueCount = values.length;
if (valueCount != model.getHeaderCount()){
throw new IllegalArgumentException("Incorrect number of data items");
}
model.setCurrentPos(row);
for (int i = 0; i < values.length; i++) {
for (int i = 0; i < valueCount; i++) {
model.addColumnValue(model.getHeaders()[i], values[i]);
}
}
Expand Down Expand Up @@ -110,11 +111,12 @@ public void clearData() {

@Override
public void addRow(Object[] data) {
if (data.length != model.getHeaderCount()){
int dataCount = data.length;
if (dataCount != model.getHeaderCount()){
throw new IllegalArgumentException("Incorrect number of data items");
}
model.setCurrentPos(model.size());
for (int i = 0; i < data.length; i++) {
for (int i = 0; i < dataCount; i++) {
model.addColumnValue(model.getHeaders()[i], data[i]);
}
}
Expand Down Expand Up @@ -145,7 +147,8 @@ public void addNewRow() {

private Object[] createDefaultRow() {
Object[] rowData = new Object[getColumnCount()];
for (int i = 0; i < rowData.length; i++) {
int rowDataCount = rowData.length;
for (int i = 0; i < rowDataCount; i++) {
rowData[i] = createDefaultValue(i);
}
return rowData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@ private void produce() {
SampleContext context = getSampleContext();
Validate.validState(context != null, "Set a sample context before producing samples.");

for (int i = 0; i < csvReaders.length; i++) {
int readerCount = csvReaders.length;
for (int i = 0; i < readerCount; i++) {
long sampleCount = 0;
long start = now();
CsvSampleReader csvReader = csvReaders[i];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ protected ListResultData createDataResult(String key, Top5ErrorsSummaryData data
Object[][] top5 = data.getTop5ErrorsMetrics();

int numberOfValues = 0;
for (int i = 0; i < top5.length; i++) {
int top5Count = top5.length;
for (int i = 0; i < top5Count; i++) {
result.addResult(new ValueResultData(top5[i][0]));
result.addResult(new ValueResultData(top5[i][1]));
numberOfValues++;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,8 @@ protected void initializeExtraResults(MapResultData parentResult) {
String[] colors = new String[]{
SATISFIED_COLOR, TOLERATED_COLOR, UNTOLERATED_COLOR, FAILED_COLOR
};
for (int i = 0; i < seriesLabels.length; i++) {
int seriesCount = seriesLabels.length;
for (int i = 0; i < seriesCount; i++) {
ListResultData array = new ListResultData();
array.addResult(new ValueResultData(i));
array.addResult(new ValueResultData(seriesLabels[i]));
Expand All @@ -144,7 +145,8 @@ protected void initializeExtraResults(MapResultData parentResult) {

private void initializeSeries(MapResultData parentResult, String[] series, String[] colors) {
ListResultData listResultData = (ListResultData) parentResult.getResult("series");
for (int i = 0; i < series.length; i++) {
int seriesCount = series.length;
for (int i = 0; i < seriesCount; i++) {
listResultData.addResult(create(series[i], colors[i]));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,8 @@ public String toString() {
sb.append(", isTransactionSampleEvent=").append(isTransactionSampleEvent);
if (values != null && values.length > 0) {
sb.append("values=[");
for (int i = 0; i < variableNames.length; i++) {
int variableNameCount = variableNames.length;
for (int i = 0; i < variableNameCount; i++) {
if (i > 0) {
sb.append(", ");
}
Expand Down
20 changes: 13 additions & 7 deletions src/core/src/main/java/org/apache/jmeter/save/CSVSaveService.java
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,8 @@ public static String printableFieldNamesToString(
appendFields(saveConfig.saveIdleTime(), text, delim, CSV_IDLETIME);
appendFields(saveConfig.saveConnectTime(), text, delim, CSV_CONNECT_TIME);

for (int i = 0; i < SampleEvent.getVarCount(); i++) {
int sampleVariableCount = SampleEvent.getVarCount();
for (int i = 0; i < sampleVariableCount; i++) {
text.append(VARIABLE_NAME_QUOTE_CHAR);
text.append(SampleEvent.getVarName(i));
text.append(VARIABLE_NAME_QUOTE_CHAR);
Expand Down Expand Up @@ -594,7 +595,8 @@ private static String[] splitHeader(String headerLine, String delim) {
String[] parts = headerLine.split("\\Q" + delim);// $NON-NLS-1$
int previous = -1;
// Check if the line is a header
for (int i = 0; i < parts.length; i++) {
int partsCount = parts.length;
for (int i = 0; i < partsCount; i++) {
final String label = parts[i];
// Check for Quoted variable names
if (isVariableName(label)) {
Expand Down Expand Up @@ -666,7 +668,8 @@ public static void saveCSVStats(List<?> data, Writer writer,
final char DELIM = ',';
final char[] SPECIALS = new char[] { DELIM, QUOTING_CHAR };
if (headers != null) {
for (int i = 0; i < headers.length; i++) {
int headerCount = headers.length;
for (int i = 0; i < headerCount; i++) {
if (i > 0) {
writer.write(DELIM);
}
Expand All @@ -676,7 +679,8 @@ public static void saveCSVStats(List<?> data, Writer writer,
}
for (Object o : data) {
List<?> row = (List<?>) o;
for (int idy = 0; idy < row.size(); idy++) {
int rowSize = row.size();
for (int idy = 0; idy < rowSize; idy++) {
if (idy > 0) {
writer.write(DELIM);
}
Expand Down Expand Up @@ -943,7 +947,8 @@ public static String resultToDelimitedString(SampleEvent event,
text.append(sample.getConnectTime());
}

for (int i = 0; i < SampleEvent.getVarCount(); i++) {
int sampleVarCount = SampleEvent.getVarCount();
for (int i = 0; i < sampleVarCount; i++) {
text.append(event.getVarValue(i));
}

Expand Down Expand Up @@ -986,10 +991,11 @@ public static String quoteDelimiters(String input, char[] specialChars) {
if (StringUtils.containsNone(input, specialChars)) {
return input;
}
StringBuilder buffer = new StringBuilder(input.length() + 10);
int inputLength = input.length();
StringBuilder buffer = new StringBuilder(inputLength + 10);
final char quote = specialChars[1];
buffer.append(quote);
for (int i = 0; i < input.length(); i++) {
for (int i = 0; i < inputLength; i++) {
char c = input.charAt(i);
if (c == quote) {
buffer.append(quote); // double the quote char
Expand Down
Loading
Loading