/** * Return true if user uses new workplace.<p> * * @return true if the user users the new workplace */ public boolean usesNewWorkplace() { boolean traditionalWorkplaceExists = OpenCms.getModuleManager().hasModule("org.opencms.workplace.traditional"); if (!traditionalWorkplaceExists) { return true; } else { return !(WORKPLACE_MODE_OLD.equals(getAdditionalPreference(PREF_WORKPLACE_MODE, true))); } }
/** * Gets a configured preference.<p> * * @param cms the cms context * @param key the settings key * @param useDefault true if we want the default value if no value is configured * * @return the preference value */ public static String getAdditionalPreference(CmsObject cms, String key, boolean useDefault) { CmsUser user = cms.getRequestContext().getCurrentUser(); CmsUserSettings settings = new CmsUserSettings(user); return settings.getAdditionalPreference(key, useDefault); }
/** * Stores the given app setting within the users additional info.<p> * * @param cms the cms context * @param type the app setting type, used as the settings key * @param appSettings the settings to store */ public void storeAppSettings(CmsObject cms, Class<? extends I_CmsAppSettings> type, I_CmsAppSettings appSettings) { CmsUser user = cms.getRequestContext().getCurrentUser(); CmsUserSettings settings = new CmsUserSettings(user); String currentSetting = settings.getAdditionalPreference(type.getName(), true); String state = appSettings.getSettingsString(); if (((state == null) && (currentSetting == null)) || ((state != null) && state.equals(currentSetting))) { // nothing changed return; } settings.setAdditionalPreference(type.getName(), state); try { settings.save(cms); } catch (CmsException e) { LOG.error("Failed to store workplace app settings for type " + type.getName(), e); } }
elementView = CmsWorkplace.getWorkplaceSettings(cms, request).getUserSettings().getAdditionalPreference( CmsElementViewPreference.PREFERENCE_NAME, false);
/** * Returns the user app setting of the given type.<p> * * @param cms the cms context * @param type the app setting type * * @return the app setting * * @throws InstantiationException in case instantiating the settings type fails * @throws IllegalAccessException in case the settings default constructor is not accessible */ public <T extends I_CmsAppSettings> T getAppSettings(CmsObject cms, Class<T> type) throws InstantiationException, IllegalAccessException { CmsUser user = cms.getRequestContext().getCurrentUser(); CmsUserSettings settings = new CmsUserSettings(user); String settingsString = settings.getAdditionalPreference(type.getName(), true); T result = type.newInstance(); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(settingsString)) { result.restoreSettings(settingsString); } return result; }
try { CmsUserSettings settings = new CmsUserSettings(A_CmsUI.getCmsObject()); String viewSettingStr = settings.getAdditionalPreference( CmsElementViewPreference.EXPLORER_PREFERENCE_NAME, true);
String reuseModeString = getWorkplaceSettings().getUserSettings().getAdditionalPreference( "elementReuseMode", true);
data = new CmsGalleryDataBean(); boolean galleryShowInvalidDefault = Boolean.parseBoolean( getWorkplaceSettings().getUserSettings().getAdditionalPreference( PREF_GALLERY_SHOW_INVALID_DEFAULT, true));
data.setResultViewType(readResultViewType()); boolean galleryShowInvalidDefault = Boolean.parseBoolean( getWorkplaceSettings().getUserSettings().getAdditionalPreference(PREF_GALLERY_SHOW_INVALID_DEFAULT, true)); data.setIncludeExpiredDefault(galleryShowInvalidDefault);