package net.jeeeyul.eclipse.themes.ui.preference.internal; import java.util.Properties; import net.jeeeyul.eclipse.themes.JThemesCore; import net.jeeeyul.eclipse.themes.ui.preference.JTPConstants; import net.jeeeyul.eclipse.themes.ui.preference.JThemePreferenceStore; import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPreset; import net.jeeeyul.eclipse.themes.ui.preference.preset.IJTPresetManager; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; /** * loads default.epf file and sets its content to default settings for theme * plugin. * * @author Jeeeyul * @since 2.0 */ public class JTPreferenceInitializer extends AbstractPreferenceInitializer { @Override public void initializeDefaultPreferences() { JThemePreferenceStore store = JThemesCore.getDefault().getPreferenceStore(); initializeDefaultPreset(store); store.setDefault(JTPConstants.Memento.LAST_CHOOSED_PRESET, IJTPresetManager.DEFAULT_PRESET_ID); } /** * Initialize given {@link JThemePreferenceStore}. * * @param store * store to initialize. */ public void initializeDefaultPreset(JThemePreferenceStore store) { IJTPreset defaultPreset = JThemesCore.getDefault().getPresetManager().getDefaultPreset(); if (defaultPreset == null) { throw new IllegalStateException("Default Preset is not found!"); } Properties props = defaultPreset.getProperties(); for (Object kObj : props.keySet()) { String key = (String) kObj; store.setDefault(key, props.getProperty(key)); } } }