File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/config/Arguments.java | File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/modifier/UserParameterModifier.java | |||
Method name: Map getArgumentsAsMap()
|
Method name: void process()
|
|||
Number of AST nodes: 4 | Number of AST nodes: 3 | |||
1 | while (iter.hasNext()) {↵ | |||
2 | Argument arg = (Argument) iter.next().getObjectValue();↵ | 1 | Argument arg = (Argument) iter.next().getObjectValue();↵ | |
3 | // Because CollectionProperty.mergeIn will not prevent adding two↵ | 2 | // ↵ | |
4 | // properties of the same name, we need to select the first↵ | 3 | if parameter name exists in http request↵ | |
5 | value so↵ | 4 | // then change its value↵ | |
6 | // that this element's values prevail over defaults provided by↵ | 5 | // ↵ | |
7 | // configuration↵ | |||
8 | // elements:↵ | |||
9 | if (!argMap.containsKey(arg.getName())) {↵ | |||
10 | argMap.put(arg.getName(), ↵ | 6 | (Note: each jmeter thread (ie user) gets to have unique values)↵ | |
7 | if (currentUser.containsKey(arg.getName())) {↵ | |||
11 | arg.getValue());↵ | 8 | arg.setValue((String) currentUser.get(arg.getName()));↵ | |
12 | }↵ | 9 |
| |
13 | } | |||
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.2 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 6 |
Number of mapped statements | 2 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 6.8 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | Argument arg = (Argument)iter.next().getObjectValue(); | 8 | Argument arg = (Argument)iter.next().getObjectValue(); | |||||||||||||
5 | if (!argMap.containsKey(arg.getName())) |
| 9 | if (currentUser.containsKey(arg.getName())) | ||||||||||||
6 | argMap.put(arg.getName(), arg.getValue()); |
| | |||||||||||||
|
| 10 | arg.setValue((String)currentUser.get(arg.getName())); |
Row | Violation |
---|---|
1 | Expression !argMap.containsKey(arg.getName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression currentUser.containsKey(arg.getName()) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement argMap.put(arg.getName(),arg.getValue()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement arg.setValue((String)currentUser.get(arg.getName())); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |