[ https://issues.apache.org/jira/browse/PLUTO-487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602146#action_12602146 ]
Nikita Dubrovsky commented on PLUTO-487: ---------------------------------------- I had assumed that internalStore() is called in the constructor because of the last paragraph in PLT.14.1. For me, it sounds good to not make the call at all, but let me double-check this in more detail tomorrow. > PortletPreferencesImpl should not store the preferences every time it is > instantiated > ------------------------------------------------------------------------------------- > > Key: PLUTO-487 > URL: https://issues.apache.org/jira/browse/PLUTO-487 > Project: Pluto > Issue Type: Improvement > Components: portlet container > Affects Versions: 1.1.5 > Environment: Tomcat 5.5.26 > Reporter: Nikita Dubrovsky > Assignee: Eric Dalquist > Fix For: 1.1.6 > > Attachments: P487-1.1.x-Rev656347.diff > > > In Pluto 1.1.5, the constructor of > org.apache.pluto.internal.impl.PortletPreferencesImpl calls internalStore() > every time. It would be better to only store the preferences when it is > actually necessary -- I believe this is the case only when the prefs from > portlet.xml have not yet been stored: > ... > Set portletXmlPrefNames = getPreferenceNames(defaultPreferences); > Set persistedPrefNames = getPreferenceNames(storedPreferences); > if (!persistedPrefNames.containsAll(portletXmlPrefNames)) { > internalStore(); > } > ... > private Set getPreferenceNames(InternalPortletPreference[] prefs) { > Set prefNames = new HashSet(); > for (int i = 0; i < prefs.length; i++) { > prefNames.add(prefs[i].getName()); > } > return prefNames; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.