package controllers.origo.admin;
import models.origo.core.Settings;
import models.origo.core.SettingsKeys;
import org.apache.commons.lang.StringUtils;
import origo.listeners.DefaultDashboardProvider;
import origo.listeners.TinyMCEEditorProvider;
import origo.themes.AdminTheme;
import play.jobs.Job;
import play.jobs.OnApplicationStart;
@OnApplicationStart
public class AdminBootStrap extends Job {
public void doJob() {
Settings settings = Settings.load();
setValueIfMissing(settings, SettingsKeys.Admin.DASHBOARD_TYPE, DefaultDashboardProvider.TYPE);
setValueIfMissing(settings, SettingsKeys.Admin.THEME_VARIANT, AdminTheme.DEFAULT_VARIANT_NAME);
setValueIfMissing(settings, SettingsKeys.Admin.RICHTEXT_EDITOR_TYPE, TinyMCEEditorProvider.EDITOR_TYPE);
settings.save();
}
private void setValueIfMissing(Settings settings, String settingKey, String newValue) {
if (StringUtils.isBlank(settings.getValue(settingKey))) {
settings.setValue(settingKey, newValue);
}
}
}