FindBugs Results

The following document contains the results of FindBugs.

Summary

Files Errors
119 356

Files

Files Violations
org.apache.turbine.Turbine 16
org.apache.turbine.modules.ActionEvent 2
org.apache.turbine.util.ObjectUtils 3
org.apache.turbine.util.SecurityCheck 1
org.apache.turbine.util.ServerData 1
org.apache.turbine.util.ServletUtils 1
org.apache.turbine.modules.actions.InitContextsAction 1
org.apache.turbine.modules.actions.LoginUser 1
org.apache.turbine.modules.screens.Error 1
org.apache.turbine.modules.screens.JSONScreen 1
org.apache.turbine.modules.screens.TemplateScreen 1
org.apache.turbine.om.security.TurbineUser 7
org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService 1
org.apache.turbine.services.cache.TurbineGlobalCacheService 1
org.apache.turbine.services.factory.TurbineFactoryService 3
org.apache.turbine.services.intake.IntakeTool 2
org.apache.turbine.services.intake.TurbineIntakeService 16
org.apache.turbine.services.localization.TurbineLocalizationService 2
org.apache.turbine.services.naming.TurbineNamingService 1
org.apache.turbine.services.pool.TurbinePoolService$PoolBuffer 2
org.apache.turbine.services.pool.TurbinePoolService 3
org.apache.turbine.services.pull.TurbinePullService 1
org.apache.turbine.util.pool.RecyclableSupport 1
org.apache.turbine.services.schedule.BaseJobEntry 3
org.apache.turbine.services.schedule.BaseJobEntryPeer 2
org.apache.turbine.services.schedule.TurbineNonPersistentSchedulerService 1
org.apache.turbine.services.schedule.TurbineSchedulerService 2
org.apache.turbine.services.security.BaseSecurityService 4
org.apache.turbine.services.template.BaseTemplateEngineService 2
org.apache.turbine.services.uniqueid.TurbineUniqueIdService 5
org.apache.turbine.services.upload.BaseUploadService 1
org.apache.turbine.services.velocity.TurbineVelocityService 2
org.apache.turbine.services.xmlrpc.TurbineXmlRpcService 1
org.apache.turbine.services.xslt.TurbineXSLTService 2
org.apache.turbine.util.parser.BaseValueParser 2
org.apache.turbine.util.parser.DefaultCookieParser 1
org.apache.turbine.util.parser.DefaultParameterParser 5
org.apache.turbine.util.parser.ParserUtils 3
org.apache.turbine.util.security.GroupSet 1
org.apache.turbine.util.security.PermissionSet 1
org.apache.turbine.util.security.RoleSet 1
org.apache.turbine.util.security.TurbineAccessControlList 5
org.apache.turbine.util.template.SelectorBox 4
org.apache.turbine.util.template.TemplateInfo 1
org.apache.turbine.util.uri.DataURI 1
org.apache.turbine.util.uri.TurbineURI 1
org.apache.turbine.om.security.peer.GroupPeer 6
org.apache.turbine.om.security.peer.PermissionPeer 7
org.apache.turbine.om.security.peer.RolePeer 3
org.apache.turbine.om.security.peer.TurbineUserPeer 5
org.apache.turbine.services.intake.model.Field 2
org.apache.turbine.services.intake.model.FileItemField 1
org.apache.turbine.services.intake.model.Group 1
org.apache.turbine.services.intake.transform.DTDResolver 1
org.apache.turbine.services.intake.validator.LongValidator 1
org.apache.turbine.services.intake.xmlmodel.XmlField 1
org.apache.turbine.services.intake.xmlmodel.XmlGroup 1
org.apache.turbine.services.mimetype.util.CharSetMap 5
org.apache.turbine.services.mimetype.util.MimeType 26
org.apache.turbine.services.mimetype.util.MimeTypeMap 4
org.apache.turbine.services.pull.util.UIManager 1
org.apache.turbine.services.security.db.DBSecurityService 18
org.apache.turbine.services.security.db.DBUserManager 2
org.apache.turbine.services.security.ldap.LDAPSecurityService 1
org.apache.turbine.services.security.ldap.LDAPUser 10
org.apache.turbine.services.security.ldap.LDAPUserManager 6
org.apache.turbine.services.security.torque.GroupPeerManager 9
org.apache.turbine.services.security.torque.PermissionPeerManager 9
org.apache.turbine.services.security.torque.RolePeerManager 9
org.apache.turbine.services.security.torque.TorqueGroup 2
org.apache.turbine.services.security.torque.TorquePermission 2
org.apache.turbine.services.security.torque.TorqueRole 2
org.apache.turbine.services.security.torque.TorqueSecurityService 6
org.apache.turbine.services.security.torque.TorqueUser 5
org.apache.turbine.services.security.torque.TorqueUserManager 1
org.apache.turbine.services.security.torque.UserPeerManager 11
org.apache.turbine.services.template.mapper.ClassMapper 1
org.apache.turbine.services.template.mapper.ScreenDefaultTemplateMapper 1
org.apache.turbine.services.xmlrpc.util.AuthenticatedFileHandler 1
org.apache.turbine.services.xmlrpc.util.FileHandler 4
org.apache.turbine.services.xmlrpc.util.FileTransfer 8
org.apache.turbine.services.assemblerbroker.util.python.PythonBaseFactory 1
org.apache.turbine.services.security.torque.om.BaseTurbineGroup 1
org.apache.turbine.services.security.torque.om.BaseTurbineGroupPeer 2
org.apache.turbine.services.security.torque.om.BaseTurbinePermission 1
org.apache.turbine.services.security.torque.om.BaseTurbinePermissionPeer 3
org.apache.turbine.services.security.torque.om.BaseTurbineRole 1
org.apache.turbine.services.security.torque.om.BaseTurbineRolePeer 2
org.apache.turbine.services.security.torque.om.BaseTurbineRolePermission 2
org.apache.turbine.services.security.torque.om.BaseTurbineRolePermissionPeer 3
org.apache.turbine.services.security.torque.om.BaseTurbineUser 9
org.apache.turbine.services.security.torque.om.BaseTurbineUserGroupRole 3
org.apache.turbine.services.security.torque.om.BaseTurbineUserGroupRolePeer 2
org.apache.turbine.services.security.torque.om.BaseTurbineUserPeer 2
org.apache.turbine.services.security.torque.om.TurbineGroup 2
org.apache.turbine.services.security.torque.om.TurbinePermission 1
org.apache.turbine.services.security.torque.om.TurbineRole 2
org.apache.turbine.services.security.torque.om.TurbineRolePermission 1
org.apache.turbine.services.security.torque.om.TurbineUser 1
org.apache.turbine.services.security.torque.om.TurbineUserGroupRole 1
org.apache.turbine.services.rundata.DefaultTurbineRunData 3
org.apache.turbine.services.mimetype.TurbineMimeTypeService 2
org.apache.turbine.services.pull.util.SessionData 1
org.apache.turbine.services.session.TurbineSessionService 1
org.apache.turbine.om.OMTool 1
org.apache.turbine.services.intake.validator.DateRangeValidator$1 1
org.apache.turbine.services.intake.validator.IntegerRangeValidator$1 1
org.apache.turbine.services.localization.LocaleTokenizer$AcceptLanguage 1
org.apache.turbine.services.pool.TurbinePoolService$PoolBuffer$Recycler 1
org.apache.turbine.services.schedule.JobQueue$1 1
org.apache.turbine.util.parser.DataStreamParser 1
org.apache.turbine.util.template.HtmlPageAttributes$LinkTag 1
org.apache.turbine.services.mimetype.util.MimeTypeMapper 2
org.apache.turbine.services.intake.model.FieldFactory 1
org.apache.turbine.services.security.torque.om.TurbineGroupPeer 1
org.apache.turbine.services.schedule.JobEntryPeer 1
org.apache.turbine.services.intake.xmlmodel.AppData 1
org.apache.turbine.modules.ActionLoader 1
org.apache.turbine.modules.PageLoader 1

org.apache.turbine.Turbine

Violation Line
DE: org.apache.turbine.Turbine.handleException(org.apache.turbine.util.RunData,javax.servlet.http.HttpServletResponse,Throwable) might ignore java.lang.Exception 1028
Dm: org.apache.turbine.Turbine.destroy() forces garbage collection; extremely dubious except in benchmarking code 639
ST: Write to static field org.apache.turbine.Turbine.initFailure from instance method org.apache.turbine.Turbine.init() 209
ST: Write to static field org.apache.turbine.Turbine.firstInit from instance method org.apache.turbine.Turbine.destroy() 641
ST: Write to static field org.apache.turbine.Turbine.firstDoGet from instance method org.apache.turbine.Turbine.destroy() 642
DLS: Dead store to local variable in method org.apache.turbine.Turbine.configure(javax.servlet.ServletConfig,javax.servlet.ServletContext) 288
REC: Method org.apache.turbine.Turbine.handleException(org.apache.turbine.util.RunData,javax.servlet.http.HttpServletResponse,Throwable) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 1063
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 155
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 158
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 161
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 196
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 197
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 380
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 677
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 692
MTIA: Class org.apache.turbine.Turbine extends Servlet class and uses instance variables. 776

org.apache.turbine.modules.ActionEvent

Violation Line
Dm: Method org.apache.turbine.modules.ActionEvent.formatString(String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 232
SA: Self assignment of local variable in org.apache.turbine.modules.ActionEvent.formatString(String) 235

org.apache.turbine.util.ObjectUtils

Violation Line
DE: org.apache.turbine.util.ObjectUtils.deserialize(byte[]) might ignore java.lang.Exception 161
DLS: Dead store to local variable in method org.apache.turbine.util.ObjectUtils.serializeHashtable(java.util.Hashtable) 87
REC: Method org.apache.turbine.util.ObjectUtils.deserialize(byte[]) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 161

org.apache.turbine.util.SecurityCheck

Violation Line
DLS: Dead store to local variable in method org.apache.turbine.util.SecurityCheck.hasRole(String) 131

org.apache.turbine.util.ServerData

Violation Line
CN: clone method org.apache.turbine.util.ServerData.clone() does not call super.clone() 139

org.apache.turbine.util.ServletUtils

Violation Line
SA: Self assignment of local variable in org.apache.turbine.util.ServletUtils.expandRelative(javax.servlet.ServletConfig,String) 102

org.apache.turbine.modules.actions.InitContextsAction

Violation Line
WMI: Method org.apache.turbine.modules.actions.InitContextsAction.doPerform(org.apache.turbine.util.RunData) makes inefficient use of keySet iterator instead of entrySet iterator 89

org.apache.turbine.modules.actions.LoginUser

Violation Line
REC: Method org.apache.turbine.modules.actions.LoginUser.doPerform(org.apache.turbine.util.RunData) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 114

org.apache.turbine.modules.screens.Error

Violation Line
WMI: Method org.apache.turbine.modules.screens.Error.doBuild(org.apache.turbine.util.RunData) makes inefficient use of keySet iterator instead of entrySet iterator 77

org.apache.turbine.modules.screens.JSONScreen

Violation Line
OS: org.apache.turbine.modules.screens.JSONScreen.doOutput(org.apache.turbine.util.RunData) may fail to close stream 116

org.apache.turbine.modules.screens.TemplateScreen

Violation Line
DE: org.apache.turbine.modules.screens.TemplateScreen.setTemplate(org.apache.turbine.util.RunData,String) might ignore java.lang.Exception 136

org.apache.turbine.om.security.TurbineUser

Violation Line
EI: org.apache.turbine.om.security.TurbineUser.getCreateDate() may expose internal representation by returning org.apache.turbine.om.security.TurbineUser.createDate 132
EI: org.apache.turbine.om.security.TurbineUser.getLastAccessDate() may expose internal representation by returning org.apache.turbine.om.security.TurbineUser.lastAccessDate 147
EI: org.apache.turbine.om.security.TurbineUser.getPermStorage() may expose internal representation by returning org.apache.turbine.om.security.TurbineUser.permStorage 219
EI2: org.apache.turbine.om.security.TurbineUser.setCreateDate(java.util.Date) may expose internal representation by storing an externally mutable object into org.apache.turbine.om.security.TurbineUser.createDate 400
EI2: org.apache.turbine.om.security.TurbineUser.setPermStorage(java.util.Hashtable) may expose internal representation by storing an externally mutable object into org.apache.turbine.om.security.TurbineUser.permStorage 445
EI: org.apache.turbine.om.security.TurbineUser.getTempStorage() may expose internal representation by returning org.apache.turbine.om.security.TurbineUser.tempStorage 460
EI2: org.apache.turbine.om.security.TurbineUser.setTempStorage(java.util.Hashtable) may expose internal representation by storing an externally mutable object into org.apache.turbine.om.security.TurbineUser.tempStorage 471

org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService

Violation Line
REC: Method org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService.initialize() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 195

org.apache.turbine.services.cache.TurbineGlobalCacheService

Violation Line
BC: Unchecked/unconfirmed cast from org.apache.turbine.services.cache.CachedObject to class org.apache.turbine.services.cache.RefreshableCachedObject in org.apache.turbine.services.cache.TurbineGlobalCacheService.clearCache() 299

org.apache.turbine.services.factory.TurbineFactoryService

Violation Line
PZLA: Should org.apache.turbine.services.factory.TurbineFactoryService.getSignature(Class,Object[],String[]) return a zero length array rather than null? 457
ST: Write to static field org.apache.turbine.services.factory.TurbineFactoryService.primitiveClasses from instance method org.apache.turbine.services.factory.TurbineFactoryService.<init>() 65
REC: Method org.apache.turbine.services.factory.TurbineFactoryService.switchObjectContext(Object,ClassLoader) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 493

org.apache.turbine.services.intake.IntakeTool

Violation Line
DLS: Dead store to local variable in method org.apache.turbine.services.intake.IntakeTool.init(Object) 99
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.IntakeTool.pp 0

org.apache.turbine.services.intake.TurbineIntakeService

Violation Line
DE: org.apache.turbine.services.intake.TurbineIntakeService.getFieldSetter(String,String) might ignore java.lang.Exception 708
DE: org.apache.turbine.services.intake.TurbineIntakeService.getFieldGetter(String,String) might ignore java.lang.Exception 793
RV: org.apache.turbine.services.intake.TurbineIntakeService.saveSerialized(String,java.util.Map) ignores return value of java.io.File.createNewFile() 454
SA: Self assignment of local variable in org.apache.turbine.services.intake.TurbineIntakeService.init() 179
ITA: Method org.apache.turbine.services.intake.TurbineIntakeService.getGroupNames() uses Collection.toArray() with zero-length array argument 609
DLS: Dead store to local variable in method org.apache.turbine.services.intake.TurbineIntakeService.saveSerialized(String,java.util.Map) 479
WMI: Method org.apache.turbine.services.intake.TurbineIntakeService.init() makes inefficient use of keySet iterator instead of entrySet iterator 244
REC: Method org.apache.turbine.services.intake.TurbineIntakeService.init() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 277
REC: Method org.apache.turbine.services.intake.TurbineIntakeService.loadSerialized(String,long) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 401
REC: Method org.apache.turbine.services.intake.TurbineIntakeService.saveSerialized(String,java.util.Map) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 483
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.getterMap 0
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.groupKeyMap 0
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.groupNameMap 0
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.groupNames 0
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.keyedPools 0
UwF: Field not initialized in constructor: org.apache.turbine.services.intake.TurbineIntakeService.setterMap 0

org.apache.turbine.services.localization.TurbineLocalizationService

Violation Line
BC: Unchecked/unconfirmed cast from java.lang.Throwable to class java.util.MissingResourceException in org.apache.turbine.services.localization.TurbineLocalizationService.cacheBundle(String,java.util.Locale) 369
IS2: Inconsistent synchronization of org.apache.turbine.services.localization.TurbineLocalizationService.bundles; locked 75% of time 321

org.apache.turbine.services.naming.TurbineNamingService

Violation Line
REC: Method org.apache.turbine.services.naming.TurbineNamingService.init(org.apache.turbine.util.RunData) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 161

org.apache.turbine.services.pool.TurbinePoolService$PoolBuffer

Violation Line
REC: Method org.apache.turbine.services.pool.TurbinePoolService$PoolBuffer.poll(Object[],String[]) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 229
IS2: Inconsistent synchronization of org.apache.turbine.services.pool.TurbinePoolService$PoolBuffer.recyclers; locked 75% of time 289

org.apache.turbine.services.pool.TurbinePoolService

Violation Line
SA: Self assignment of local variable in org.apache.turbine.services.pool.TurbinePoolService.getCapacity(String) 554
SA: Self assignment of local variable in org.apache.turbine.services.pool.TurbinePoolService.setCapacity(String,int) 577
UwF: Field not initialized in constructor: org.apache.turbine.services.pool.TurbinePoolService.factoryService 0

org.apache.turbine.services.pull.TurbinePullService

Violation Line
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.services.pull.TurbinePullService.populateWithSessionTools(java.util.List,org.apache.velocity.context.Context,org.apache.turbine.util.RunData,org.apache.turbine.om.security.User) 515

org.apache.turbine.util.pool.RecyclableSupport

Violation Line
Nm: The method name org.apache.turbine.util.pool.RecyclableSupport.Recyclable() doesn't start with an lower case letter 42

org.apache.turbine.services.schedule.BaseJobEntry

Violation Line
EI: org.apache.turbine.services.schedule.BaseJobEntry.getProperty() may expose internal representation by returning org.apache.turbine.services.schedule.BaseJobEntry.property 302
EI2: org.apache.turbine.services.schedule.BaseJobEntry.setProperty(byte[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.schedule.BaseJobEntry.property 316
BC: Unchecked/unconfirmed cast from org.apache.torque.om.ObjectKey to class org.apache.torque.om.NumberKey in org.apache.turbine.services.schedule.BaseJobEntry.setPrimaryKey(org.apache.torque.om.ObjectKey) 581

org.apache.turbine.services.schedule.BaseJobEntryPeer

Violation Line
ES: Comparison of String objects using == or != in org.apache.turbine.services.schedule.BaseJobEntryPeer.setDbName(org.apache.torque.util.Criteria) 871
BC: Unchecked/unconfirmed cast from java.lang.Throwable to class java.lang.Error in org.apache.turbine.services.schedule.BaseJobEntryPeer.initClass(String) 144

org.apache.turbine.services.schedule.TurbineNonPersistentSchedulerService

Violation Line
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.services.schedule.TurbineNonPersistentSchedulerService.init() 145

org.apache.turbine.services.schedule.TurbineSchedulerService

Violation Line
No: Using notify rather than notifyAll in org.apache.turbine.services.schedule.TurbineSchedulerService.restart() 339
PS: Class org.apache.turbine.services.schedule.TurbineSchedulerService exposes synchronization and semaphores in its public interface. 339

org.apache.turbine.services.security.BaseSecurityService

Violation Line
Dm: Method org.apache.turbine.services.security.BaseSecurityService.encryptPassword(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 156
No: Using notify rather than notifyAll in org.apache.turbine.services.security.BaseSecurityService.unlockShared() 909
ITA: Method org.apache.turbine.services.security.BaseSecurityService.getUsers(org.apache.torque.util.Criteria) uses Collection.toArray() with zero-length array argument 730
PS: Class org.apache.turbine.services.security.BaseSecurityService exposes synchronization and semaphores in its public interface. 909

org.apache.turbine.services.template.BaseTemplateEngineService

Violation Line
EI: org.apache.turbine.services.template.BaseTemplateEngineService.getTemplateEngineServiceConfiguration() may expose internal representation by returning org.apache.turbine.services.template.BaseTemplateEngineService.configuration 67
MF: Class org.apache.turbine.services.template.BaseTemplateEngineService defines field that obscures superclass field org.apache.turbine.services.BaseService.configuration 0

org.apache.turbine.services.uniqueid.TurbineUniqueIdService

Violation Line
ST: Write to static field org.apache.turbine.services.uniqueid.TurbineUniqueIdService.turbineId from instance method org.apache.turbine.services.uniqueid.TurbineUniqueIdService.init() 84
REC: Method org.apache.turbine.services.uniqueid.TurbineUniqueIdService.init() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 90
MS: org.apache.turbine.services.uniqueid.TurbineUniqueIdService.turbineId should be package protected 0
MS: org.apache.turbine.services.uniqueid.TurbineUniqueIdService.turbineURL isn't final but should be 0
MS: org.apache.turbine.services.uniqueid.TurbineUniqueIdService.counter should be package protected 0

org.apache.turbine.services.upload.BaseUploadService

Violation Line
Dm: Method org.apache.turbine.services.upload.BaseUploadService.init() invokes toString() method on a String; just use the String 62

org.apache.turbine.services.velocity.TurbineVelocityService

Violation Line
DE: org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(org.apache.velocity.context.Context,String,java.io.OutputStream) might ignore java.lang.Exception 346
DE: org.apache.turbine.services.velocity.TurbineVelocityService.handleRequest(org.apache.velocity.context.Context,String,java.io.Writer) might ignore java.lang.Exception 386

org.apache.turbine.services.xmlrpc.TurbineXmlRpcService

Violation Line
REC: Method org.apache.turbine.services.xmlrpc.TurbineXmlRpcService.init() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 245

org.apache.turbine.services.xslt.TurbineXSLTService

Violation Line
ST: Write to static field org.apache.turbine.services.xslt.TurbineXSLTService.tfactory from instance method org.apache.turbine.services.xslt.TurbineXSLTService.init() 95
UwF: Field not initialized in constructor: org.apache.turbine.services.xslt.TurbineXSLTService.tfactory 0

org.apache.turbine.util.parser.BaseValueParser

Violation Line
Dm: org.apache.turbine.util.parser.BaseValueParser.getBool(String,boolean) invokes dubious Boolean constructor; use Boolean.valueOf(...) instead 474
PZLA: Should org.apache.turbine.util.parser.BaseValueParser.getParam(String) return a zero length array rather than null? 1829

org.apache.turbine.util.parser.DefaultCookieParser

Violation Line
RI: Class org.apache.turbine.util.parser.DefaultCookieParser implements same interface as superclass. 0

org.apache.turbine.util.parser.DefaultParameterParser

Violation Line
EI2: org.apache.turbine.util.parser.DefaultParameterParser.setUploadData(byte[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.util.parser.DefaultParameterParser.uploadData 267
EI: org.apache.turbine.util.parser.DefaultParameterParser.getUploadData() may expose internal representation by returning org.apache.turbine.util.parser.DefaultParameterParser.uploadData 277
PZLA: Should org.apache.turbine.util.parser.DefaultParameterParser.getFileItemParam(String) return a zero length array rather than null? 398
REC: Method org.apache.turbine.util.parser.DefaultParameterParser.setRequest(javax.servlet.http.HttpServletRequest) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 239
RI: Class org.apache.turbine.util.parser.DefaultParameterParser implements same interface as superclass. 0

org.apache.turbine.util.parser.ParserUtils

Violation Line
Dm: Method org.apache.turbine.util.parser.ParserUtils.convertAndTrim(String,int) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 108
Dm: Method org.apache.turbine.util.parser.ParserUtils.convertAndTrim(String,int) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 113
Dm: Method org.apache.turbine.util.parser.ParserUtils.getUrlFolding() invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 137

org.apache.turbine.util.security.GroupSet

Violation Line
ITA: Method org.apache.turbine.util.security.GroupSet.getGroupsArray() uses Collection.toArray() with zero-length array argument 198

org.apache.turbine.util.security.PermissionSet

Violation Line
ITA: Method org.apache.turbine.util.security.PermissionSet.getPermissionsArray() uses Collection.toArray() with zero-length array argument 200

org.apache.turbine.util.security.RoleSet

Violation Line
ITA: Method org.apache.turbine.util.security.RoleSet.getRolesArray() uses Collection.toArray() with zero-length array argument 198

org.apache.turbine.util.security.TurbineAccessControlList

Violation Line
REC: Method org.apache.turbine.util.security.TurbineAccessControlList.hasRole(String,String) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 212
REC: Method org.apache.turbine.util.security.TurbineAccessControlList.hasRole(String) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 280
REC: Method org.apache.turbine.util.security.TurbineAccessControlList.hasPermission(String,String) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 347
REC: Method org.apache.turbine.util.security.TurbineAccessControlList.hasPermission(String,org.apache.turbine.om.security.Group) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 367
REC: Method org.apache.turbine.util.security.TurbineAccessControlList.hasPermission(String) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 435

org.apache.turbine.util.template.SelectorBox

Violation Line
EI2: org.apache.turbine.util.template.SelectorBox.<init>(String,Object[],Object[],int,boolean[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.util.template.SelectorBox.names 141
EI2: org.apache.turbine.util.template.SelectorBox.<init>(String,Object[],Object[],int,boolean[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.util.template.SelectorBox.values 142
EI2: org.apache.turbine.util.template.SelectorBox.<init>(String,Object[],Object[],int,boolean[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.util.template.SelectorBox.selected 144
EI2: org.apache.turbine.util.template.SelectorBox.setSelected(boolean[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.util.template.SelectorBox.selected 292

org.apache.turbine.util.template.TemplateInfo

Violation Line
DE: org.apache.turbine.util.template.TemplateInfo.setScreenTemplate(String) might ignore java.lang.Exception 114

org.apache.turbine.util.uri.DataURI

Violation Line
RI: Class org.apache.turbine.util.uri.DataURI implements same interface as superclass. 0

org.apache.turbine.util.uri.TurbineURI

Violation Line
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.util.uri.TurbineURI.doEncode(StringBuffer,java.util.Collection,char,char) 785

org.apache.turbine.om.security.peer.GroupPeer

Violation Line
REC: Method org.apache.turbine.om.security.peer.GroupPeer.doSelect(org.apache.torque.util.Criteria) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 179
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.turbine.om.security.SecurityObject in org.apache.turbine.om.security.peer.GroupPeer.checkExists(org.apache.turbine.om.security.Group) 215
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.turbine.om.security.TurbineGroup in org.apache.turbine.om.security.peer.GroupPeer.checkExists(org.apache.turbine.om.security.Group) 220
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.turbine.om.security.SecurityObject in org.apache.turbine.om.security.peer.GroupPeer.buildCriteria(org.apache.turbine.om.security.Group) 259
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.GroupPeer.buildCriteria(org.apache.turbine.om.security.Group) 260
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.GroupPeer.buildCriteria(org.apache.turbine.om.security.Group) 262

org.apache.turbine.om.security.peer.PermissionPeer

Violation Line
REC: Method org.apache.turbine.om.security.peer.PermissionPeer.doSelect(org.apache.torque.util.Criteria) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 191
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.turbine.om.security.TurbineRole in org.apache.turbine.om.security.peer.PermissionPeer.retrieveSet(org.apache.turbine.om.security.Role) 128
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.PermissionPeer.buildCriteria(org.apache.turbine.om.security.Permission) 206
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.turbine.om.security.SecurityObject in org.apache.turbine.om.security.peer.PermissionPeer.buildCriteria(org.apache.turbine.om.security.Permission) 211
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.PermissionPeer.buildCriteria(org.apache.turbine.om.security.Permission) 209
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.turbine.om.security.SecurityObject in org.apache.turbine.om.security.peer.PermissionPeer.checkExists(org.apache.turbine.om.security.Permission) 260
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.turbine.om.security.SecurityObject in org.apache.turbine.om.security.peer.PermissionPeer.checkExists(org.apache.turbine.om.security.Permission) 265

org.apache.turbine.om.security.peer.RolePeer

Violation Line
REC: Method org.apache.turbine.om.security.peer.RolePeer.doSelect(org.apache.torque.util.Criteria) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 189
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.RolePeer.buildCriteria(org.apache.turbine.om.security.Role) 204
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.om.security.peer.RolePeer.buildCriteria(org.apache.turbine.om.security.Role) 206

org.apache.turbine.om.security.peer.TurbineUserPeer

Violation Line
Dm: org.apache.turbine.om.security.peer.TurbineUserPeer.populateObject(com.workingdogs.village.Record,int,org.apache.turbine.om.security.User) invokes dubious Boolean constructor; use Boolean.valueOf(...) instead 338
REC: Method org.apache.turbine.om.security.peer.TurbineUserPeer.populateObject(com.workingdogs.village.Record,int,org.apache.turbine.om.security.User) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 364
REC: Method org.apache.turbine.om.security.peer.TurbineUserPeer.row2Object(com.workingdogs.village.Record,int,Class) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 491
MS: org.apache.turbine.om.security.peer.TurbineUserPeer.columnNames is a mutable array 0
MS: org.apache.turbine.om.security.peer.TurbineUserPeer.criteriaKeys should be both final and package protected 0

org.apache.turbine.services.intake.model.Field

Violation Line
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.services.intake.model.Field.<init>(org.apache.turbine.services.intake.xmlmodel.XmlField,Group) 216
CD: Class org.apache.turbine.services.intake.model.Field has a circular dependency with other classes. 0

org.apache.turbine.services.intake.model.FileItemField

Violation Line
BC: Unchecked/unconfirmed cast from org.apache.turbine.util.parser.ValueParser to class org.apache.turbine.util.parser.ParameterParser in org.apache.turbine.services.intake.model.FileItemField.init(org.apache.turbine.util.parser.ValueParser) 122

org.apache.turbine.services.intake.model.Group

Violation Line
DE: org.apache.turbine.services.intake.model.Group.setValidProperties(Object) might ignore java.lang.Exception 409

org.apache.turbine.services.intake.transform.DTDResolver

Violation Line
UI: Usage of GetResource in org.apache.turbine.services.intake.transform.DTDResolver.<init>() may be unsafe if class is extended 62

org.apache.turbine.services.intake.validator.LongValidator

Violation Line
DLS: Dead store to local variable in method org.apache.turbine.services.intake.validator.LongValidator.assertValidity(String) 116

org.apache.turbine.services.intake.xmlmodel.XmlField

Violation Line
Dm: Method org.apache.turbine.services.intake.xmlmodel.XmlField.getVariable() invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 329

org.apache.turbine.services.intake.xmlmodel.XmlGroup

Violation Line
Dm: Method org.apache.turbine.services.intake.xmlmodel.XmlGroup.getVariable() invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version instead 258

org.apache.turbine.services.mimetype.util.CharSetMap

Violation Line
DE: org.apache.turbine.services.mimetype.util.CharSetMap.<init>() might ignore java.lang.Exception 203
REC: Method org.apache.turbine.services.mimetype.util.CharSetMap.<init>() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 203
REC: Method org.apache.turbine.services.mimetype.util.CharSetMap.<init>() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 214
BC: Questionable cast from java.util.Map to concrete class java.util.HashMap in org.apache.turbine.services.mimetype.util.CharSetMap.setCharSet(String,String) 287
UG: org.apache.turbine.services.mimetype.util.CharSetMap.getCharSet(String,String) is unsynchronized, org.apache.turbine.services.mimetype.util.CharSetMap.setCharSet(String,String) is synchronized 423

org.apache.turbine.services.mimetype.util.MimeType

Violation Line
CN: Class org.apache.turbine.services.mimetype.util.MimeType implements Cloneable but does not define or use clone method 0
EI2: org.apache.turbine.services.mimetype.util.MimeType.<init>(String,String,String[],String[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.mimetype.util.MimeType.parameterNames 309
EI2: org.apache.turbine.services.mimetype.util.MimeType.<init>(String,String,String[],String[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.mimetype.util.MimeType.parameterValues 310
EI2: org.apache.turbine.services.mimetype.util.MimeType.addParameters(String[],String[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.mimetype.util.MimeType.parameterNames 491
EI2: org.apache.turbine.services.mimetype.util.MimeType.addParameters(String[],String[]) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.mimetype.util.MimeType.parameterValues 492
UG: org.apache.turbine.services.mimetype.util.MimeType.getParameter(String) is unsynchronized, org.apache.turbine.services.mimetype.util.MimeType.setParameter(String,String) is synchronized 412
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_HTML isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_WML isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_HDML isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_CHTML isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_PLAIN isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.MULTIPART isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.MULTIPART_FORM_DATA isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.APPLICATION_POSTSCRIPT isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.APPLICATION_OCTET_STREAM isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.APPLICATION_X_JAVA_AGENT isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.APPLICATION_X_WWW_FORM_URLENCODED isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.MESSAGE_HTTP isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT_CSS isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.TEXT isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.IMAGE_GIF isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.IMAGE_JPEG isn't final but should be 0
MS: org.apache.turbine.services.mimetype.util.MimeType.IMAGE_WBMP isn't final but should be 0
Nm: Confusing to have methods org.apache.turbine.services.mimetype.util.MimeType.getSubtype() and org.apache.commons.mail.MultiPartEmail.getSubType() 0
IS2: Inconsistent synchronization of org.apache.turbine.services.mimetype.util.MimeType.parameterNames; locked 83% of time 389
IS2: Inconsistent synchronization of org.apache.turbine.services.mimetype.util.MimeType.parameterValues; locked 87% of time 415

org.apache.turbine.services.mimetype.util.MimeTypeMap

Violation Line
DE: org.apache.turbine.services.mimetype.util.MimeTypeMap.<init>() might ignore java.lang.Exception 166
REC: Method org.apache.turbine.services.mimetype.util.MimeTypeMap.<init>() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 166
REC: Method org.apache.turbine.services.mimetype.util.MimeTypeMap.<init>() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 177
UG: org.apache.turbine.services.mimetype.util.MimeTypeMap.getContentType(String,String) is unsynchronized, org.apache.turbine.services.mimetype.util.MimeTypeMap.setContentType(String) is synchronized 283

org.apache.turbine.services.pull.util.UIManager

Violation Line
REC: Method org.apache.turbine.services.pull.util.UIManager.loadSkin() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 461

org.apache.turbine.services.security.db.DBSecurityService

Violation Line
DLS: Dead store to local variable in method org.apache.turbine.services.security.db.DBSecurityService.getGroups(org.apache.torque.util.Criteria) 482
DLS: Dead store to local variable in method org.apache.turbine.services.security.db.DBSecurityService.getRoles(org.apache.torque.util.Criteria) 512
DLS: Dead store to local variable in method org.apache.turbine.services.security.db.DBSecurityService.getPermissions(org.apache.torque.util.Criteria) 543
WMI: Method org.apache.turbine.services.security.db.DBSecurityService.getGroups(org.apache.torque.util.Criteria) makes inefficient use of keySet iterator instead of entrySet iterator 480
WMI: Method org.apache.turbine.services.security.db.DBSecurityService.getRoles(org.apache.torque.util.Criteria) makes inefficient use of keySet iterator instead of entrySet iterator 510
WMI: Method org.apache.turbine.services.security.db.DBSecurityService.getPermissions(org.apache.torque.util.Criteria) makes inefficient use of keySet iterator instead of entrySet iterator 541
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.User to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.grant(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 186
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.grant(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 188
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.grant(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 190
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.User to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revoke(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 247
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Group to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revoke(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 249
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revoke(org.apache.turbine.om.security.User,org.apache.turbine.om.security.Group,org.apache.turbine.om.security.Role) 251
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.User to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revokeAll(org.apache.turbine.om.security.User) 303
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.grant(org.apache.turbine.om.security.Role,org.apache.turbine.om.security.Permission) 343
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.grant(org.apache.turbine.om.security.Role,org.apache.turbine.om.security.Permission) 345
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revoke(org.apache.turbine.om.security.Role,org.apache.turbine.om.security.Permission) 393
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Permission to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revoke(org.apache.turbine.om.security.Role,org.apache.turbine.om.security.Permission) 395
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.Role to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBSecurityService.revokeAll(org.apache.turbine.om.security.Role) 442

org.apache.turbine.services.security.db.DBUserManager

Violation Line
ITA: Method org.apache.turbine.services.security.db.DBUserManager.retrieve(org.apache.torque.util.Criteria) uses Collection.toArray() with zero-length array argument 250
BC: Unchecked/unconfirmed cast from org.apache.turbine.om.security.User to class org.apache.torque.om.BaseObject in org.apache.turbine.services.security.db.DBUserManager.createAccount(org.apache.turbine.om.security.User,String) 507

org.apache.turbine.services.security.ldap.LDAPSecurityService

Violation Line
REC: Method org.apache.turbine.services.security.ldap.LDAPSecurityService.getACL(org.apache.turbine.om.security.User) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 139

org.apache.turbine.services.security.ldap.LDAPUser

Violation Line
EI: org.apache.turbine.services.security.ldap.LDAPUser.getCreateDate() may expose internal representation by returning org.apache.turbine.services.security.ldap.LDAPUser.createDate 341
EI: org.apache.turbine.services.security.ldap.LDAPUser.getLastAccessDate() may expose internal representation by returning org.apache.turbine.services.security.ldap.LDAPUser.lastAccessDate 390
EI: org.apache.turbine.services.security.ldap.LDAPUser.getPermStorage() may expose internal representation by returning org.apache.turbine.services.security.ldap.LDAPUser.permStorage 461
EI2: org.apache.turbine.services.security.ldap.LDAPUser.setCreateDate(java.util.Date) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.security.ldap.LDAPUser.createDate 668
EI2: org.apache.turbine.services.security.ldap.LDAPUser.setPermStorage(java.util.Hashtable) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.security.ldap.LDAPUser.permStorage 741
EI: org.apache.turbine.services.security.ldap.LDAPUser.getTempStorage() may expose internal representation by returning org.apache.turbine.services.security.ldap.LDAPUser.tempStorage 756
EI2: org.apache.turbine.services.security.ldap.LDAPUser.setTempStorage(java.util.Hashtable) may expose internal representation by storing an externally mutable object into org.apache.turbine.services.security.ldap.LDAPUser.tempStorage 767
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.services.security.ldap.LDAPUser.getLDAPAttributes() 184
RCN: Redundant nullcheck of value known to be non-null org.apache.turbine.services.security.ldap.LDAPUser.getLDAPAttributes() 188
Nm: Confusing to have methods org.apache.turbine.services.security.ldap.LDAPUser.getUserName() and org.apache.turbine.util.db.map.TurbineMapBuilder.getUsername() 0

org.apache.turbine.services.security.ldap.LDAPUserManager

Violation Line
ITA: Method org.apache.turbine.services.security.ldap.LDAPUserManager.retrieve(org.apache.torque.util.Criteria) uses Collection.toArray() with zero-length array argument