/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.sa.catalog;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.emc.storageos.db.client.model.UserPreferences;
import com.emc.sa.model.dao.ModelClient;
import com.emc.storageos.security.authentication.StorageOSUser;
@Component
public class UserPreferenceManagerImpl implements UserPreferenceManager {
private static final Logger log = Logger.getLogger(UserPreferenceManagerImpl.class);
private static final boolean DEFAULT_NOTIFY_BY_EMAIL = false;
private static final String DEFAULT_EMAIL = null;
@Autowired
private ModelClient client;
public UserPreferences getPreferences(StorageOSUser user) {
return getPreferences(user.getUserName());
}
public UserPreferences getPreferences(String userName) {
UserPreferences preferences = client.preferences().findByUserId(userName);
if (preferences == null) {
preferences = new UserPreferences();
preferences.setNotifyByEmail(DEFAULT_NOTIFY_BY_EMAIL);
preferences.setEmail(DEFAULT_EMAIL);
preferences.setUserId(userName);
client.save(preferences);
}
return preferences;
}
public void updatePreferences(UserPreferences userPreferences) {
client.save(userPreferences);
}
}