Search in sources :

Example 1 with FormatterProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager in project eclipse-cs by checkstyle.

the class FormatterConfigWriter method writeFormatterSettings.

/**
 * Method for writing all formatter-settings to disc.
 *
 * @param settings
 *          All the settings.
 */
private void writeFormatterSettings(final Map<String, String> settings) {
    PreferencesAccess access = PreferencesAccess.getOriginalPreferences();
    IScopeContext instanceScope = access.getInstanceScope();
    IScopeContext scope = access.getProjectScope(mProject);
    IProfileVersioner versioner = new ProfileVersioner();
    ProfileStore profilesStore = new FormatterProfileStore(versioner);
    try {
        List<Profile> profiles = profilesStore.readProfiles(instanceScope);
        if (profiles == null) {
            profiles = new ArrayList<Profile>();
        }
        ProfileManager manager = new FormatterProfileManager(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 formatter profile");
    } catch (BackingStoreException e) {
        CheckstyleLog.log(e, "Error storing formatter 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) 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) CleanUpProfileVersioner(org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner) ProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileVersioner) IProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner) CoreException(org.eclipse.core.runtime.CoreException) FormatterProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager) IProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)

Example 2 with FormatterProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager in project mdw-designer by CenturyLinkCloud.

the class WorkspaceConfigurator method setFormatter.

protected void setFormatter() {
    IScopeContext instanceScope = InstanceScope.INSTANCE;
    IEclipsePreferences uiPrefs = instanceScope.getNode(JavaUI.ID_PLUGIN);
    if (getWorkspaceConfig().getCodeFormatter().equals(WorkspaceConfig.CODE_FORMATTERS[0]))
        uiPrefs.put("formatter_profile", "_CenturyLinkIT");
    else
        uiPrefs.put("formatter_profile", "_MDWCodeFormatter");
    try {
        uiPrefs.flush();
        uiPrefs.sync();
        IProfileVersioner profileVersioner = new ProfileVersioner();
        ProfileStore profileStore = new FormatterProfileStore(profileVersioner);
        List<ProfileManager.Profile> profiles = profileStore.readProfiles(instanceScope);
        if (profiles == null)
            profiles = profileStore.readProfiles(DefaultScope.INSTANCE);
        if (profiles == null)
            profiles = new ArrayList<>();
        WorkingCopyManager workingCopyManager = new WorkingCopyManager();
        PreferencesAccess access = PreferencesAccess.getWorkingCopyPreferences(workingCopyManager);
        ProfileManager profileManager = new FormatterProfileManager(profiles, instanceScope, access, profileVersioner);
        profileManager.commitChanges(instanceScope);
    } catch (Exception ex) {
        PluginMessages.uiError(getShell(), ex, "Set Code Formatter");
    }
}
Also used : FormatterProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager) ProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager) IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) ArrayList(java.util.ArrayList) PreferencesAccess(org.eclipse.jdt.internal.ui.preferences.PreferencesAccess) ProfileStore(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileStore) FormatterProfileStore(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore) FormatterProfileStore(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore) CoreException(org.eclipse.core.runtime.CoreException) OperationCanceledException(org.eclipse.core.runtime.OperationCanceledException) IOException(java.io.IOException) IScopeContext(org.eclipse.core.runtime.preferences.IScopeContext) WorkingCopyManager(org.eclipse.ui.preferences.WorkingCopyManager) ProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileVersioner) IProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner) FormatterProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager) IProfileVersioner(org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)

Aggregations

CoreException (org.eclipse.core.runtime.CoreException)2 IScopeContext (org.eclipse.core.runtime.preferences.IScopeContext)2 PreferencesAccess (org.eclipse.jdt.internal.ui.preferences.PreferencesAccess)2 FormatterProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager)2 FormatterProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore)2 IProfileVersioner (org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)2 ProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager)2 ProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileStore)2 ProfileVersioner (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileVersioner)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 OperationCanceledException (org.eclipse.core.runtime.OperationCanceledException)1 IEclipsePreferences (org.eclipse.core.runtime.preferences.IEclipsePreferences)1 CleanUpProfileManager (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileManager)1 CleanUpProfileVersioner (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner)1 CustomProfile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.CustomProfile)1 Profile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.Profile)1 WorkingCopyManager (org.eclipse.ui.preferences.WorkingCopyManager)1 BackingStoreException (org.osgi.service.prefs.BackingStoreException)1