Search in sources :

Example 1 with ProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager 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)

Example 2 with ProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager 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 3 with ProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager 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)

Example 4 with ProfileManager

use of org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager in project xtext-xtend by eclipse.

the class XtendFormatterPreview method update.

@Override
public void update(Observable o, Object arg) {
    final ProfileManager manager = (ProfileManager) o;
    final int value = ((Integer) arg).intValue();
    switch(value) {
        case ProfileManager.PROFILE_CREATED_EVENT:
        case ProfileManager.PROFILE_DELETED_EVENT:
        case ProfileManager.SELECTION_CHANGED_EVENT:
        case ProfileManager.SETTINGS_CHANGED_EVENT:
            {
                doUpdate(manager.getSelected().getSettings());
            }
    }
}
Also used : ProfileManager(org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager)

Aggregations

ProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager)4 CoreException (org.eclipse.core.runtime.CoreException)3 IScopeContext (org.eclipse.core.runtime.preferences.IScopeContext)3 PreferencesAccess (org.eclipse.jdt.internal.ui.preferences.PreferencesAccess)3 FormatterProfileManager (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager)3 FormatterProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileStore)3 IProfileVersioner (org.eclipse.jdt.internal.ui.preferences.formatter.IProfileVersioner)3 ProfileStore (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileStore)3 CleanUpProfileManager (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileManager)2 CleanUpProfileVersioner (org.eclipse.jdt.internal.ui.preferences.cleanup.CleanUpProfileVersioner)2 CustomProfile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.CustomProfile)2 Profile (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileManager.Profile)2 ProfileVersioner (org.eclipse.jdt.internal.ui.preferences.formatter.ProfileVersioner)2 BackingStoreException (org.osgi.service.prefs.BackingStoreException)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 WorkingCopyManager (org.eclipse.ui.preferences.WorkingCopyManager)1