store a copy of the settings in memory

This commit is contained in:
Athou
2013-04-30 07:11:57 +02:00
parent c36e684440
commit aef82fe690

View File

@@ -1,24 +1,31 @@
package com.commafeed.backend.services; package com.commafeed.backend.services;
import javax.ejb.Stateless; import javax.ejb.Singleton;
import javax.inject.Inject; import javax.inject.Inject;
import com.commafeed.backend.dao.ApplicationSettingsDAO; import com.commafeed.backend.dao.ApplicationSettingsDAO;
import com.commafeed.backend.model.ApplicationSettings; import com.commafeed.backend.model.ApplicationSettings;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
@Stateless @Singleton
public class ApplicationSettingsService { public class ApplicationSettingsService {
@Inject @Inject
ApplicationSettingsDAO applicationSettingsDAO; ApplicationSettingsDAO applicationSettingsDAO;
private ApplicationSettings settings;
public void save(ApplicationSettings settings) { public void save(ApplicationSettings settings) {
this.settings = settings;
applicationSettingsDAO.saveOrUpdate(settings); applicationSettingsDAO.saveOrUpdate(settings);
} }
public ApplicationSettings get() { public ApplicationSettings get() {
return Iterables.getFirst(applicationSettingsDAO.findAll(), null); if (settings == null) {
settings = Iterables.getFirst(applicationSettingsDAO.findAll(),
null);
}
return settings;
} }
} }