##### Struts 1

- Welcome
- Learning
- Roadmap
- Releases

##### Documentation

- User Guide
- FAQs and HOWTOs
- Release Notes
- Javadoc
- DTDDoc

##### Support

- User Mailing List
- Issue Tracker (JIRA)
- Wiki Pages

##### Components

- Struts Apps
- Struts EL
- Struts Extras
- Struts Faces
- Struts Scripting
- Struts Taglib
- Struts Tiles

##### Project Documentation

- Project Information
- Project Reports
  - Checkstyle
  - CPD Report
  - DTDDoc
  - JavaDocs
  - PMD Report
  - Source Xref
  - Surefire Report
  - Test JavaDocs
  - Test Source Xref

## PMD Results

The following document contains the results of PMD 4.2.2.

## Files

### org/apache/struts/action/ActionForm.java

Violation | Line
--- | ---
An empty statement (semicolon) not part of a loop | 154

### org/apache/struts/action/ActionMapping.java

Violation | Line
--- | ---
These nested if statements could be combined | 76 - 78

### org/apache/struts/action/ActionServlet.java

Violation | Line
--- | ---
Avoid unused imports such as 'org.xml.sax.InputSource' | 57
Avoid unused imports such as 'java.net.URLConnection' | 75
An empty statement (semicolon) not part of a loop | 317
An empty statement (semicolon) not part of a loop | 854
These nested if statements could be combined | 1000 - 1026
These nested if statements could be combined | 1148 - 1174
These nested if statements could be combined | 1295 - 1321
These nested if statements could be combined | 1456 - 1490

### org/apache/struts/action/RequestProcessor.java

Violation | Line
--- | ---
These nested if statements could be combined | 455 - 457
These nested if statements could be combined | 464 - 466

### org/apache/struts/chain/commands/servlet/ExceptionHandler.java

Violation | Line
--- | ---
Avoid unused private fields such as 'log'. | 47

### org/apache/struts/chain/commands/servlet/PopulateActionForm.java

Violation | Line
--- | ---
Avoid unused private fields such as 'log'. | 42

### org/apache/struts/chain/commands/servlet/SelectLocale.java

Violation | Line
--- | ---
Avoid unused private fields such as 'log'. | 41

### org/apache/struts/chain/commands/servlet/ValidateActionForm.java

Violation | Line
--- | ---
These nested if statements could be combined | 64 - 70

### org/apache/struts/chain/contexts/WebActionContext.java

Violation | Line
--- | ---
Overriding method merely calls super | 53 - 55

### org/apache/struts/config/impl/ModuleConfigImpl.java

Violation | Line
--- | ---
These nested if statements could be combined | 297 - 307

### org/apache/struts/mock/MockActionServlet.java

Violation | Line
--- | ---
An empty statement (semicolon) not part of a loop | 62
Overriding method merely calls super | 105 - 108

### org/apache/struts/mock/MockFormBean.java

Violation | Line
--- | ---
Do not use if statements that are always true or always false | 94

### org/apache/struts/upload/CommonsMultipartRequestHandler.java

Violation | Line
--- | ---
Avoid empty catch blocks | 413 - 415

### org/apache/struts/util/ImageButtonBean.java

Violation | Line
--- | ---
An empty statement (semicolon) not part of a loop | 55

### org/apache/struts/util/PropertyMessageResources.java

Violation | Line
--- | ---
Avoid empty if statements | 244 - 250
Avoid unused local variables such as 'messageKey'. | 397
These nested if statements could be combined | 448 - 450

### org/apache/struts/util/RequestUtils.java

Violation | Line
--- | ---
An empty statement (semicolon) not part of a loop | 887

### org/apache/struts/util/TokenProcessor.java

Violation | Line
--- | ---
Avoid unnecessary temporaries when converting primitives to Strings | 204

### org/apache/struts/validator/Resources.java

Violation | Line
--- | ---
Avoid unused local variables such as 'msgBundle'. | 296

### org/apache/struts/validator/ValidatorPlugIn.java

Violation | Line
--- | ---
Avoid unused private fields such as 'config'. | 79

### org/apache/struts/validator/validwhen/ValidWhenLexer.java

Violation | Line
--- | ---
Avoid unused imports such as 'java.util.Stack' | 26
Avoid unused imports such as 'org.apache.commons.validator.util.ValidatorUtils' | 27
Avoid unused imports such as 'antlr.ANTLRException' | 36
Avoid unused imports such as 'antlr.CharScanner' | 39
Avoid unused imports such as 'antlr.CommonToken' | 44
Avoid unused imports such as 'antlr.MismatchedCharException' | 47
Avoid unused imports such as 'antlr.SemanticException' | 52
Avoid unused local variables such as 'theRetToken'. | 76
Avoid unused local variables such as '_token'. | 79
Avoid unused local variables such as '_saveIndex'. | 213
Avoid unused local variables such as '_saveIndex'. | 259
Avoid unused local variables such as '_saveIndex'. | 305
Avoid unused local variables such as '_saveIndex'. | 345
Avoid unused local variables such as '_saveIndex'. | 370
Avoid unused local variables such as '_saveIndex'. | 432
Avoid unused local variables such as '_saveIndex'. | 445
Avoid unused local variables such as '_saveIndex'. | 458
Avoid unused local variables such as '_saveIndex'. | 471
Avoid unused local variables such as '_saveIndex'. | 484
Avoid unused local variables such as '_saveIndex'. | 497
Avoid unused local variables such as '_saveIndex'. | 579
Avoid unused local variables such as '_saveIndex'. | 593
Avoid unused local variables such as '_saveIndex'. | 607
Avoid unused local variables such as '_saveIndex'. | 620
Avoid unused local variables such as '_saveIndex'. | 633
Avoid unused local variables such as '_saveIndex'. | 647

### org/apache/struts/validator/validwhen/ValidWhenParser.java

Violation | Line
--- | ---
Avoid unused imports such as 'antlr.TokenStreamIOException' | 32
Avoid unused imports such as 'antlr.ANTLRException' | 33
Avoid unused imports such as 'antlr.LLkParser' | 34
Avoid unused imports such as 'antlr.MismatchedTokenException' | 39
Avoid unused imports such as 'antlr.SemanticException' | 40
These nested if statements could be combined | 72 - 74
These nested if statements could be combined | 77 - 79
Avoid empty catch blocks | 133
An empty statement (semicolon) not part of a loop | 133
Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 406
Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 421
Avoid instantiating Boolean objects; reference Boolean.TRUE or Boolean.FALSE or call Boolean.valueOf() instead. | 423

### org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java

Violation | Line
--- | ---
Avoid unused imports such as 'java.util.Stack' | 26
Avoid unused imports such as 'org.apache.commons.validator.util.ValidatorUtils' | 27