##### General Information

- Overview
- Features
- Specification
- Getting Started
- Howto Build Turbine
- Changes

##### Documentation

- Services
- Howtos
- Wiki
- JavaDocs

##### Development

- Proposals
- How To Help
- Todo

##### Project Documentation

- Project Information
- Project Reports
  - Changes
  - FindBugs
  - JavaDocs
  - Test JavaDocs
  - Source Xref
  - Test Source Xref
  - PMD
  - Surefire Report
  - Cobertura Test Coverage
  - JDepend
  - Rat Report
  - Tag List

##### Apache

- Apache Website
- License
- How the ASF works
- Sponsorship
- Thanks
- Security

## PMD Results

The following document contains the results of PMD 5.1.2.

## Files

### org/apache/turbine/Turbine.java

Violation | Line
--- | ---
Useless parentheses. | 316
These nested if statements could be combined | 521–524
Avoid using a branching statement as the last in a loop. | 563
Avoid empty catch blocks | 935–938
Avoid empty catch blocks | 945–948
Avoid empty catch blocks | 971–974

### org/apache/turbine/annotation/AnnotationProcessor.java

Violation | Line
--- | ---
Avoid unused private methods such as 'injectTurbineLoader(Object,AssemblerBrokerService,Field,TurbineLoader)'. | 144
Avoid unused private methods such as 'injectTurbineConfiguration(Object,Configuration,Field,TurbineConfiguration)'. | 180
Avoid unused private methods such as 'injectTurbineService(Object,ServiceManager,Field,TurbineService)'. | 339

### org/apache/turbine/modules/ActionEvent.java

Violation | Line
--- | ---
These nested if statements could be combined | 216–220
Useless parentheses. | 296

### org/apache/turbine/modules/actions/sessionvalidator/SessionValidator.java

Violation | Line
--- | ---
These nested if statements could be combined | 98–117

### org/apache/turbine/modules/actions/sessionvalidator/TemplateSecureSessionValidator.java

Violation | Line
--- | ---
Avoid unused imports such as 'org.apache.turbine.annotation.TurbineService' | 28
Avoid unused imports such as 'org.apache.turbine.services.security.SecurityService' | 31

### org/apache/turbine/modules/pages/JspPage.java

Violation | Line
--- | ---
Avoid empty catch blocks | 62–66

### org/apache/turbine/modules/screens/TemplateScreen.java

Violation | Line
--- | ---
Avoid empty catch blocks | 148–151

### org/apache/turbine/om/security/DefaultUserImpl.java

Violation | Line
--- | ---
An empty statement (semicolon) not part of a loop | 71
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 423
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 439
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 652
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 654
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 654
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 663
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 674
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 676
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 685
Useless parentheses. | 699
Useless parentheses. | 726
Unnecessary use of fully qualified name 'java.util.Date' due to existing import 'java.util.Date' | 738

### org/apache/turbine/om/security/TurbineUserDelegate.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 36
Avoid modifiers which are implied by the context | 43

### org/apache/turbine/pipeline/CleanUpValve.java

Violation | Line
--- | ---
Avoid empty catch blocks | 91–95

### org/apache/turbine/pipeline/PipelineData.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 47
Avoid modifiers which are implied by the context | 55
Avoid modifiers which are implied by the context | 67

### org/apache/turbine/pipeline/Valve.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 92–93
Avoid modifiers which are implied by the context | 99–100

### org/apache/turbine/pipeline/ValveContext.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 67–68

### org/apache/turbine/services/BaseServiceBroker.java

Violation | Line
--- | ---
Useless parentheses. | 261
Useless parentheses. | 262
Useless parentheses. | 263
Useless parentheses. | 322

### org/apache/turbine/services/TurbineServiceProvider.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 42
Avoid modifiers which are implied by the context | 50
Avoid modifiers which are implied by the context | 57

### org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java

Violation | Line
--- | ---
Useless parentheses. | 231
Useless parentheses. | 287

### org/apache/turbine/services/jsonrpc/JsonRpcService.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 41
Avoid modifiers which are implied by the context | 50–51
Avoid modifiers which are implied by the context | 60
Avoid modifiers which are implied by the context | 68
Avoid modifiers which are implied by the context | 76
Avoid modifiers which are implied by the context | 83

### org/apache/turbine/services/jsp/TurbineJspService.java

Violation | Line
--- | ---
Avoid empty catch blocks | 183–186

### org/apache/turbine/services/jsp/util/JspNavigation.java

Violation | Line
--- | ---
Avoid empty catch blocks | 88–91

### org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java

Violation | Line
--- | ---
Avoid empty catch blocks | 95–98

### org/apache/turbine/services/pull/PipelineDataApplicationTool.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 54
Avoid modifiers which are implied by the context | 65

### org/apache/turbine/services/pull/RunDataApplicationTool.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 55
Avoid modifiers which are implied by the context | 66

### org/apache/turbine/services/pull/TurbinePullService.java

Violation | Line
--- | ---
These nested if statements could be combined | 411–415
These nested if statements could be combined | 462–466

### org/apache/turbine/services/rundata/DefaultTurbineRunData.java

Violation | Line
--- | ---
Useless parentheses. | 358
Useless parentheses. | 359
Useless parentheses. | 379
Useless parentheses. | 380
Useless parentheses. | 477–478
Useless parentheses. | 821

### org/apache/turbine/services/rundata/TurbineRunDataService.java

Violation | Line
--- | ---
Useless parentheses. | 133
Useless parentheses. | 224
Useless parentheses. | 225
Useless parentheses. | 226

### org/apache/turbine/services/schedule/JobQueue.java

Violation | Line
--- | ---
Useless parentheses. | 191

### org/apache/turbine/services/servlet/TurbineServletService.java

Violation | Line
--- | ---
Avoid empty catch blocks | 116–119

### org/apache/turbine/services/session/SessionListener.java

Violation | Line
--- | ---
Avoid unused private methods such as 'getSessionService()'. | 81

### org/apache/turbine/services/session/SessionService.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 46

### org/apache/turbine/services/template/TemplateService.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 46

### org/apache/turbine/services/template/TurbineTemplateService.java

Violation | Line
--- | ---
Useless parentheses. | 343
Useless parentheses. | 437
Useless parentheses. | 451
Useless parentheses. | 465
Useless parentheses. | 479
Useless parentheses. | 493
Useless parentheses. | 540
Useless parentheses. | 555
Useless parentheses. | 570
Useless parentheses. | 586
Useless parentheses. | 601
Useless parentheses. | 617
Useless parentheses. | 810
Useless parentheses. | 810
Useless parentheses. | 815
Useless parentheses. | 815

### org/apache/turbine/services/template/mapper/BaseMapper.java

Violation | Line
--- | ---
Useless parentheses. | 173

### org/apache/turbine/services/template/mapper/ClassMapper.java

Violation | Line
--- | ---
Useless parentheses. | 122
Useless parentheses. | 142
Avoid empty catch blocks | 157–160

### org/apache/turbine/services/template/mapper/DirectMapper.java

Violation | Line
--- | ---
Useless parentheses. | 66

### org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java

Violation | Line
--- | ---
Useless parentheses. | 123

### org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java

Violation | Line
--- | ---
Useless parentheses. | 118

### org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java

Violation | Line
--- | ---
Useless parentheses. | 79

### org/apache/turbine/services/ui/UIService.java

Violation | Line
--- | ---
Avoid modifiers which are implied by the context | 41
Avoid modifiers which are implied by the context | 46
Avoid modifiers which are implied by the context | 53
Avoid modifiers which are implied by the context | 60
Avoid modifiers which are implied by the context | 71
Avoid modifiers which are implied by the context | 87
Avoid modifiers which are implied by the context | 101
Avoid modifiers which are implied by the context | 117
Avoid modifiers which are implied by the context | 127
Avoid modifiers which are implied by the context | 143
Avoid modifiers which are implied by the context | 153
Avoid modifiers which are implied by the context | 169–170
Avoid modifiers which are implied by the context | 180

### org/apache/turbine/services/uniqueid/TurbineUniqueIdService.java

Violation | Line
--- | ---
Useless parentheses. | 135

### org/apache/turbine/services/velocity/TurbineVelocityService.java

Violation | Line
--- | ---
Avoid empty catch blocks | 306–309
Avoid empty catch blocks | 352–355
Avoid empty catch blocks | 393–396
Useless parentheses. | 438
Useless parentheses. | 438
Useless parentheses. | 443
Useless parentheses. | 457
Useless parentheses. | 457
Useless parentheses. | 579
Useless parentheses. | 582

### org/apache/turbine/util/DateSelector.java

Violation | Line
--- | ---
Useless parentheses. | 205
Useless parentheses. | 228
Useless parentheses. | 234
Useless parentheses. | 245
Useless parentheses. | 270
Useless parentheses. | 282
Useless parentheses. | 296
Useless parentheses. | 329
Useless parentheses. | 376
Useless parentheses. | 399
Useless parentheses. | 451

### org/apache/turbine/util/GenerateUniqueId.java

Violation | Line
--- | ---
Unnecessary use of fully qualified name 'java.util.Random' due to existing import 'java.util.Random' | 52
Useless parentheses. | 103

### org/apache/turbine/util/ObjectUtils.java

Violation | Line
--- | ---
Avoid empty catch blocks | 115–118
Avoid empty catch blocks | 129–132

### org/apache/turbine/util/SecurityCheck.java

Violation | Line
--- | ---
Useless parentheses. | 158
Useless parentheses. | 252

### org/apache/turbine/util/ServerData.java

Violation | Line
--- | ---
Useless parentheses. | 260–261
Useless parentheses. | 263–264

### org/apache/turbine/util/ServletUtils.java

Violation | Line
--- | ---
Useless parentheses. | 77

### org/apache/turbine/util/TimeSelector.java

Violation | Line
--- | ---
Useless parentheses. | 284
Useless parentheses. | 296–297
Useless parentheses. | 319
Useless parentheses. | 327
Useless parentheses. | 338
Useless parentheses. | 350
Useless parentheses. | 380
Useless parentheses. | 391
Useless parentheses. | 403
Useless parentheses. | 443
Useless parentheses. | 443
Useless parentheses. | 444
Useless parentheses. | 458
Useless parentheses. | 458
Useless parentheses. | 459
Useless parentheses. | 474
Useless parentheses. | 487
Useless parentheses. | 520
Useless parentheses. | 549
Useless parentheses. | 579
Useless parentheses. | 646

### org/apache/turbine/util/template/TemplateInfo.java

Violation | Line
--- | ---
Avoid empty catch blocks | 120–125

### org/apache/turbine/util/uri/BaseURI.java

Violation | Line
--- | ---
Useless parentheses. | 461–462
Useless parentheses. | 463–464

### org/apache/turbine/util/uri/TurbineURI.java

Violation | Line
--- | ---
Avoid unused private methods such as 'doEncode(StringBuilder,Collection,char,char)'. | 775

### org/apache/turbine/util/uri/URIParam.java

Violation | Line
--- | ---
Useless parentheses. | 63

### org/apache/turbine/services/schedule/BaseJobEntryTorque.java

Violation | Line
--- | ---
Avoid unused imports such as 'java.text.SimpleDateFormat' | 5
Avoid unused imports such as 'java.util.ArrayList' | 6
Avoid unused imports such as 'java.util.Collections' | 7
Avoid unused imports such as 'java.util.Date' | 8
Avoid unused imports such as 'java.util.GregorianCalendar' | 9
Avoid unused imports such as 'java.util.List' | 10
Avoid unused imports such as 'org.apache.torque.om.ComboKey' | 14
Avoid unused imports such as 'org.apache.torque.om.DateKey' | 15
Avoid unused imports such as 'org.apache.torque.om.StringKey' | 19
Avoid unused imports such as 'org.apache.torque.om.BooleanKey' | 20
Avoid unused imports such as 'org.apache.torque.criteria.Criteria' | 22
Avoid empty if statements | 698–699
Avoid empty if statements | 726–727
Useless parentheses. | 790

### org/apache/turbine/services/schedule/BaseJobEntryTorquePeer.java

Violation | Line
--- | ---
Avoid unused imports such as 'java.sql.SQLException' | 4
Avoid unused imports such as 'java.sql.ResultSet' | 5
Avoid unused imports such as 'java.io.IOException' | 6
Avoid unused imports such as 'java.io.InputStream' | 7
Avoid unused imports such as 'java.util.ArrayList' | 8
Avoid unused imports such as 'java.util.Date' | 10
Avoid unused imports such as 'java.util.Iterator' | 11
Avoid unused imports such as 'org.apache.torque.Column' | 18
Avoid unused imports such as 'org.apache.torque.TorqueRuntimeException' | 21
Avoid unused imports such as 'org.apache.torque.map.ForeignKeyMap' | 27
Avoid unused imports such as 'org.apache.torque.map.InheritanceMap' | 28
Avoid unused imports such as 'org.apache.torque.om.mapper.CompositeMapper' | 30
Avoid unused imports such as 'org.apache.torque.om.DateKey' | 31
Avoid unused imports such as 'org.apache.torque.om.NumberKey' | 32
Avoid unused imports such as 'org.apache.torque.om.StringKey' | 33
Avoid unused imports such as 'org.apache.torque.om.SimpleKey' | 35
Avoid unused imports such as 'org.apache.torque.util.Transaction' | 36
Avoid unused private fields such as 'log'. | 54
Unnecessary use of fully qualified name 'org.apache.torque.criteria.Criteria' due to existing import 'org.apache.torque.criteria.Criteria' | 526
Unnecessary use of fully qualified name 'org.apache.torque.criteria.Criteria' due to existing import 'org.apache.torque.criteria.Criteria' | 548

### org/apache/turbine/services/schedule/BaseJobEntryTorquePeerImpl.java

Violation | Line
--- | ---
Avoid unused imports such as 'java.sql.Blob' | 3
Avoid unused imports such as 'java.sql.Clob' | 4
Avoid unused imports such as 'java.sql.SQLException' | 6
Avoid unused imports such as 'java.sql.ResultSet' | 7
Avoid unused imports such as 'java.sql.PreparedStatement' | 8
Avoid unused imports such as 'java.sql.Types' | 9
Avoid unused imports such as 'java.io.IOException' | 10
Avoid unused imports such as 'java.io.InputStream' | 11
Avoid unused imports such as 'java.io.ByteArrayInputStream' | 12
Avoid unused imports such as 'java.io.ByteArrayOutputStream' | 13
Avoid unused imports such as 'java.io.Reader' | 14
Avoid unused imports such as 'java.io.StringReader' | 15
Avoid unused imports such as 'java.io.StringWriter' | 16
Avoid unused imports such as 'java.util.Date' | 19
Avoid unused imports such as 'java.util.Iterator' | 20
Avoid unused imports such as 'java.util.LinkedList' | 21
Avoid unused imports such as 'java.util.Map' | 23
Avoid unused imports such as 'java.util.HashMap' | 24
Avoid unused imports such as 'java.util.Set' | 25
Avoid unused imports such as 'java.util.HashSet' | 26
Avoid unused imports such as 'org.apache.commons.lang.ObjectUtils' | 28
Avoid unused imports such as 'org.apache.torque.OptimisticLockingFailedException' | 32
Avoid unused imports such as 'org.apache.torque.Torque' | 34
Avoid unused imports such as 'org.apache.torque.TorqueRuntimeException' | 36
Avoid unused imports such as 'org.apache.torque.criteria.Criterion' | 38
Avoid unused imports such as 'org.apache.torque.om.mapper.CompositeMapper' | 40
Avoid unused imports such as 'org.apache.torque.om.DateKey' | 41
Avoid unused imports such as 'org.apache.torque.om.NumberKey' | 42
Avoid unused imports such as 'org.apache.torque.om.StringKey' | 43
Avoid unused imports such as 'org.apache.torque.om.ComboKey' | 46
Avoid unused private fields such as 'log'. | 67