/** * Jetspeed: PortletPreferencesProvider */ public Map<String, PortletPreference> retrieveEntityPreferences(PortletWindow window) { JetspeedPreferencesMap entityMap = new JetspeedPreferencesMap(); List<FragmentPreference> fragmentPrefs = window.getFragment().getPreferences(); if (fragmentPrefs != null && fragmentPrefs.size() > 0) { entityMap = new JetspeedPreferencesMap(); for (FragmentPreference fragmentPref : fragmentPrefs) { String[] entityValues = new String[fragmentPref.getValueList().size()]; int ix = 0; for (Object value : fragmentPref.getValueList()) { entityValues[ix] = (String)value; ix++; } entityMap.put(fragmentPref.getName(), new JetspeedPreferenceImpl(fragmentPref.getName(), entityValues, fragmentPref.isReadOnly())); } } return entityMap; }
if (entityMap != null && entityMap.size() > 0) JetspeedPreferencesMap mergedMap = new JetspeedPreferencesMap(defaultsMap); for (Entry<String, PortletPreference> entry : entityMap.entrySet()) mergedMap.put(entry.getKey(), entry.getValue());
public JetspeedPreferencesMap(Map<String, PortletPreference> copy) { this.putAll(copy); }
public void removeDefaults(org.apache.jetspeed.om.portlet.PortletDefinition pd, String preferenceName) { Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_PORTLET); c.addEqualTo(APPLICATION_NAME, pd.getApplication().getName()); c.addEqualTo(PORTLET_NAME, pd.getPortletName()); c.addEqualTo("name", preferenceName); QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c); getPersistenceBrokerTemplate().deleteByQuery(query); String defaultsCacheKey = getPortletPreferenceKey(pd.getApplication().getName(), pd.getPortletName()); JetspeedPreferencesMap map = (JetspeedPreferencesMap) preferenceCache.get(defaultsCacheKey).getContent(); map.remove(preferenceName); preferenceCache.put(preferenceCache.createElement(defaultsCacheKey, map)); }
/** * Jetspeed: PortletPreferencesProvider */ public void storeDefaults(org.apache.jetspeed.om.portlet.PortletDefinition pd, Preferences newprefs) { Preferences preferences = (newprefs == null) ? pd.getDescriptorPreferences() : newprefs; JetspeedPreferencesMap map = new JetspeedPreferencesMap(); for (Preference preference : preferences.getPortletPreferences()) { map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues().toArray(new String[preference.getValues().size()]), preference.isReadOnly())); } this.storePortletPreference(pd, null, null, map); }
/** * Jetspeed: PortletPreferencesProvider */ public void preloadApplicationPreferences(String portletApplicationName) { JetspeedPreferencesMap map = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_PORTLET); c.addEqualTo(APPLICATION_NAME, portletApplicationName); String previousPortletName = ""; QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c); query.addOrderByAscending(DTYPE); query.addOrderByAscending(APPLICATION_NAME); query.addOrderByAscending(PORTLET_NAME); Iterator<DatabasePreference> preferences = getPersistenceBrokerTemplate().getIteratorByQuery(query); while (preferences.hasNext()) { DatabasePreference preference = preferences.next(); if (preference.getPortletName().equals(previousPortletName)) { map = new JetspeedPreferencesMap(); String defaultsCacheKey = getPortletPreferenceKey(portletApplicationName, preference.getPortletName()); preferenceCache.put(preferenceCache.createElement(defaultsCacheKey, map)); previousPortletName = preference.getPortletName(); } map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly())); } }
JetspeedPreferencesMap map = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); if (!cacheKey.equals(previousKey)) map = new JetspeedPreferencesMap(); preferenceCache.put(preferenceCache.createElement(cacheKey, map)); previousKey = cacheKey; map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
JetspeedPreferencesMap userPreferences = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); userPreferences.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
JetspeedPreferencesMap map = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_PORTLET); map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly())); map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
JetspeedPreferencesMap map = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); map.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
JetspeedPreferencesMap map = (cacheElement != null ? (JetspeedPreferencesMap) cacheElement.getContent() : new JetspeedPreferencesMap()); map.put(preferenceName, new JetspeedPreferenceImpl(preferenceName, dbPref.getValues(), dbPref.isReadOnly())); preferenceCache.put(preferenceCache.createElement(defaultsCacheKey, map));