Search in sources :

Example 1 with CleanUpProfileVersioner

use of org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner in project eclipse-cs by checkstyle.

the class FormatterConfigWriter method writeCleanupSettings.

private void writeCleanupSettings(final Map<String, String> settings) {
    PreferencesAccess access = PreferencesAccess.getOriginalPreferences();
    IScopeContext instanceScope = access.getInstanceScope();
    IScopeContext scope = access.getProjectScope(mProject);
    IProfileVersioner versioner = new CleanUpProfileVersioner();
    ProfileStore profilesStore = new ProfileStore(CleanUpConstants.CLEANUP_PROFILES, versioner);
    try {
        List<Profile> profiles = profilesStore.readProfiles(instanceScope);
        if (profiles == null) {
            profiles = new ArrayList<Profile>();
        }
        profiles.addAll(CleanUpPreferenceUtil.getBuiltInProfiles());
        ProfileManager manager = new CleanUpProfileManager(profiles, scope, access, versioner);
        CustomProfile myProfile = (CustomProfile) manager.getProfile(ProfileManager.ID_PREFIX + mNewProfileName);
        if (myProfile == null) {
            // take current settings and create new profile
            Profile current = manager.getSelected();
            myProfile = new CustomProfile(mNewProfileName, current.getSettings(), versioner.getCurrentVersion(), versioner.getProfileKind());
            manager.addProfile(myProfile);
        }
        Map<String, String> joinedSettings = myProfile.getSettings();
        joinedSettings.putAll(settings);
        myProfile.setSettings(joinedSettings);
        manager.setSelected(myProfile);
        // writes profiles to the workspace profile store
        profilesStore.writeProfiles(manager.getSortedProfiles(), instanceScope);
        // commits changes to the project profile settings
        manager.commitChanges(scope);
        scope.getNode(JDT_UI_PLUGINID).flush();
        scope.getNode(JavaCore.PLUGIN_ID).flush();
        if (scope != instanceScope) {
            instanceScope.getNode(JDT_UI_PLUGINID).flush();
            instanceScope.getNode(JavaCore.PLUGIN_ID).flush();
        }
    } catch (CoreException e) {
        CheckstyleLog.log(e, "Error storing cleanup profile");
    } catch (BackingStoreException e) {
        CheckstyleLog.log(e, "Error storing cleanup profile");
    }
}
Also used : FormatterProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager) ProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager) CleanUpProfileManager(org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileManager) BackingStoreException(org.osgi.service.prefs.BackingStoreException) PreferencesAccess(org.eclipse.jdt.internal.ui.preferences.PreferencesAccess) CustomProfile(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.CustomProfile) ProfileStore(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileStore) FormatterProfileStore(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore) Profile(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.Profile) CustomProfile(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.CustomProfile) IScopeContext(org.eclipse.core.runtime.preferences.IScopeContext) CleanUpProfileManager(org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileManager) CoreException(org.eclipse.core.runtime.CoreException) CleanUpProfileVersioner(org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner) IProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)

Aggregations

CoreException (org.eclipse.core.runtime.CoreException)1 IScopeContext (org.eclipse.core.runtime.preferences.IScopeContext)1 PreferencesAccess (org.eclipse.jdt.internal.ui.preferences.PreferencesAccess)1 CleanUpProfileManager (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileManager)1 CleanUpProfileVersioner (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner)1 FormatterProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager)1 FormatterProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore)1 IProfileVersioner (org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)1 ProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager)1 CustomProfile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.CustomProfile)1 Profile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.Profile)1 ProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileStore)1 BackingStoreException (org.osgi.service.prefs.BackingStoreException)1