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
         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.

Reply via email to