Rapport FindBugs de détection des bugs

Le document suivant contient les résultats du Rapport FindBugs

La version de FindBugs est 2.0.1

La limite est medium

L'effort est min

Résumé

ClassesBugsErreursClasses Manquantes
2635302

org.apache.pluto.container.PortletInvokerService

BugCatégorieDétailsLignePriorité
org.apache.pluto.container.PortletInvokerService.<static initializer>() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR79Medium

org.apache.pluto.container.driver.PlutoServices

BugCatégorieDétailsLignePriorité
Ecriture d'un champ statique org.apache.pluto.container.driver.PlutoServices.singleton depuis la méthode d'une instance new org.apache.pluto.container.driver.PlutoServices(PortalDriverServices)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD47High

org.apache.pluto.container.driver.PortletServlet

BugCatégorieDétailsLignePriorité
Suspicious comparison of a Integer reference to constant in org.apache.pluto.container.driver.PortletServlet.dispatch(HttpServletRequest, HttpServletResponse)BAD_PRACTICERC_REF_COMPARISON_BAD_PRACTICE355Medium
Suspicious comparison of a Integer reference to constant in org.apache.pluto.container.driver.PortletServlet.dispatch(HttpServletRequest, HttpServletResponse)BAD_PRACTICERC_REF_COMPARISON_BAD_PRACTICE372Medium
Suspicious comparison of a Integer reference to constant in org.apache.pluto.container.driver.PortletServlet.dispatch(HttpServletRequest, HttpServletResponse)BAD_PRACTICERC_REF_COMPARISON_BAD_PRACTICE364Medium
Suspicious comparison of a Integer reference to constant in org.apache.pluto.container.driver.PortletServlet.dispatch(HttpServletRequest, HttpServletResponse)BAD_PRACTICERC_REF_COMPARISON_BAD_PRACTICE336Medium
Suspicious comparison of a Integer reference to constant in org.apache.pluto.container.driver.PortletServlet.dispatch(HttpServletRequest, HttpServletResponse)BAD_PRACTICERC_REF_COMPARISON_BAD_PRACTICE346Medium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.contextService non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.eventPortlet non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.portlet non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.portletConfig non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.portletContext non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.resourceServingPortlet non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La classe org.apache.pluto.container.driver.PortletServlet définit le champ d'instance org.apache.pluto.container.driver.PortletServlet.startTimer non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
org.apache.pluto.container.driver.PortletServlet$NullPortlet est stocké dans le champ non transient org.apache.pluto.container.driver.PortletServlet.eventPortletBAD_PRACTICESE_BAD_FIELD_STORE454Medium
org.apache.pluto.container.driver.PortletServlet$NullPortlet est stocké dans le champ non transient org.apache.pluto.container.driver.PortletServlet.resourceServingPortletBAD_PRACTICESE_BAD_FIELD_STORE466Medium

org.apache.pluto.container.impl.AbstractPortletConfigImpl

BugCatégorieDétailsLignePriorité
Synchronisation incohérente de org.apache.pluto.container.impl.AbstractPortletConfigImpl.containerRuntimeOptions; verrouillée à 62%MT_CORRECTNESSIS2_INCONSISTENT_SYNC213Medium

org.apache.pluto.container.impl.HttpServletPortletRequestWrapper

BugCatégorieDétailsLignePriorité
org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.parseDateHeader(String) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR354Medium
org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.PATH_ATTRIBUTE_FORWARD_NAMES devrait être package protectedMALICIOUS_CODEMS_PKGPROTECT73Medium
org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.PATH_ATTRIBUTE_INCLUDE_NAMES devrait être package protectedMALICIOUS_CODEMS_PKGPROTECT67Medium
org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.PATH_ATTRIBUTE_NAMES devrait être package protectedMALICIOUS_CODEMS_PKGPROTECT79Medium
Ecriture d'un champ statique org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.dispatchDetection depuis la méthode d'une instance org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.getParameterMap()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD854Medium

org.apache.pluto.container.impl.PortletPreferenceImpl

BugCatégorieDétailsLignePriorité
org.apache.pluto.container.impl.PortletPreferenceImpl defines clone() but doesn't implement CloneableBAD_PRACTICECN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE93-99High
La méthode org.apache.pluto.container.impl.PortletPreferenceImpl.getValues() risque d'exposer sa représentation interne en renvoyant org.apache.pluto.container.impl.PortletPreferenceImpl.valuesMALICIOUS_CODEEI_EXPOSE_REP77Medium
La méthode new org.apache.pluto.container.impl.PortletPreferenceImpl(String, String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.pluto.container.impl.PortletPreferenceImpl.valuesMALICIOUS_CODEEI_EXPOSE_REP244Medium
La méthode new org.apache.pluto.container.impl.PortletPreferenceImpl(String, String[], boolean) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.pluto.container.impl.PortletPreferenceImpl.valuesMALICIOUS_CODEEI_EXPOSE_REP252Medium
La méthode org.apache.pluto.container.impl.PortletPreferenceImpl.setValues(String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.pluto.container.impl.PortletPreferenceImpl.valuesMALICIOUS_CODEEI_EXPOSE_REP281Medium

org.apache.pluto.container.impl.RequestDispatcherServiceImpl

BugCatégorieDétailsLignePriorité
Ecriture d'un champ statique org.apache.pluto.container.impl.HttpServletPortletRequestWrapper.dispatchDetection depuis la méthode d'une instance new org.apache.pluto.container.impl.RequestDispatcherServiceImpl(int)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD56Medium

org.apache.pluto.container.om.portlet.impl.PortletType

BugCatégorieDétailsLignePriorité
org.apache.pluto.container.om.portlet.impl.PortletType.setExpirationCache(int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR274Medium

org.apache.pluto.container.om.portlet10.impl.PortletAppType

BugCatégorieDétailsLignePriorité
org.apache.pluto.container.om.portlet10.impl.PortletAppType.downgradePortlet(PortletDefinition, PortletType) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR255Medium

org.apache.pluto.container.util.PrintWriterServletOutputStream

BugCatégorieDétailsLignePriorité
Found reliance on default encoding in org.apache.pluto.container.util.PrintWriterServletOutputStream.write(byte[], int, int): new String(byte[], int, int)I18NDM_DEFAULT_ENCODING86High

org.apache.pluto.driver.PortalDriverServlet

BugCatégorieDétailsLignePriorité
Comparaison d'objets String utilisant == ou != dans org.apache.pluto.driver.PortalDriverServlet.doGet(HttpServletRequest, HttpServletResponse)BAD_PRACTICEES_COMPARING_STRINGS_WITH_EQ98Medium
Test de nullité dans portalURL d'une valeur préalablement déréférencée dans org.apache.pluto.driver.PortalDriverServlet.doGet(HttpServletRequest, HttpServletResponse)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE114High

org.apache.pluto.driver.PortalStartupListener

BugCatégorieDétailsLignePriorité
Ecriture d'un champ statique org.apache.pluto.driver.PortalStartupListener.servletContext depuis la méthode d'une instance org.apache.pluto.driver.PortalStartupListener.contextInitialized(ServletContextEvent)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD107Medium

org.apache.pluto.driver.PublishServlet

BugCatégorieDétailsLignePriorité
HTTP parameter written to Servlet output in org.apache.pluto.driver.PublishServlet.doGet(HttpServletRequest, HttpServletResponse)SECURITYXSS_REQUEST_PARAMETER_TO_SERVLET_WRITER45Medium

org.apache.pluto.driver.TCKDriverServlet

BugCatégorieDétailsLignePriorité
HTTP parameter directly written to HTTP header output in org.apache.pluto.driver.TCKDriverServlet.doSetup(HttpServletRequest, HttpServletResponse)SECURITYHRS_REQUEST_PARAMETER_TO_HTTP_HEADER92Medium

org.apache.pluto.driver.container.Configuration

BugCatégorieDétailsLignePriorité
org.apache.pluto.driver.container.Configuration.isBufferingSupported() invoque le constructeur inutile Boolean() ; utilisez Boolean.valueOf(...) à la placePERFORMANCEDM_BOOLEAN_CTOR73Medium
org.apache.pluto.driver.container.Configuration.preventUnecessaryCrossContext() invoque le constructeur inutile Boolean() ; utilisez Boolean.valueOf(...) à la placePERFORMANCEDM_BOOLEAN_CTOR95Medium

org.apache.pluto.driver.portlets.PageAdminPortlet$Page

BugCatégorieDétailsLignePriorité
La classe org.apache.pluto.driver.portlets.PageAdminPortlet$Page devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC335-363Medium

org.apache.pluto.driver.portlets.PageAdminPortlet$Placement

BugCatégorieDétailsLignePriorité
La classe org.apache.pluto.driver.portlets.PageAdminPortlet$Placement devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC370-390Medium

org.apache.pluto.driver.services.container.EventCoordinationServiceImpl

BugCatégorieDétailsLignePriorité
PortletWindowThread is incompatible with expected argument type String in org.apache.pluto.driver.services.container.EventCoordinationServiceImpl.getPortletWindowThread(Map, ThreadGroup, PortletContainer, PortletWindowConfig, PortletWindow, HttpServletRequest, HttpServletResponse, ServletContext)CORRECTNESSGC_UNRELATED_TYPES340High

org.apache.pluto.driver.services.container.EventProviderImpl

BugCatégorieDétailsLignePriorité
Chargement d'une valeur connue pour être à null dans org.apache.pluto.driver.services.container.EventProviderImpl.createEvent(QName, Serializable)STYLENP_LOAD_OF_KNOWN_NULL_VALUE74Medium

org.apache.pluto.driver.services.container.FilterChainImpl

BugCatégorieDétailsLignePriorité
Champ inutilisé : org.apache.pluto.driver.services.container.FilterChainImpl.lifeCyclePERFORMANCEURF_UNREAD_FIELD65Medium

org.apache.pluto.driver.services.impl.resource.SupportedWindowStateServiceImpl

BugCatégorieDétailsLignePriorité
Possible déréférencement d'un pointeur null dans le chemin d'exception de org.apache.pluto.driver.services.impl.resource.SupportedWindowStateServiceImpl.isWindowStateSupportedByPortlet(String, String)CORRECTNESSNP_NULL_ON_SOME_PATH_EXCEPTION184Medium

org.apache.pluto.driver.services.portal.RenderConfig$1

BugCatégorieDétailsLignePriorité
org.apache.pluto.driver.services.portal.RenderConfig$1.equals(Object) always returns falseCORRECTNESSEQ_ALWAYS_FALSE59High

org.apache.pluto.driver.tags.PortletTag

BugCatégorieDétailsLignePriorité
La classe org.apache.pluto.driver.tags.PortletTag définit le champ d'instance org.apache.pluto.driver.tags.PortletTag.response non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNon disponibleMedium
La méthode org.apache.pluto.driver.tags.PortletTag.doStartTag() fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR153Medium

org.apache.pluto.driver.url.PortalURLParameter

BugCatégorieDétailsLignePriorité
La méthode org.apache.pluto.driver.url.PortalURLParameter.getValues() risque d'exposer sa représentation interne en renvoyant org.apache.pluto.driver.url.PortalURLParameter.valuesMALICIOUS_CODEEI_EXPOSE_REP54Medium
La méthode new org.apache.pluto.driver.url.PortalURLParameter(String, String, String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.pluto.driver.url.PortalURLParameter.valuesMALICIOUS_CODEEI_EXPOSE_REP242Medium
La méthode org.apache.pluto.driver.url.PortalURLParameter.setValues(String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.pluto.driver.url.PortalURLParameter.valuesMALICIOUS_CODEEI_EXPOSE_REP258Medium

org.apache.pluto.driver.url.impl.PortalURLParserImpl

BugCatégorieDétailsLignePriorité
La méthode org.apache.pluto.driver.url.impl.PortalURLParserImpl.toString(PortalURL) fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR431Medium

org.apache.pluto.driver.url.impl.RelativePortalURLImpl

BugCatégorieDétailsLignePriorité
La méthode clone() org.apache.pluto.driver.url.impl.RelativePortalURLImpl.clone() n'appelle pas super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL259-272Medium
La méthode org.apache.pluto.driver.url.impl.RelativePortalURLImpl.addPublicRenderParametersNew(Map) fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR282Medium