Invoking the store() method of PortletPreferences object results in NPE if no 
preferences declared in portlet.xml
-----------------------------------------------------------------------------------------------------------------

                 Key: PLUTO-506
                 URL: https://issues.apache.org/jira/browse/PLUTO-506
             Project: Pluto
          Issue Type: Bug
          Components: portlet container
    Affects Versions: 2.0.0, 2.0-refactoring
         Environment: JDK 1.5.0_16, Tomcat 5.5.27
            Reporter: Brian DeHamer
             Fix For: 2.0.0, 2.0-refactoring


If you have not declared any preferences for a portlet in the deployment 
descriptor (portlet.xml) and then invoke the store() method of the 
PortletPreferences object, a NullPointerException is thrown with the following 
stack trace:

java.lang.NullPointerException
        at 
org.apache.pluto.internal.PreferencesValidatorRegistry.getPreferencesValidator(PreferencesValidatorRegistry.java:97)
        at 
org.apache.pluto.internal.impl.PortletEntityImpl.getPreferencesValidator(PortletEntityImpl.java:167)
        at 
org.apache.pluto.internal.impl.PortletPreferencesImpl.internalStore(PortletPreferencesImpl.java:298)
        at 
org.apache.pluto.internal.impl.PortletPreferencesImpl.store(PortletPreferencesImpl.java:277)
 . . .

In the getPreferencesValidator() method of the PreferencesValidatorRegistry the 
PortletPreferencesDD object is retrieved and its getPreferencesValidator() 
method is invoked without first checking to see if the PortletPreferencesDD 
object is null.

As a workaround you can make sure that you always declare at least one 
preference in your portlet.xml file -- this will ensure that the 
PortletPreferencesDD object is not null.


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

Reply via email to