You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Brian DeHamer (JIRA)" <ji...@apache.org> on 2008/10/07 16:23:44 UTC

[jira] Created: (PLUTO-505) Whitespace in PreferencesValidator declaration results in ClassNotFoundException

Whitespace in PreferencesValidator declaration results in ClassNotFoundException
--------------------------------------------------------------------------------

                 Key: PLUTO-505
                 URL: https://issues.apache.org/jira/browse/PLUTO-505
             Project: Pluto
          Issue Type: Bug
          Components: descriptor
    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 a PreferencesValidator is registered in the portlet deployment descriptor (portlet.xml) with any whitespace between the class name and the surrounding <preferences-validator> element, a ValidatorException is thrown whenever the store() method of the PortletPreferences object is invoked.

The stack trace looks something like this:

javax.portlet.ValidatorException: java.lang.ClassNotFoundException: 
				com.hp.frameworks.sample.search.validation.SearchPreferencesValidator
			
	at org.apache.pluto.internal.PreferencesValidatorRegistry.getPreferencesValidator(PreferencesValidatorRegistry.java:111)
	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)

The root issue here is that the getPreferencesValidator() method of the org.apache.pluto.descriptors.portlet.PortletPreferencesDD should be trimming the string that is returned so that the whitespace is removed before an attempt is made to instantiate the class.

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


[jira] Updated: (PLUTO-505) Whitespace in PreferencesValidator declaration results in ClassNotFoundException

Posted by "Brian DeHamer (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PLUTO-505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian DeHamer updated PLUTO-505:
--------------------------------

    Attachment: patch.txt

The attached patch for PortletPreferencesDD.java fixes the issue by ensuring the the PreferncesValidator class name is trimmed before it is returned.

> Whitespace in PreferencesValidator declaration results in ClassNotFoundException
> --------------------------------------------------------------------------------
>
>                 Key: PLUTO-505
>                 URL: https://issues.apache.org/jira/browse/PLUTO-505
>             Project: Pluto
>          Issue Type: Bug
>          Components: descriptor
>    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
>
>         Attachments: patch.txt
>
>
> If a PreferencesValidator is registered in the portlet deployment descriptor (portlet.xml) with any whitespace between the class name and the surrounding <preferences-validator> element, a ValidatorException is thrown whenever the store() method of the PortletPreferences object is invoked.
> The stack trace looks something like this:
> javax.portlet.ValidatorException: java.lang.ClassNotFoundException: 
> 				com.hp.frameworks.sample.search.validation.SearchPreferencesValidator
> 			
> 	at org.apache.pluto.internal.PreferencesValidatorRegistry.getPreferencesValidator(PreferencesValidatorRegistry.java:111)
> 	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)
> The root issue here is that the getPreferencesValidator() method of the org.apache.pluto.descriptors.portlet.PortletPreferencesDD should be trimming the string that is returned so that the whitespace is removed before an attempt is made to instantiate the class.

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


[jira] Closed: (PLUTO-505) Whitespace in PreferencesValidator declaration results in ClassNotFoundException

Posted by "Craig Doremus (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PLUTO-505?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Craig Doremus closed PLUTO-505.
-------------------------------

    Resolution: Fixed

Applied patch in SVN rev 702730 and 702731. Thank you Brian!

> Whitespace in PreferencesValidator declaration results in ClassNotFoundException
> --------------------------------------------------------------------------------
>
>                 Key: PLUTO-505
>                 URL: https://issues.apache.org/jira/browse/PLUTO-505
>             Project: Pluto
>          Issue Type: Bug
>          Components: descriptor
>    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
>
>         Attachments: patch.txt
>
>
> If a PreferencesValidator is registered in the portlet deployment descriptor (portlet.xml) with any whitespace between the class name and the surrounding <preferences-validator> element, a ValidatorException is thrown whenever the store() method of the PortletPreferences object is invoked.
> The stack trace looks something like this:
> javax.portlet.ValidatorException: java.lang.ClassNotFoundException: 
> 				com.hp.frameworks.sample.search.validation.SearchPreferencesValidator
> 			
> 	at org.apache.pluto.internal.PreferencesValidatorRegistry.getPreferencesValidator(PreferencesValidatorRegistry.java:111)
> 	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)
> The root issue here is that the getPreferencesValidator() method of the org.apache.pluto.descriptors.portlet.PortletPreferencesDD should be trimming the string that is returned so that the whitespace is removed before an attempt is made to instantiate the class.

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