@SuppressWarnings( "unchecked" ) public static <T> T getUserSetting( UserSettingKey key, Class<T> klass ) { return threadUserSettings.get() != null ? (T) threadUserSettings.get().get( key.getName() ) : null; }
public static Serializable getUserSetting( UserSettingKey key ) { return threadUserSettings.get() != null ? threadUserSettings.get().get( key.getName() ) : null; }
public static Optional<UserSettingKey> getByName( String name ) { for ( UserSettingKey setting : UserSettingKey.values() ) { if ( setting.getName().equals( name ) ) { return Optional.of( setting ); } } return Optional.empty(); }
public static void setUserSetting( UserSettingKey key, Serializable value ) { UserContext.setUserSetting( key.getName(), value ); }
@Override @Transactional public void deleteUserSetting( UserSettingKey key, User user ) { UserSetting setting = userSettingStore.getUserSetting( user, key.getName() ); if ( setting != null ) { deleteUserSetting( setting ); } }
@Override public Map<String, Serializable> getUserSettingsWithFallbackByUserAsMap( User user, Set<UserSettingKey> userSettingKeys, boolean useFallback ) { Map<String, Serializable> result = Sets.newHashSet( getUserSettings( user ) ).stream() .filter( userSetting -> userSetting != null && userSetting.getName() != null && userSetting.getValue() != null ) .collect( Collectors.toMap( UserSetting::getName, UserSetting::getValue ) ); userSettingKeys.forEach( userSettingKey -> { if ( !result.containsKey( userSettingKey.getName() ) ) { Optional<SettingKey> systemSettingKey = SettingKey.getByName( userSettingKey.getName() ); if ( useFallback && systemSettingKey.isPresent() ) { result.put( userSettingKey.getName(), systemSettingManager.getSystemSetting( systemSettingKey.get() ) ); } else { result.put( userSettingKey.getName(), null ); } } } ); return result; }
public UserSetting doInTransaction( TransactionStatus status ) { return userSettingStore.getUserSetting( userCredentials.getUserInfo(), key.getName() ); } } );
private Optional<Serializable> getUserSetting( UserSettingKey key, Optional<User> user ) { if ( key == null ) { return Optional.empty(); } String username = user.isPresent() ? user.get().getUsername() : currentUserService.getCurrentUsername(); String cacheKey = getCacheKey( key.getName(), username ); Optional<Serializable> result = userSettingCache .get( cacheKey, c -> getUserSettingOptional( key, username ).orElse( null ) ); if ( !result.isPresent() && NAME_SETTING_KEY_MAP.containsKey( key.getName() ) ) { return Optional.ofNullable( systemSettingManager.getSystemSetting( NAME_SETTING_KEY_MAP.get( key.getName() ) ) ); } else { return result; } }
@Override @Transactional public void deleteUserSetting( UserSettingKey key ) { User currentUser = currentUserService.getCurrentUser(); if ( currentUser != null ) { UserSetting setting = userSettingStore.getUserSetting( currentUser, key.getName() ); if ( setting != null ) { deleteUserSetting( setting ); } } }
@Override @Transactional public void saveUserSetting( UserSettingKey key, Serializable value, User user ) { if ( user == null ) { return; } userSettingCache.invalidate( getCacheKey( key.getName(), user.getUsername() ) ); UserSetting userSetting = userSettingStore.getUserSetting( user, key.getName() ); if ( userSetting == null ) { userSetting = new UserSetting( user, key.getName(), value ); userSettingStore.addUserSetting( userSetting ); } else { userSetting.setValue( value ); userSettingStore.updateUserSetting( userSetting ); } }