package com.aptana.rdt.internal.core;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import com.aptana.rdt.AptanaRDTPlugin;
import com.aptana.rdt.internal.parser.warnings.LintOptions;
public class AptanaRDTPreferenceInitializer extends AbstractPreferenceInitializer
{
public void initializeDefaultPreferences()
{
Set<String> optionNames = AptanaRDTPlugin.getDefault().optionNames;
// Lint visitor settings
Map<String, String> defaultOptionsMap = new LintOptions().getMap(); // compiler defaults
// Store default values to default preferences
IEclipsePreferences defaultPreferences = new DefaultScope().getNode(AptanaRDTPlugin.PLUGIN_ID);
for (Iterator<Map.Entry<String, String>> iter = defaultOptionsMap.entrySet().iterator(); iter.hasNext();)
{
Map.Entry<String, String> entry = (Map.Entry<String, String>) iter.next();
String optionName = (String) entry.getKey();
defaultPreferences.put(optionName, (String) entry.getValue());
optionNames.add(optionName);
}
AptanaRDTPlugin.getDefault().optionsCache = null;
// do duplicate code check by default
defaultPreferences.putBoolean(AptanaRDTPlugin.DUPLICATE_CODE_CHECK_ENABLED, true);
defaultPreferences.putInt(AptanaRDTPlugin.DUPLICATE_CODE_MASS_THRESHOLD, 20);
}
}