diff options
author | Uwe Stieber | 2011-12-17 17:40:53 +0000 |
---|---|---|
committer | Uwe Stieber | 2011-12-17 17:40:53 +0000 |
commit | 5b5dcf236034b834b3772f3b3bc9145a54c8d2b4 (patch) | |
tree | e1dbc0e07a8c7d73b3a77bdb3084ce7abcaf7bd1 /target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core | |
parent | 7160dea98dd3515cbd8002965e721e028fa2e236 (diff) | |
download | org.eclipse.tcf-5b5dcf236034b834b3772f3b3bc9145a54c8d2b4.tar.gz org.eclipse.tcf-5b5dcf236034b834b3772f3b3bc9145a54c8d2b4.tar.xz org.eclipse.tcf-5b5dcf236034b834b3772f3b3bc9145a54c8d2b4.zip |
Target Explorer: Add TCF logging preference page
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core')
6 files changed, 46 insertions, 30 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/activator/CoreBundleActivator.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/activator/CoreBundleActivator.java index ec97a63bf..340226d45 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/activator/CoreBundleActivator.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/activator/CoreBundleActivator.java @@ -10,6 +10,7 @@ package org.eclipse.tcf.te.tcf.log.core.activator;
import org.eclipse.core.runtime.Plugin;
+import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
import org.eclipse.tcf.te.runtime.tracing.TraceHandler;
import org.osgi.framework.BundleContext;
@@ -19,6 +20,8 @@ import org.osgi.framework.BundleContext; public class CoreBundleActivator extends Plugin {
// The shared instance
private static CoreBundleActivator plugin;
+ // The scoped preferences instance
+ private static ScopedEclipsePreferences scopedPreferences = null;
// The trace handler instance
private static TraceHandler traceHandler;
@@ -42,6 +45,16 @@ public class CoreBundleActivator extends Plugin { }
/**
+ * Return the scoped preferences for this plugin.
+ */
+ public static ScopedEclipsePreferences getScopedPreferences() {
+ if (scopedPreferences == null) {
+ scopedPreferences = new ScopedEclipsePreferences(getUniqueIdentifier());
+ }
+ return scopedPreferences;
+ }
+
+ /**
* Returns the bundles trace handler.
*
* @return The bundles trace handler.
@@ -68,6 +81,8 @@ public class CoreBundleActivator extends Plugin { @Override
public void stop(BundleContext context) throws Exception {
plugin = null;
+ scopedPreferences = null;
+ traceHandler = null;
super.stop(context);
}
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/interfaces/IPreferenceKeys.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/interfaces/IPreferenceKeys.java index 0490269cb..d478f8edc 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/interfaces/IPreferenceKeys.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/interfaces/IPreferenceKeys.java @@ -25,6 +25,12 @@ public interface IPreferenceKeys { public final String PREF_LOGGING_ENABLED = PREFIX + "enabled"; //$NON-NLS-1$ /** + * If set to <code>true</code>, the logger will send events to the monitor + * to allow following the back-end communication within the UI. + */ + public final String PREF_MONITOR_ENABLED = PREFIX + "monitor.enabled"; //$NON-NLS-1$ + + /** * If set to <code>true</code>, locator heart beat events are logged. */ public final String PREF_SHOW_HEARTBEATS = PREFIX + "show.heartbeats"; //$NON-NLS-1$ diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/LogManager.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/LogManager.java index 810da446e..9c475542e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/LogManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/LogManager.java @@ -19,19 +19,18 @@ import java.util.Map; import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.osgi.util.NLS;
import org.eclipse.tcf.protocol.IChannel;
import org.eclipse.tcf.protocol.IPeer;
import org.eclipse.tcf.protocol.Protocol;
+import org.eclipse.tcf.te.tcf.core.Tcf;
+import org.eclipse.tcf.te.tcf.core.interfaces.listeners.IChannelStateChangeListener;
+import org.eclipse.tcf.te.tcf.core.interfaces.listeners.IProtocolStateChangeListener;
import org.eclipse.tcf.te.tcf.log.core.activator.CoreBundleActivator;
import org.eclipse.tcf.te.tcf.log.core.interfaces.IPreferenceKeys;
import org.eclipse.tcf.te.tcf.log.core.internal.listener.ChannelStateChangeListener;
import org.eclipse.tcf.te.tcf.log.core.internal.listener.ChannelTraceListener;
import org.eclipse.tcf.te.tcf.log.core.internal.nls.Messages;
-import org.eclipse.tcf.te.tcf.core.Tcf;
-import org.eclipse.tcf.te.tcf.core.interfaces.listeners.IChannelStateChangeListener;
-import org.eclipse.tcf.te.tcf.core.interfaces.listeners.IProtocolStateChangeListener;
/**
@@ -102,8 +101,8 @@ public final class LogManager implements IProtocolStateChangeListener { * preference settings
*/
private void initializeFromPreferences() {
- String fileSize = Platform.getPreferencesService().getString(CoreBundleActivator.getUniqueIdentifier(),
- IPreferenceKeys.PREF_MAX_FILE_SIZE, "5M", null); //$NON-NLS-1$
+ String fileSize = CoreBundleActivator.getScopedPreferences().getString(IPreferenceKeys.PREF_MAX_FILE_SIZE);
+ if (fileSize == null) fileSize = "5M"; //$NON-NLS-1$
try {
// If the last character is either K, M or G -> convert to bytes
@@ -128,8 +127,8 @@ public final class LogManager implements IProtocolStateChangeListener { maxFileSize = 5242880L;
}
- maxInCycle = Platform.getPreferencesService().getInt(CoreBundleActivator.getUniqueIdentifier(),
- IPreferenceKeys.PREF_MAX_FILES_IN_CYCLE, 5, null);
+ maxInCycle = CoreBundleActivator.getScopedPreferences().getInt(IPreferenceKeys.PREF_MAX_FILES_IN_CYCLE);
+ if (maxInCycle <= 0) maxInCycle = 5;
}
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/PreferencesInitializer.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/PreferencesInitializer.java index 4c7bfa0b1..c335abaf5 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/PreferencesInitializer.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/PreferencesInitializer.java @@ -10,8 +10,7 @@ package org.eclipse.tcf.te.tcf.log.core.internal; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.core.runtime.preferences.DefaultScope; -import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences; import org.eclipse.tcf.te.tcf.log.core.activator.CoreBundleActivator; import org.eclipse.tcf.te.tcf.log.core.interfaces.IPreferenceKeys; @@ -33,19 +32,21 @@ public class PreferencesInitializer extends AbstractPreferenceInitializer { */ @Override public void initializeDefaultPreferences() { - // Get the bundles preferences manager - IEclipsePreferences prefs = DefaultScope.INSTANCE.getNode(CoreBundleActivator.getUniqueIdentifier()); + // Get the bundles scoped preferences store + ScopedEclipsePreferences prefs = CoreBundleActivator.getScopedPreferences(); if (prefs != null) { - // [Hidden] Enable back-end communication logging: default on - prefs.putBoolean(IPreferenceKeys.PREF_LOGGING_ENABLED, true); - // [Hidden] Heat beat events: default off - prefs.putBoolean(IPreferenceKeys.PREF_SHOW_HEARTBEATS, false); - // [Hidden] Framework events: default off - prefs.putBoolean(IPreferenceKeys.PREF_SHOW_FRAMEWORK_EVENTS, false); - // [Hidden] Maximum log file size in bytes: default 5M - prefs.put(IPreferenceKeys.PREF_MAX_FILE_SIZE, "5M"); //$NON-NLS-1$ - // [Hidden] Maximum number of log files in cycle: default 5 - prefs.putInt(IPreferenceKeys.PREF_MAX_FILES_IN_CYCLE, 5); + // Enable back-end communication logging: default on + prefs.putDefaultBoolean(IPreferenceKeys.PREF_LOGGING_ENABLED, true); + // Enable back-end communication monitor: default off + prefs.putDefaultBoolean(IPreferenceKeys.PREF_MONITOR_ENABLED, false); + // Heat beat events: default off + prefs.putDefaultBoolean(IPreferenceKeys.PREF_SHOW_HEARTBEATS, false); + // Framework events: default off + prefs.putDefaultBoolean(IPreferenceKeys.PREF_SHOW_FRAMEWORK_EVENTS, false); + // Maximum log file size in bytes: default 5M + prefs.putDefaultString(IPreferenceKeys.PREF_MAX_FILE_SIZE, "5M"); //$NON-NLS-1$ + // Maximum number of log files in cycle: default 5 + prefs.putDefaultInt(IPreferenceKeys.PREF_MAX_FILES_IN_CYCLE, 5); } } } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListener.java index 2ffba07b7..7ff7d24f1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListener.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListener.java @@ -16,7 +16,6 @@ import java.text.SimpleDateFormat; import java.util.Date; import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.Platform; import org.eclipse.osgi.util.NLS; import org.eclipse.tcf.core.AbstractChannel.TraceListener; import org.eclipse.tcf.protocol.IChannel; @@ -119,14 +118,12 @@ public class ChannelTraceListener implements TraceListener { */ private void doLogMessage(final char type, String token, String service, String name, byte[] data, boolean received) { // Filter out the heart beat messages if not overwritten by the preferences - boolean showHeartbeats = Platform.getPreferencesService().getBoolean(CoreBundleActivator.getUniqueIdentifier(), - IPreferenceKeys.PREF_SHOW_HEARTBEATS, false, null); + boolean showHeartbeats = CoreBundleActivator.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_SHOW_HEARTBEATS); if (!showHeartbeats && name != null && name.toLowerCase().contains("heartbeat")) { //$NON-NLS-1$ return; } // Filter out framework events if not overwritten by the preferences - boolean frameworkEvents = Platform.getPreferencesService().getBoolean(CoreBundleActivator.getUniqueIdentifier(), - IPreferenceKeys.PREF_SHOW_FRAMEWORK_EVENTS, false, null); + boolean frameworkEvents = CoreBundleActivator.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_SHOW_FRAMEWORK_EVENTS); if (!frameworkEvents && type == 'F') { return; } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListenerManager.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListenerManager.java index fd87fdf67..28607bc1b 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListenerManager.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.log.core/src/org/eclipse/tcf/te/tcf/log/core/internal/listener/ChannelTraceListenerManager.java @@ -16,7 +16,6 @@ import java.util.HashMap; import java.util.Map; import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.Platform; import org.eclipse.osgi.util.NLS; import org.eclipse.tcf.core.AbstractChannel; import org.eclipse.tcf.protocol.IChannel; @@ -74,8 +73,7 @@ public class ChannelTraceListenerManager { if (!(channel instanceof AbstractChannel)) return; // Get the preference key if or if not logging is enabled - boolean loggingEnabled = Platform.getPreferencesService().getBoolean(CoreBundleActivator.getUniqueIdentifier(), - IPreferenceKeys.PREF_LOGGING_ENABLED, false, null); + boolean loggingEnabled = CoreBundleActivator.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_LOGGING_ENABLED); // If false, we are done here and wont create any console or trace listener. if (!loggingEnabled) return; |