blob: 8430a204dd8d75d2e45510cbd897533e0ed03255 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.ui.preferences.cleanup;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.jdt.internal.corext.fix.CleanUpConstants;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.preferences.PreferencesAccess;
import org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner;
import org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager;
public class CleanUpProfileManager extends ProfileManager {
public static KeySet[] KEY_SETS= {
new KeySet(JavaUI.ID_PLUGIN, new ArrayList<>(JavaPlugin.getDefault().getCleanUpRegistry().getDefaultOptions(CleanUpConstants.DEFAULT_CLEAN_UP_OPTIONS).getKeys()))
};
private final PreferencesAccess fPreferencesAccess;
public CleanUpProfileManager(List<Profile> profiles, IScopeContext context, PreferencesAccess preferencesAccess, IProfileVersioner profileVersioner) {
super(profiles, context, preferencesAccess, profileVersioner, KEY_SETS, CleanUpConstants.CLEANUP_PROFILE, CleanUpConstants.CLEANUP_SETTINGS_VERSION_KEY);
fPreferencesAccess= preferencesAccess;
}
@Override
public Profile getDefaultProfile() {
return getProfile(CleanUpConstants.DEFAULT_PROFILE);
}
@Override
protected void updateProfilesWithName(String oldName, Profile newProfile, boolean applySettings) {
super.updateProfilesWithName(oldName, newProfile, applySettings);
IEclipsePreferences node= fPreferencesAccess.getInstanceScope().getNode(JavaUI.ID_PLUGIN);
String name= node.get(CleanUpConstants.CLEANUP_ON_SAVE_PROFILE, null);
if (name != null && name.equals(oldName)) {
if (newProfile == null) {
node.remove(CleanUpConstants.CLEANUP_ON_SAVE_PROFILE);
} else {
node.put(CleanUpConstants.CLEANUP_ON_SAVE_PROFILE, newProfile.getID());
}
}
}
}