FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
2635302

org.apache.pluto.container.PortletInvokerService

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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_FIELDNot availableMedium
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

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

org.apache.pluto.container.impl.HttpServletPortletRequestWrapper

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
Champ inutilisé : org.apache.pluto.driver.services.container.FilterChainImpl.lifeCyclePERFORMANCEURF_UNREAD_FIELD65Medium

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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
org.apache.pluto.driver.services.portal.RenderConfig$1.equals(Object) always returns falseCORRECTNESSEQ_ALWAYS_FALSE59High

org.apache.pluto.driver.tags.PortletTag

BugCategoryDetailsLinePriority
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_FIELDNot availableMedium
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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

BugCategoryDetailsLinePriority
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