/*******************************************************************************
* Copyright (c) 2016 Pivotal Software, Inc.
* 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
*
* Contributors:
* Pivotal Software, Inc. - initial API and implementation
*******************************************************************************/
package org.springsource.ide.eclipse.commons.internal.ui;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.ui.IStartup;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
/**
* Add YAML files to AnyEditTools preferences exclusion list by default.
*
* TODO: Remove once AnyEditTools 2.6.2 or higher is available
*
* @author Alex Boyko
*
*/
public class AnyEditToolsPrefsInitializer implements IStartup {
private static final String ANY_EDIT__BUNDLE_NAME = "de.loskutov.anyedit.AnyEditTools";
private static final String ANY_EDIT__PREF_ACTIVE_FILTERS_LIST = "activeContentFilterList";
private static final String YAML_FILTER = "*.yml";
@Override
public void earlyStartup() {
initAnyEditPreferences();
}
private static void initAnyEditPreferences() {
if (Platform.getBundle(ANY_EDIT__BUNDLE_NAME) != null) {
ScopedPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, ANY_EDIT__BUNDLE_NAME);
StringBuilder defaultExclusionList = new StringBuilder(store.getDefaultString(ANY_EDIT__PREF_ACTIVE_FILTERS_LIST));
if (defaultExclusionList.indexOf(YAML_FILTER) == -1) {
store.setDefault(ANY_EDIT__PREF_ACTIVE_FILTERS_LIST, defaultExclusionList.append(",").append(YAML_FILTER).toString());
}
}
}
}