| /******************************************************************************* |
| * Copyright (c) 2000, 2017 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| *******************************************************************************/ |
| package org.eclipse.dltk.internal.core; |
| |
| import java.util.HashMap; |
| import java.util.HashSet; |
| import java.util.Map; |
| |
| import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; |
| import org.eclipse.core.runtime.preferences.DefaultScope; |
| import org.eclipse.core.runtime.preferences.IEclipsePreferences; |
| import org.eclipse.dltk.core.DLTKCore; |
| |
| /** |
| * DLTKCore eclipse preferences initializer. Initially done in |
| * DLTKCore.initializeDefaultPreferences which was deprecated with new eclipse |
| * preferences mechanism. |
| */ |
| public class DLTKCorePreferenceInitializer |
| extends AbstractPreferenceInitializer { |
| |
| /** |
| * If modified, also modify the method |
| * {@link ModelManager#getDefaultOptionsNoInitialization()} |
| */ |
| @Override |
| public void initializeDefaultPreferences() { |
| // Get options names set |
| HashSet<String> optionNames = ModelManager |
| .getModelManager().optionNames; |
| |
| Map<String, String> defaultOptionsMap = new HashMap<>(); |
| |
| // DLTKCore settings |
| defaultOptionsMap.put(DLTKCore.CORE_INCOMPLETE_BUILDPATH, |
| DLTKCore.ERROR); |
| defaultOptionsMap.put(DLTKCore.CORE_CIRCULAR_BUILDPATH, DLTKCore.ERROR); |
| defaultOptionsMap.put(DLTKCore.CORE_ENABLE_BUILDPATH_EXCLUSION_PATTERNS, |
| DLTKCore.ENABLED); |
| defaultOptionsMap.put(DLTKCore.INDEXER_ENABLED, DLTKCore.ENABLED); |
| defaultOptionsMap.put(DLTKCore.BUILDER_ENABLED, DLTKCore.ENABLED); |
| defaultOptionsMap.put(DLTKCore.CODEASSIST_CAMEL_CASE_MATCH, |
| DLTKCore.ENABLED); |
| |
| // encoding setting comes from resource plug-in |
| optionNames.add(DLTKCore.CORE_ENCODING); |
| |
| // project-specific options |
| optionNames.add(DLTKCore.PROJECT_SOURCE_PARSER_ID); |
| |
| // Store default values to default preferences |
| IEclipsePreferences defaultPreferences = DefaultScope.INSTANCE |
| .getNode(DLTKCore.PLUGIN_ID); |
| for (Map.Entry<String, String> entry : defaultOptionsMap.entrySet()) { |
| String optionName = entry.getKey(); |
| defaultPreferences.put(optionName, entry.getValue()); |
| optionNames.add(optionName); |
| } |
| } |
| } |