[ 
https://issues.apache.org/jira/browse/JS2-727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ate Douma resolved JS2-727.
---------------------------

    Resolution: Fixed

Most of the reported issues were genuine issues or bugs and I've reviewed and 
applied almost all of the patches provided by Dennis.
A few exceptions though:
- Long.valueOf(long) is Java 5 API, so I couldn't apply that (yet).
- I didn't made PrefsPreferenceSetImpl Serializable as it also contains 
Preferences instances which aren't serializable themselves.
  Note: with the next major version 2.2 for jetspeed we're likely going to 
provide a different back end for the preferences which will no longer be based 
on Java Preferences
- For a few patches I've chosen a (slightly) different solution
- From the 5 remaining dubious issues as reported by Dennis, only the dead code 
in PickANumberPortlet was worth or needed to be fixed, the others are ok  

Thanks again Dennis for running the Jetspeed code base through FindBugs and 
providing all the info and patches for the issues you found. 

> Appy Findbugs patches
> ---------------------
>
>                 Key: JS2-727
>                 URL: https://issues.apache.org/jira/browse/JS2-727
>             Project: Jetspeed 2
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>            Reporter: David Sean Taylor
>            Assignee: Ate Douma
>             Fix For: 2.1.1
>
>         Attachments: findbugPatch-comments.txt, findBugs.patch
>
>
> As reported by Dennis Dam on the mailing list, fix the "Findbugs" errors. I 
> don't think we need a new issue for each bug, so Im listing all here:
> The other day I found a case in a particular class where an argument for a 
> constructor was actually not used. I found that was really confusing. So I 
> thought: is there not a way to find these kinds of "bugs" automatically?
> That's how I stumbled upon an open source (LGPL, I think) eclipse plugin 
> which .. finds bugs for you! It's called 'findbugs' 
> (http://findbugs.sourceforge.net/). Installation instructions are at 
> http://findbugs.sourceforge.net/manual/eclipse.html.
> It works like this:
> - select project
> - select "find bugs"
> .. and off you go, it finds bugs. In the case of jetspeed it found 566 bugs 
> to be exact, which it categorizes in degrees of seriousness. 73 are flagged 
> as "high prio ". I attached these problems in a logfile attached to this 
> mail. I would highly recommend installing that plugin from what I've seen so 
> far.
> The nastiest bugs I found:
> - nullpointer dereference
> - possible infinite loop
> - comparing strings with the == operator
> These three are in the logfile.
> If anyone knows better plugins, or has suggestions I'm glad to hear about it.
> regards,
> Dennis Dam
> Severity and Description      Path    Resource        Location        
> Creation Time   Id
> H B ES: Comparison of String parameter using == or != in 
> org.apache.jetspeed.capabilities.impl.CapabilityMapImpl.hasCapability(String) 
>        
> jetspeed-2/components/capability/src/java/org/apache/jetspeed/capabilities/impl
>  CapabilityMapImpl.java  line 185        1180475631635   7871
> H B ES: Comparison of String parameter using == or != in 
> org.apache.jetspeed.capabilities.impl.CapabilityMapImpl.supportsMediaType(String)
>     
> jetspeed-2/components/capability/src/java/org/apache/jetspeed/capabilities/impl
>  CapabilityMapImpl.java  line 231        1180475631635   7872
> H B ES: Comparison of String parameter using == or != in 
> org.apache.jetspeed.serializer.objects.JSPermission.getClassForType(String)  
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 80 1180475633214   8301
> H B HE: org.apache.jetspeed.capabilities.impl.ClientImpl defines equals and 
> uses Object.hashCode()    
> jetspeed-2/components/capability/src/java/org/apache/jetspeed/capabilities/impl
>  ClientImpl.java line 58 1180475631635   7876
> H B HE: org.apache.jetspeed.capabilities.impl.MediaTypeImpl defines equals 
> and uses Object.hashCode() 
> jetspeed-2/components/capability/src/java/org/apache/jetspeed/capabilities/impl
>  MediaTypeImpl.java      line 67 1180475631635   7879
> H B HE: org.apache.jetspeed.cluster.NodeInformationImpl defines equals and 
> uses Object.hashCode()     
> jetspeed-2/components/portal/src/java/org/apache/jetspeed/cluster       
> NodeInformationImpl.java        line 90 1180475631651   7886
> H B HE: 
> org.apache.jetspeed.components.portletregistry.MutablePortletApplicationProxy 
> defines equals and uses Object.hashCode()       
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletregistry
>   MutablePortletApplicationProxy.java     line 30 1180475631823   7912
> H B HE: org.apache.jetspeed.i18n.KeyedMessage defines equals and uses 
> Object.hashCode()       
> jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/i18n       
> KeyedMessage.java       line 549        1180475632792   7994
> H B HE: org.apache.jetspeed.portlet.webcontent.WebContentHistoryPage defines 
> equals and uses Object.hashCode()        
> jetspeed-2/components/web-content/src/java/org/apache/jetspeed/portlet/webcontent
>        WebContentHistoryPage.java      line 65 1180475632948   8109
> H B HE: org.apache.jetspeed.portlets.layout.LayoutEvent defines equals and 
> uses Object.hashCode()     
> jetspeed-2/layout-portlets/src/java/org/apache/jetspeed/portlets/layout 
> LayoutEvent.java        line 119        1180475632964   8120
> H B HE: org.apache.jetspeed.prefs.om.impl.NodeImpl defines equals and uses 
> Object.hashCode()  
> jetspeed-2/components/prefs/src/java/org/apache/jetspeed/prefs/om/impl  
> NodeImpl.java   line 243        1180475633073   8211
> H B HE: org.apache.jetspeed.profiler.rules.impl.RuleCriterionImpl defines 
> equals and uses Object.hashCode()   
> jetspeed-2/components/profiler/src/java/org/apache/jetspeed/profiler/rules/impl
>  RuleCriterionImpl.java  line 56 1180475633104   8216
> H B HE: org.apache.jetspeed.security.om.impl.InternalCredentialImpl defines 
> equals and uses Object.hashCode() 
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/om/impl  
>   InternalCredentialImpl.java     line 359        1180475633136   8243
> H B HE: org.apache.jetspeed.security.om.impl.InternalGroupPrincipalImpl 
> defines equals and uses Object.hashCode()     
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/om/impl  
>   InternalGroupPrincipalImpl.java line 96 1180475633136   8244
> H B HE: org.apache.jetspeed.security.om.impl.InternalPermissionImpl defines 
> equals and uses Object.hashCode() 
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/om/impl  
>   InternalPermissionImpl.java     line 188        1180475633136   8245
> H B HE: org.apache.jetspeed.security.om.impl.InternalRolePrincipalImpl 
> defines equals and uses Object.hashCode()      
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/om/impl  
>   InternalRolePrincipalImpl.java  line 96 1180475633136   8246
> H B HE: org.apache.jetspeed.security.om.impl.InternalUserPrincipalImpl 
> defines equals and uses Object.hashCode()      
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/om/impl  
>   InternalUserPrincipalImpl.java  line 121        1180475633136   8247
> H B HE: org.apache.jetspeed.statistics.impl.UserStatsImpl defines equals and 
> uses Object.hashCode()   
> jetspeed-2/components/statistics/src/java/org/apache/jetspeed/statistics/impl 
>   UserStatsImpl.java      line 112        1180475633261   8343
> H B HE: org.apache.jetspeed.util.MimeType defines equals and uses 
> Object.hashCode()   
> jetspeed-2/components/portal/src/java/org/apache/jetspeed/util  MimeType.java 
>   line 131        1180475633276   8353
> H B HE: org.apache.jetspeed.webapp.logging.IsolatedLog4JLogger defines equals 
> and uses Object.hashCode()      
> jetspeed-2/components/webapp-logging/src/java/org/apache/jetspeed/webapp/logging
>         IsolatedLog4JLogger.java        line 180        1180475633292   8370
> H B Se: Class org.apache.jetspeed.om.impl.LanguageSetImpl defines 
> non-transient non-serializable instance field classLoader   
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/impl     
> LanguageSetImpl.java    line 46 1180475632886   8040
> H B Se: Class 
> org.apache.jetspeed.om.portlet.impl.PortletApplicationDefinitionImpl defines 
> non-transient non-serializable instance field oid  
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/portlet/impl   
>   PortletApplicationDefinitionImpl.java   line 64 1180475632901   8059
> H B Se: Class org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl 
> defines non-transient non-serializable instance field oid     
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/portlet/impl   
>   PortletDefinitionImpl.java      line 99 1180475632901   8064
> H B Se: Class org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl 
> defines non-transient non-serializable instance field preferenceSet   
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/portlet/impl   
>   PortletDefinitionImpl.java      line 133        1180475632901   8065
> H B Se: Class 
> org.apache.jetspeed.om.servlet.impl.WebApplicationDefinitionImpl defines 
> non-transient non-serializable instance field oid      
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/servlet/impl   
>   WebApplicationDefinitionImpl.java       line 59 1180475632917   8072
> H B Se: Class org.apache.jetspeed.om.window.impl.PortletWindowImpl defines 
> non-transient non-serializable instance field portletEntity        
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/window/impl    
>   PortletWindowImpl.java  line 41 1180475632917   8075
> H B Se: Class org.apache.jetspeed.security.PolicyWrapper defines 
> non-transient non-serializable instance field policy 
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security    
> PolicyWrapper.java      line 35 1180475633136   8238
> H B Se: The field 
> org.apache.jetspeed.portalsite.impl.PortalSiteSessionContextImpl.folderPageHistory
>  is transient but isn't set by deserialization    
> jetspeed-2/components/portal-site/src/java/org/apache/jetspeed/portalsite/impl
>   PortalSiteSessionContextImpl.java       line 102        1180475632948   8101
> H B Se: The field 
> org.apache.jetspeed.portlet.webcontent.WebContentResource.content is 
> transient but isn't set by deserialization     
> jetspeed-2/components/web-content/src/java/org/apache/jetspeed/portlet/webcontent
>        WebContentResource.java line 32 1180475632964   8112
> H B Se: The field 
> org.apache.jetspeed.portlets.profiler.ProfileCriterionForm.fallbackTypes is 
> transient but isn't set by deserialization      
> jetspeed-2/applications/j2-admin/src/java/org/apache/jetspeed/portlets/profiler
>  ProfileCriterionForm.java       line 73 1180475632979   8132
> H B Se: The field 
> org.apache.jetspeed.portlets.profiler.ProfileCriterionForm.resolvers is 
> transient but isn't set by deserialization  
> jetspeed-2/applications/j2-admin/src/java/org/apache/jetspeed/portlets/profiler
>  ProfileCriterionForm.java       line 50 1180475632979   8133
> H B Se: The field 
> org.apache.jetspeed.portlets.profiler.ProfileRuleForm.classnames is transient 
> but isn't set by deserialization      
> jetspeed-2/applications/j2-admin/src/java/org/apache/jetspeed/portlets/profiler
>  ProfileRuleForm.java    line 44 1180475632995   8136
> H B Se: The field org.apache.portals.gems.browser.DatabaseBrowserIterator.log 
> is transient but isn't set by deserialization   
> jetspeed-2/applications/gems/src/java/org/apache/portals/gems/browser   
> DatabaseBrowserIterator.java    line 37 1180475633308   8394
> H C EC: Call to equals() comparing unrelated class and interface in 
> org.apache.jetspeed.decoration.DecorationFactoryImpl.getDecoration(Page, 
> Fragment, RequestContext)        
> jetspeed-2/components/portal/src/java/org/apache/jetspeed/decoration    
> DecorationFactoryImpl.java      line 142        1180475632120   7944
> H C EC: Call to equals() comparing unrelated class and interface in 
> org.apache.jetspeed.portlets.rpad.RepositoryConfigHandler.endElement(String, 
> String, String)      
> jetspeed-2/applications/j2-admin/src/java/org/apache/jetspeed/portlets/rpad   
>   RepositoryConfigHandler.java    line 129        1180475633011   8158
> H C HE: org.apache.jetspeed.webapp.logging.IsolatedLog4JLogger doesn't define 
> a hashCode() method but is used in a hashed data structure      
> jetspeed-2/components/webapp-logging/src/java/org/apache/jetspeed/webapp/logging
>         IsolatedLog4JLogger.java        line 143        1180475633292   8371
> H C IL: There is an apparent infinite recursive loop in 
> org.apache.jetspeed.om.preference.impl.PrefsPreference.cloneValues()  
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/om/preference/impl
>   PrefsPreference.java    line 464        1180475632901   8068
> H C MF: Field GetPortletsAction.log masks field in superclass 
> org.apache.jetspeed.layout.impl.BasePortletAction       
> jetspeed-2/components/portal/src/java/org/apache/jetspeed/layout/impl   
> GetPortletsAction.java  line 58 1180475632792   7998
> H C MF: Field TestSSOComponent.gms masks field in superclass 
> org.apache.jetspeed.security.util.test.AbstractSecurityTestcase  
> jetspeed-2/components/sso/src/test/org/apache/jetspeed/sso      
> TestSSOComponent.java   line 76 1180475633245   8321
> H C MF: Field TestSSOComponent.ums masks field in superclass 
> org.apache.jetspeed.security.util.test.AbstractSecurityTestcase  
> jetspeed-2/components/sso/src/test/org/apache/jetspeed/sso      
> TestSSOComponent.java   line 73 1180475633245   8322
> H C Nm: VERY confusing to have methods 
> org.apache.jetspeed.om.page.TestPageObjectModel.setup() and 
> junit.framework.TestCase.setUp()   
> jetspeed-2/components/page-manager/src/test/org/apache/jetspeed/om/page 
> TestPageObjectModel.java        line 60 1180475632886   8045
> H C NP: ? could be null and is guaranteed to be dereferenced in 
> org.apache.jetspeed.locator.JetspeedTemplateLocator.locateTemplate(LocatorDescriptor,
>  String) jetspeed-2/components/locator/src/java/org/apache/jetspeed/locator   
>    JetspeedTemplateLocator.java    line 212        1180475632854   8010
> H C NP: Null pointer dereference of pa in 
> org.apache.jetspeed.portlets.palm.PortletApplicationLifecycleManager.processAction(ActionRequest,
>  ActionResponse)   
> jetspeed-2/applications/j2-admin/src/java/org/apache/jetspeed/portlets/palm   
>   PortletApplicationLifecycleManager.java line 121        1180475632964   8125
> H C RCN: Nullcheck of document at line 505 of value previously dereferenced 
> in 
> org.apache.jetspeed.page.document.psml.CastorFileSystemDocumentHandler.unmarshallDocument(Class,
>  String, String)       
> jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/document/psml
>       CastorFileSystemDocumentHandler.java    line 466        1180475632932   
> 8088
> H C UMAC: Uncallable method 
> org.apache.jetspeed.serializer.objects.JSNVPElement$1.isReferencable() 
> defined in anonymous class 
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSNVPElement.java       line 1  1180475633214   8300
> H D DLS: Dead store to applicationScopeAttribute in 
> org.apache.jetspeed.demo.simple.AttributeScopeServlet.processAction(ActionRequest,
>  ActionResponse)        
> jetspeed-2/applications/demo/src/java/org/apache/jetspeed/demo/simple   
> AttributeScopeServlet.java      line 120        1180475632464   7950
> H D DLS: Dead store to lastGuess in 
> org.apache.jetspeed.demo.simple.PickANumberPortlet.doView(RenderRequest, 
> RenderResponse)  
> jetspeed-2/applications/demo/src/java/org/apache/jetspeed/demo/simple   
> PickANumberPortlet.java line 151        1180475632526   7958
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.pac from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.setEntityAccessProxy(PortletEntityAccessComponent)
>     
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 102        
> 1180475631651   7900
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.rcc from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.PersistenceBrokerPortletEntityAccess(PortletRegistry,
>  RequestContextComponent, boolean)       
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 96 1180475631651   
> 7898
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.rcc from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.PersistenceBrokerPortletEntityAccess(PortletRegistry,
>  RequestContextComponent)        
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 88 1180475631651   
> 7896
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.registry from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.PersistenceBrokerPortletEntityAccess(PortletRegistry,
>  RequestContextComponent, boolean)  
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 95 1180475631651   
> 7899
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.registry from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.PersistenceBrokerPortletEntityAccess(PortletRegistry,
>  RequestContextComponent)   
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 87 1180475631651   
> 7897
> H D ST: Write to static field 
> org.apache.jetspeed.components.portletentity.PortletEntityImpl.registry from 
> instance method 
> org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.PersistenceBrokerPortletEntityAccess(PortletRegistry)
>     
> jetspeed-2/components/registry/src/java/org/apache/jetspeed/components/portletentity
>     PersistenceBrokerPortletEntityAccess.java       line 80 1180475631651   
> 7895
> H D ST: Write to static field 
> org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl.prefsProvider from 
> instance method 
> org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl.setPrefsProvider(PreferencesProvider)
>     jetspeed-2/components/prefs/src/java/org/apache/jetspeed/prefs/impl     
> PreferencesFactoryImpl.java     line 97 1180475633073   8207
> H D ST: Write to static field 
> org.apache.jetspeed.security.impl.LoginModuleProxyImpl.loginModuleProxy from 
> instance method 
> org.apache.jetspeed.security.impl.LoginModuleProxyImpl.LoginModuleProxyImpl(UserManager,
>  String)   
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/impl     
>   LoginModuleProxyImpl.java       line 59 1180475633136   8239
> H D ST: Write to static field 
> org.apache.jetspeed.services.JetspeedPortletServices.singleton from instance 
> method 
> org.apache.jetspeed.services.JetspeedPortletServices.JetspeedPortletServices(Map)
>    jetspeed-2/commons/src/java/org/apache/jetspeed/services        
> JetspeedPortletServices.java    line 50 1180475633229   8314
> H D ST: Write to static field 
> org.apache.jetspeed.sso.TestSSOComponent.ssoBroker from instance method 
> org.apache.jetspeed.sso.TestSSOComponent.setUp()        
> jetspeed-2/components/sso/src/test/org/apache/jetspeed/sso      
> TestSSOComponent.java   line 87 1180475633245   8323
> H P Dm: org.apache.jetspeed.engine.JetspeedEngine.shutdown() forces garbage 
> collection; extremely dubious except in benchmarking code 
> jetspeed-2/components/portal/src/java/org/apache/jetspeed/engine        
> JetspeedEngine.java     line 174        1180475632667   7975
> H V MS: org.apache.jetspeed.om.folder.psml.FolderMetaDataImpl.DOCUMENT_TYPE 
> isn't final but should be 
> jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/om/folder/psml
>   FolderMetaDataImpl.java line 41 1180475632886   8036
> H V MS: 
> org.apache.jetspeed.page.impl.DatabasePageManagerCache.transactionedOperations
>  isn't final but should be      
> jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page/impl     
>   DatabasePageManagerCache.java   line 428        1180475632932   8093
> H V MS: org.apache.jetspeed.page.PageManagerUtils.log isn't final but should 
> be       jetspeed-2/components/page-manager/src/java/org/apache/jetspeed/page 
>    PageManagerUtils.java   line 46 1180475632932   8083
> H V MS: 
> org.apache.jetspeed.security.spi.impl.PasswordHistoryInterceptor.HISTORICAL_PASSWORD_CREDENTIAL
>  isn't final but should be     
> jetspeed-2/components/security/src/java/org/apache/jetspeed/security/spi/impl 
>   PasswordHistoryInterceptor.java line 58 1180475633136   8249
> H V MS: org.apache.jetspeed.serializer.objects.JSPermission.TYPE_FOLDER isn't 
> final but should be     
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 63 1180475633214   8302
> H V MS: org.apache.jetspeed.serializer.objects.JSPermission.TYPE_FRAGMENT 
> isn't final but should be   
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 65 1180475633214   8303
> H V MS: org.apache.jetspeed.serializer.objects.JSPermission.TYPE_PAGE isn't 
> final but should be       
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 67 1180475633214   8304
> H V MS: org.apache.jetspeed.serializer.objects.JSPermission.TYPE_PORTAL isn't 
> final but should be     
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 74 1180475633214   8305
> H V MS: 
> org.apache.jetspeed.serializer.objects.JSPermission.TYPE_PORTALRESOURCE isn't 
> final but should be     
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 69 1180475633214   8306
> H V MS: 
> org.apache.jetspeed.serializer.objects.JSPermission.TYPE_PORTALRESOURCECOLLECTION
>  isn't final but should be   
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 71 1180475633214   8307
> H V MS: org.apache.jetspeed.serializer.objects.JSPermission.TYPE_UNKNOWN 
> isn't final but should be    
> jetspeed-2/components/serializer/src/java/org/apache/jetspeed/serializer/objects
>         JSPermission.java       line 76 1180475633214   8308
> H V MS: org.apache.portals.gems.util.ValidationHelper.AMERICAN_DATE_FORMAT 
> isn't final but should be  
> jetspeed-2/applications/gems/src/java/org/apache/portals/gems/util      
> ValidationHelper.java   line 35 1180475633308   8399
> H V MS: 
> org.apache.portals.gems.util.ValidationHelper.AMERICAN_DATETIME_FORMAT isn't 
> final but should be      
> jetspeed-2/applications/gems/src/java/org/apache/portals/gems/util      
> ValidationHelper.java   line 36 1180475633308   8398
> H V MS: org.apache.portals.gems.util.ValidationHelper.EUROPEAN_DATE_FORMAT 
> isn't final but should be  
> jetspeed-2/applications/gems/src/java/org/apache/portals/gems/util      
> ValidationHelper.java   line 33 1180475633308   8401
> H V MS: 
> org.apache.portals.gems.util.ValidationHelper.EUROPEAN_DATETIME_FORMAT isn't 
> final but should be      
> jetspeed-2/applications/gems/src/java/org/apache/portals/gems/util      
> ValidationHelper.java   line 34 1180475633308   8400

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to