Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Fedorenko2014-04-23 11:27:08 +0000
committerIgor Fedorenko2014-04-23 14:30:39 +0000
commit1ca0075f7feb451bc87c63d2b926955430a9056b (patch)
tree68b85e8d43eeb777dea3a2789246966136a93cd0 /org.eclipse.m2e.core
parent67fce5dbb00d72f2d951a4f61b0c73631b52f080 (diff)
downloadm2e-core-1ca0075f7feb451bc87c63d2b926955430a9056b.tar.gz
m2e-core-1ca0075f7feb451bc87c63d2b926955430a9056b.tar.xz
m2e-core-1ca0075f7feb451bc87c63d2b926955430a9056b.zip
433224 expose global settings.xml in m2e preferences
Change-Id: Id02badd679ca56f651ed374b49cf5c67881e6e55 Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
Diffstat (limited to 'org.eclipse.m2e.core')
-rw-r--r--org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenConfigurationImpl.java46
-rw-r--r--org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceInitializer.java20
2 files changed, 37 insertions, 29 deletions
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenConfigurationImpl.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenConfigurationImpl.java
index a07321ae..31998624 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenConfigurationImpl.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenConfigurationImpl.java
@@ -72,8 +72,7 @@ public class MavenConfigurationImpl implements IMavenConfiguration, IPreferenceC
((IEclipsePreferences) preferencesLookup[0].parent()).removeNodeChangeListener(this);
preferencesLookup[0].removePreferenceChangeListener(this);
}
- //Don't use InstanceScope.INSTANCE to maintain compatibility with helios
- preferencesLookup[0] = new InstanceScope().getNode(IMavenConstants.PLUGIN_ID);
+ preferencesLookup[0] = InstanceScope.INSTANCE.getNode(IMavenConstants.PLUGIN_ID);
((IEclipsePreferences) preferencesLookup[0].parent()).addNodeChangeListener(this);
preferencesLookup[0].addPreferenceChangeListener(this);
@@ -81,8 +80,7 @@ public class MavenConfigurationImpl implements IMavenConfiguration, IPreferenceC
((IEclipsePreferences) preferencesLookup[1].parent()).removeNodeChangeListener(this);
preferencesLookup[1].removePreferenceChangeListener(this);
}
- //Don't use DefaultScope.INSTANCE to maintain compatibility with helios
- preferencesLookup[1] = new DefaultScope().getNode(IMavenConstants.PLUGIN_ID);
+ preferencesLookup[1] = DefaultScope.INSTANCE.getNode(IMavenConstants.PLUGIN_ID);
((IEclipsePreferences) preferencesLookup[1].parent()).addNodeChangeListener(this);
}
@@ -126,17 +124,39 @@ public class MavenConfigurationImpl implements IMavenConfiguration, IPreferenceC
}
public void setUserSettingsFile(String settingsFile) throws CoreException {
- preferencesLookup[0].put(MavenPreferenceConstants.P_USER_SETTINGS_FILE, nvl(settingsFile));
- preferenceStore.applyPreferences(preferencesLookup[0], new IPreferenceFilter[] {getPreferenceFilter()});
+ settingsFile = trim(settingsFile);
+ if(!eq(settingsFile, preferencesLookup[0].get(MavenPreferenceConstants.P_USER_SETTINGS_FILE, null))) {
+ if(settingsFile != null) {
+ preferencesLookup[0].put(MavenPreferenceConstants.P_USER_SETTINGS_FILE, settingsFile);
+ } else {
+ preferencesLookup[0].remove(MavenPreferenceConstants.P_USER_SETTINGS_FILE);
+ }
+ preferenceStore.applyPreferences(preferencesLookup[0], new IPreferenceFilter[] {getPreferenceFilter()});
+ }
}
public void setGlobalSettingsFile(String globalSettingsFile) throws CoreException {
- preferencesLookup[0].put(MavenPreferenceConstants.P_GLOBAL_SETTINGS_FILE, nvl(globalSettingsFile));
- preferenceStore.applyPreferences(preferencesLookup[0], new IPreferenceFilter[] {getPreferenceFilter()});
+ globalSettingsFile = trim(globalSettingsFile);
+ if(!eq(globalSettingsFile, preferencesLookup[0].get(MavenPreferenceConstants.P_GLOBAL_SETTINGS_FILE, null))) {
+ if(globalSettingsFile != null) {
+ preferencesLookup[0].put(MavenPreferenceConstants.P_GLOBAL_SETTINGS_FILE, globalSettingsFile);
+ } else {
+ preferencesLookup[0].remove(MavenPreferenceConstants.P_GLOBAL_SETTINGS_FILE);
+ }
+ preferenceStore.applyPreferences(preferencesLookup[0], new IPreferenceFilter[] {getPreferenceFilter()});
+ }
}
- private static String nvl(String s) {
- return s == null ? "" : s; //$NON-NLS-1$
+ private boolean eq(String a, String b) {
+ return a != null ? a.equals(b) : b == null;
+ }
+
+ private String trim(String str) {
+ if(str == null) {
+ return null;
+ }
+ str = str.trim();
+ return !str.isEmpty() ? str : null;
}
public boolean isUpdateProjectsOnStartup() {
@@ -211,7 +231,11 @@ public class MavenConfigurationImpl implements IMavenConfiguration, IPreferenceC
}
public void setWorkspaceLifecycleMappingMetadataFile(String location) throws CoreException {
- preferencesLookup[0].put(MavenPreferenceConstants.P_WORKSPACE_MAPPINGS_LOCATION, nvl(location));
+ if(location != null) {
+ preferencesLookup[0].put(MavenPreferenceConstants.P_WORKSPACE_MAPPINGS_LOCATION, location);
+ } else {
+ preferencesLookup[0].remove(MavenPreferenceConstants.P_WORKSPACE_MAPPINGS_LOCATION);
+ }
preferenceStore.applyPreferences(preferencesLookup[0], new IPreferenceFilter[] {getPreferenceFilter()});
}
}
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceInitializer.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceInitializer.java
index ffd7decd..44cb40d3 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceInitializer.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/preferences/MavenPreferenceInitializer.java
@@ -15,8 +15,6 @@ import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.apache.maven.cli.MavenCli;
-
import org.eclipse.m2e.core.internal.IMavenConstants;
@@ -27,19 +25,9 @@ import org.eclipse.m2e.core.internal.IMavenConstants;
*/
public class MavenPreferenceInitializer extends AbstractPreferenceInitializer {
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
+ @Override
public void initializeDefaultPreferences() {
- //Don't use DefaultScope.INSTANCE to maintain compatibility with helios
- IEclipsePreferences store = new DefaultScope().getNode(IMavenConstants.PLUGIN_ID);
-
- store.put(MavenPreferenceConstants.P_USER_SETTINGS_FILE, //
- MavenCli.DEFAULT_USER_SETTINGS_FILE.getAbsolutePath());
-
- store.put(MavenPreferenceConstants.P_GLOBAL_SETTINGS_FILE, ""); //$NON-NLS-1$
+ IEclipsePreferences store = DefaultScope.INSTANCE.getNode(IMavenConstants.PLUGIN_ID);
store.putBoolean(MavenPreferenceConstants.P_DEBUG_OUTPUT, false);
@@ -49,10 +37,6 @@ public class MavenPreferenceInitializer extends AbstractPreferenceInitializer {
store.putBoolean(MavenPreferenceConstants.P_DOWNLOAD_SOURCES, false);
store.putBoolean(MavenPreferenceConstants.P_DOWNLOAD_JAVADOC, false);
- // store.setDefault( MavenPreferenceConstants.P_GLOBAL_CHECKSUM_POLICY, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);
- // store.setDefault( MavenPreferenceConstants.P_UPDATE_SNAPSHOTS, false);
- // store.setDefault( MavenPreferenceConstants.P_CHECK_LATEST_PLUGIN_VERSION, false);
-
store.put(MavenPreferenceConstants.P_OUTPUT_FOLDER, "target-eclipse"); //$NON-NLS-1$
store.put(MavenPreferenceConstants.P_RUNTIMES, ""); //$NON-NLS-1$

Back to the top