package de.dhbw.humbuch.viewmodel;
import java.util.HashMap;
import java.util.Map;
import com.google.inject.Inject;
import de.davherrmann.mvvm.BasicState;
import de.davherrmann.mvvm.State;
import de.dhbw.humbuch.model.DAO;
import de.dhbw.humbuch.model.entity.SettingsEntry;
import de.dhbw.humbuch.model.entity.User;
/**
* Provides a sessionscoped set of properties.
*
* @author David Vitt
*
*/
public class Properties {
private DAO<SettingsEntry> daoSettingsEnty;
public final State<User> currentUser = new BasicState<>(User.class);
public final State<Map<String, String>> settings = new BasicState<>(Map.class);
/**
* Constructor
*
* @param daoSettingsEntry
*/
@Inject
public Properties(DAO<SettingsEntry> daoSettingsEntry) {
this.daoSettingsEnty = daoSettingsEntry;
setSettings();
}
private void setSettings() {
Map<String, String> settingsMap = new HashMap<>();
for(SettingsEntry entry : daoSettingsEnty.findAll()) {
settingsMap.put(entry.getKey(), entry.getValue());
}
settings.set(settingsMap);
}
}