[Yanel-dev] Running FindBugs on Yanel Source
Michael Wechner
michael.wechner at wyona.com
Thu Dec 9 11:48:56 CET 2010
Hi
A colleague of mine recently pointed out to me that when running =
FindBugs (http://findbugs.sourceforge.net/) on Yanel source one receives:
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/attributes/translatab=
le/DefaultTranslationManager.java:226 =
Method =
org.wyona.yanel.core.attributes.translatable.DefaultTranslationManager.debu=
g() =
makes inefficient use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/map/RealmWithConfigur=
ationExceptionImpl.java:91 =
Self assignment of field RealmWithConfigurationExceptionImpl.name
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/IdentityMap.=
java:18 =
Method org.wyona.yanel.servlet.IdentityMap.toString() makes inefficient =
use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/source/RTabstractReso=
lver.java:86 =
Possible null pointer dereference of url
C:/dev/yanel/yanel/src/impl/java/org/wyona/yanel/impl/resources/usecase/Use=
caseResource.java:175 =
Exception is caught when Exception is not thrown
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/ResourceConfiguration=
.java:147 =
Method org.wyona.yanel.core.ResourceConfiguration.load(InputStream) =
makes inefficient use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/attributes/translatab=
le/DefaultTranslationManager.java:267 =
Should =
org.wyona.yanel.core.attributes.translatable.DefaultTranslationManager$Page =
be a _static_ inner class?
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/attributes/translatab=
le/DefaultTranslationManager.java:199 =
Method =
org.wyona.yanel.core.attributes.translatable.DefaultTranslationManager.save=
() =
makes inefficient use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/attributes/translatab=
le/DefaultTranslationManager.java:251 =
Should =
org.wyona.yanel.core.attributes.translatable.DefaultTranslationManager$Lang=
uageVersion =
be a _static_ inner class?
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/Path.java:1 The =
class name org.wyona.yanel.core.Path shadows the simple name of the =
superclass org.wyona.yarep.core.Path
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/util/VersioningUtil.j=
ava:41 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.VersionableV2
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.=
java:209 =
Exception is caught when Exception is not thrown
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.=
java:66 =
Write to static field =
org.wyona.yanel.core.ResourceTypeRegistry.CONFIGURATION_FILE from =
instance method new org.wyona.yanel.core.ResourceTypeRegistry(String)
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:154 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.WorkflowableV1
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:157 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.VersionableV2
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/map/RealmConfigPathRe=
solver.java:56 =
org.wyona.yanel.core.map.RealmConfigPathResolver.resolve(String, String) =
forgets to throw new javax.xml.transform.TransformerException(String)
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:117 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.WorkflowableV1
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:119 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.VersionableV2
C:/dev/yanel/yanel/src/impl/java/org/wyona/yanel/impl/navigation/SitetreeDO=
MImpl.java:152 =
Method =
org.wyona.yanel.impl.navigation.SitetreeDOMImpl.getElement(Element, =
String) concatenates strings using + in a loop
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:142 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.WorkflowableV1
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:212 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.WorkflowableV1
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:211 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.VersionableV2
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/communication/Command=
LineRequest.java:155 =
Invocation of toString on java.util.HashMap.get(Object)
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelp=
er.java:57 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.WorkflowableV1
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/communication/Command=
LineRequest.java:47 =
Should =
org.wyona.yanel.cmdl.communication.CommandLineRequest$ParameterNames be =
a _static_ inner class?
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelHTMLUI.=
java:101 =
org.wyona.yanel.servlet.YanelHTMLUI.getYanelToolbar(Resource) forgets to =
throw new ClassCastException(String)
C:/dev/yanel/yanel/src/impl/java/org/wyona/yanel/impl/workflow/RoleConditio=
n.java:46 =
Unchecked/unconfirmed cast from =
org.wyona.yanel.core.api.attributes.WorkflowableV1 to =
org.wyona.yanel.core.Resource
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/util/PathUtil.java:1 =
The class name org.wyona.yanel.core.util.PathUtil shadows the simple =
name of the superclass org.wyona.commons.io.PathUtil
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1092 =
Primitive value is boxed and then immediately unboxed
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1511 =
Dead store to catalogResolver
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:180 =
org.wyona.yanel.servlet.YanelServlet.init(ServletConfig) invokes =
inefficient Boolean constructor; use Boolean.valueOf(...) instead
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1894 =
Possible null pointer dereference of mimeType
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1092 =
Method =
org.wyona.yanel.servlet.YanelServlet.doAccessControl(HttpServletRequest, =
HttpServletResponse) invokes inefficient new Integer(int) constructor; =
use Integer.valueOf(int) instead
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:130 =
Class org.wyona.yanel.servlet.YanelServlet defines non-transient =
non-serializable instance field yanelUI
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:105 =
Class org.wyona.yanel.servlet.YanelServlet defines non-transient =
non-serializable instance field yanelInstance
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1924 =
Method org.wyona.yanel.servlet.YanelServlet.generateResponse(View, =
Resource, HttpServletRequest, HttpServletResponse, Document, long, long) =
makes inefficient use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/POP.java:10 Unread =
field: org.wyona.yanel.cmdl.POP.password
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:2467 =
Dead store to notVersionableElement
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:2464 =
Dead store to noRevisionsYetElement
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/POP.java:8 Unread =
field: org.wyona.yanel.cmdl.POP.server
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:2399 =
Dead store to requestURL
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/POP.java:11 Unread =
field: org.wyona.yanel.cmdl.POP.path
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:305 =
Dead store to session
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:1391 =
Dead store to neutronVersions
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/POP.java:9 Unread =
field: org.wyona.yanel.cmdl.POP.username
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:2374 =
Dead store to user
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/util/ConfigurationUti=
l.java:49 =
Possible null pointer dereference of repoConfigElement
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/i18n/XMLMessageProvid=
er.java:91 =
Should org.wyona.yanel.core.i18n.XMLMessageProvider$ConfigurationHandler =
be a _static_ inner class?
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:229 =
Dead store to httpAcceptLanguage
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet=
.java:2339 =
Dead store to userManagerElement
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java=
:83 =
Dereference of the result of readLine() without nullcheck
C:/dev/yanel/yanel/src/impl/java/org/wyona/yanel/impl/resources/usecase/thr=
ead/UsecaseThread.java:122 =
org.wyona.yanel.impl.resources.usecase.thread.UsecaseThread.getThreadFromRe=
pository(Repository, =
String, String) may fail to close stream
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/map/RealmManagerConfi=
g.java:88 =
Exception is caught when Exception is not thrown
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/map/RealmManagerConfi=
g.java:70 =
org.wyona.yanel.core.map.RealmManagerConfig.getRealmContextConfigs(File) =
invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/Re=
visionsWorkflowMenuItem.java:36 =
Unchecked/unconfirmed cast from org.wyona.yanel.core.Resource to =
org.wyona.yanel.core.api.attributes.VersionableV2
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/transformation/I18nTr=
ansformer.java:100 =
Self comparison of I18nTransformer.cachedEname with itself
C:/dev/yanel/yanel/src/webapp/src/java/org/wyona/yanel/servlet/AccessLog.ja=
va:61 =
Load of known null value
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/transformation/I18nTr=
ansformer.java:141 =
Method =
org.wyona.yanel.core.transformation.I18nTransformer.replaceAmpersand(String=
) =
concatenates strings using + in a loop
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java=
:144 =
Invocation of toString on =
org.wyona.yanel.core.api.attributes.CreatableV1.getPropertyNames()
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java=
:152 =
Invocation of toString on =
org.wyona.yanel.core.api.attributes.ViewableV1.getViewDescriptors()
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/core/map/RealmManager.java=
:93 =
Method org.wyona.yanel.core.map.RealmManager.getRealmsConfigFile(String) =
makes inefficient use of keySet iterator instead of entrySet iterator
C:/dev/yanel/yanel/src/core/java/org/wyona/yanel/cmdl/YanelCommandLine.java=
:174 =
Dead store to reader
Feel free to improve ;-)
Thanks
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wyona.org/pipermail/yanel-development/attachments/2010120=
9/0ebd7c08/attachment.htm
More information about the Yanel-development
mailing list