public <T> T getDeserializedUserPreferencesByUserId(final Integer userId, final String key, final Class<T> returnClass) { return (T) deserialize(userId, getUserPreferencesByUserId(userId, key, true), false); }
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW, isolation = Isolation.REPEATABLE_READ) public void remove(final Integer userId, final String key) { if (accessChecker.isDemoUser(userId) == true) { // Do nothing. return; } final UserXmlPreferencesDO userPreferencesDO = getUserPreferencesByUserId(userId, key, true); if (userPreferencesDO != null) { emgrFactory.runInTrans(emgr -> { emgr.deleteAttached(emgr.selectByPkAttached(UserXmlPreferencesDO.class, userPreferencesDO.getId())); return null; }); } } }
/** * Please use UserPreferenceHelper instead for correct handling of demo user's preferences! * * @param userId * @return */ public synchronized UserXmlPreferencesMap ensureAndGetUserPreferencesData(final Integer userId) { UserXmlPreferencesMap data = getUserPreferencesData(userId); if (data == null) { data = new UserXmlPreferencesMap(); data.setUserId(userId); final List<UserXmlPreferencesDO> userPrefs = userXmlPreferencesDao.getUserPreferencesByUserId(userId); for (final UserXmlPreferencesDO userPref : userPrefs) { final Object value = userXmlPreferencesDao.deserialize(userId, userPref, true); data.putEntry(userPref.getKey(), value, true); } this.allPreferences.put(userId, data); } return data; }
UserXmlPreferencesDO userPrefs = getUserPreferencesByUserId(userId, key, checkAccess); final Date date = new Date(); if (userPrefs == null) {