public JetspeedPreferencesMap(Map<String, PortletPreference> copy) { this.putAll(copy); }
public String[] getValues() { // ensure initialized getPreferenceValues(); if(values.size() == 0) { // Making changes for TCK compliance return null; } String[] result = new String[values.size()]; int index = 0; for (DatabasePreferenceValue value : this.getPreferenceValues()) { result[index] = value.getValue(); index++; } return result; }
protected Map<String,PortletPreference> retrieveUserSessionWindowPreferences(PortletWindow window, String userName) { UserSessionPreferences sessionPreferences = retrieveUserSessionPreferences(userName); Map<String,PortletPreference> result = sessionPreferences.getWindowPreferences(window.getPortletEntityId()); if (result == null) { result = sessionPreferences.createWindowPreferences(window.getPortletEntityId()); } return clonePreferences(result); }
JetspeedPreferencesMap map = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); query.addOrderByAscending(ENTITY_ID); query.addOrderByAscending(USER_NAME); Iterator<DatabasePreference> preferences = getPersistenceBrokerTemplate().getIteratorByQuery(query); while (preferences.hasNext()) String cacheKey = getUserPreferenceKey(preference.getApplicationName(), preference.getPortletName(), preference.getEntityId(), preference.getUserName()); 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()));
protected UserSessionPreferences retrieveUserSessionPreferences(String userName) { RequestContext rc = null; RequestContextComponent rcc = getRequestContextComponent(); if (rcc != null) { rc = rcc.getRequestContext(); UserSessionPreferences sessionPreferences = new UserSessionPreferences(); Collection<DatabasePreference> preferences1 = getPersistenceBrokerTemplate().getCollectionByQuery(query); for (DatabasePreference preference : preferences1) { Map<String,PortletPreference> windowPreferences = sessionPreferences.getWindowPreferences(preference.getEntityId()); if (windowPreferences == null) { windowPreferences = sessionPreferences.createWindowPreferences(preference.getEntityId()); windowPreferences.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
/** * 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())); } }
String userCacheKey = getUserPreferenceKey(appName, portletName, windowId, userName); JetspeedPreferencesMap userPreferences = new JetspeedPreferencesMap(); Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); c.addEqualTo(ENTITY_ID, windowId); QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c); Iterator<DatabasePreference> preferences = getPersistenceBrokerTemplate().getIteratorByQuery(query); while (preferences.hasNext()) userPreferences.put(preference.getName(), new JetspeedPreferenceImpl(preference.getName(), preference.getValues(), preference.isReadOnly()));
/** * 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 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; }
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)); }
public void preload() throws Exception { if (preloadedApplications != null) { Iterator<String> apps = this.preloadedApplications.iterator(); while (apps.hasNext()) { String appName = (String)apps.next(); preloadApplicationPreferences(appName); } } if (preloadEntities) { preloadUserPreferences(); } }
protected UserSessionPreferences getUserSessionPreferences() { UserSessionPreferences sessionPreferences = null; RequestContextComponent rcc = getRequestContextComponent(); if (rcc != null) { RequestContext rc = rcc.getRequestContext(); if (rc != null) { sessionPreferences = (UserSessionPreferences) rc.getSessionAttribute(SESSION_CACHE_KEY); if (sessionPreferences == null) { sessionPreferences = new UserSessionPreferences(); rc.setSessionAttribute(SESSION_CACHE_KEY, sessionPreferences); } return sessionPreferences; } } return new UserSessionPreferences(); }
/** * Jetspeed: PortletPreferencesProvider */ public void storeEntityPreferences(Map<String, PortletPreference> map, PortletWindow window) throws PreferencesException { for (Entry<String, PortletPreference> entry : map.entrySet()) { org.apache.jetspeed.om.portlet.PortletDefinition pd = window.getPortletDefinition(); String entityId = window.getPortletEntityId(); String appName = pd.getApplication().getName(); String portletName = pd.getPortletName(); String entityCacheKey = this.getEntityPreferenceKey(appName, portletName, entityId); preferenceCache.remove(entityCacheKey); } try { ContentFragment fragment = window.getFragment(); fragment.updatePreferences(map); } catch (Exception e) { throw new PreferencesException(e); } }
/** * Jetspeed: PortletPreferencesProvider */ public void storeDefaults(org.apache.jetspeed.om.portlet.PortletApplication app) { for (org.apache.jetspeed.om.portlet.PortletDefinition pd : app.getPortlets()) { storeDefaults(pd, (Preferences)null); } }
private boolean isModified(DatabasePreference dbPref, PortletPreference pref) { String[] dbValues = dbPref.getValues(); String[] values = pref.getValues(); if (dbValues == null || values == null) return true; if (dbValues.length != values.length) return true; for (int ix = 0; ix < values.length; ix++) { if (!values[ix].equals(dbValues[ix])) return true; } return false; }
public void removeApplication(PortletApplication app) throws RegistryException { getPersistenceBrokerTemplate().delete(app); this.preferenceService.removeDefaults(app); }
protected void removeUserPreferencesFromSession() { RequestContextComponent rcc = getRequestContextComponent(); if (rcc != null) { RequestContext rc = rcc.getRequestContext(); if (rc != null) { rc.getRequest().getSession(true).removeAttribute(SESSION_CACHE_KEY); } } }
public void storePortletPreference(org.apache.jetspeed.om.portlet.PortletDefinition portletdefinition, String windowId, String userName, Map<String, PortletPreference> map) { String appName = portletdefinition.getApplication().getName(); String portletName = portletdefinition.getPortletName(); storePortletPreference(appName, portletName, windowId, userName, map); }
public void registerPortletApplication(PortletApplication newApp) throws RegistryException { getPersistenceBrokerTemplate().store(newApp); this.preferenceService.storeDefaults(newApp); this.restoreClones(newApp); }
@Override public void removeUserPreferences(String user) { Criteria c = new Criteria(); c.addEqualTo(DTYPE, DISCRIMINATOR_USER); c.addEqualTo(USER_NAME, user); QueryByCriteria query = QueryFactory.newQuery(DatabasePreference.class, c); getPersistenceBrokerTemplate().deleteByQuery(query); }