File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/sampler/HTTPSampler2.java | File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/sampler/PostWriter.java | |||
Method name: String sendPostData(PostMethod)
|
Method name: void setHeaders(URLConnection, HTTPSampler)
|
|||
Number of AST nodes: 6 | Number of AST nodes: 7 | |||
1 | while (args.hasNext()) {↵ | 1 | while (args.hasNext()) {↵ | |
2 | HTTPArgument arg = (HTTPArgument) args.next().getObjectValue();↵ | 2 | HTTPArgument arg = (HTTPArgument) args.next().getObjectValue();↵ | |
3 | String parameterName = arg.getName();↵ | 3 | String parameterName = arg.getName();↵ | |
4 | if (parameterName.length()==0){↵ | 4 | if (parameterName.length()==0){↵ | |
5 | continue; // Skip parameters with a blank name (allows use of optional variables in parameter lists)↵ | 5 | continue; // Skip parameters with a blank name (allows use of optional variables in parameter lists)↵ | |
6 | }↵ | 6 | }↵ | |
7 | parts[partNo++] = new StringPart(arg.get↵ | 7 | // End the previous multipart↵ | |
8 | bos.write(CRLF);↵ | |||
9 | // Write multipart for parameter↵ | |||
8 | Name(), arg.getValue(), contentEncoding);↵ | 10 | writeFormMultipart(bos, parameterName, arg.getValue(), contentEncoding);↵ | |
9 | } | 11 |
| |
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 |
Number of node comparisons | 25 |
Number of mapped statements | 5 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 9.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||
---|---|---|---|---|---|---|---|
12 | while (args.hasNext()) | 11 | while (args.hasNext()) | ||||
13 | HTTPArgument arg = (HTTPArgument)args.next().getObjectValue(); | 12 | HTTPArgument arg = (HTTPArgument)args.next().getObjectValue(); | ||||
14 | String parameterName = arg.getName(); | 13 | String parameterName = arg.getName(); | ||||
15 | if (parameterName.length() == 0) | 14 | if (parameterName.length() == 0) | ||||
16 | continue; | 15 | continue; | ||||
| 16 | bos.write(CRLF); | |||||
|
| 17 | writeFormMultipart(bos, parameterName, arg.getValue(), contentEncoding); | ||||
17 | parts[partNo++] = new StringPart(arg.getName(), arg.getValue(), contentEncoding); |
| |
Row | Violation |
---|---|
1 | Unmatched statement writeFormMultipart(bos,parameterName,arg.getValue(),contentEncoding); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Unmatched statement parts[partNo++]=new StringPart(arg.getName(),arg.getValue(),contentEncoding); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Clone fragment #1 returns variables arg , while Clone fragment #2 returns variables arg, parameterName |