Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target_explorer/features/org.eclipse.tcf.te.tcf.feature/feature.xml7
-rw-r--r--target_explorer/features/org.eclipse.tcf.te.tcf.sdk.feature/feature.xml6
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF1
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java83
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java77
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF9
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties3
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties10
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml53
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java461
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java66
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java29
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java46
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java57
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java64
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java3
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties3
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath7
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project28
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs362
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs4
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF21
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties7
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/dtool16/run_exc.gif (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/dtool16/run_exc.gif)bin359 -> 359 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/etool16/run_exc.gif (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/etool16/run_exc.gif)bin379 -> 379 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad.gif (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/eview16/scriptpad.gif)bin937 -> 937 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gifbin0 -> 938 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/obj16/peer.gif (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/target.gif)bin567 -> 567 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties24
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml94
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml17
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java124
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java28
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/internal/ImageConsts.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/ImageConsts.java)8
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java33
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties6
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java)11
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java)2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java)0
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java)0
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java37
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java86
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java52
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF8
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gifbin0 -> 567 bytes
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties10
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml63
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java4
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java4
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java4
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ContentProviderDelegate.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ContentProviderDelegate.java)2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProvider.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProvider.java)2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProviderDelegate.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProviderDelegate.java)6
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ModelListener.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ModelListener.java)2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/images/PeerImageDescriptor.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/images/PeerImageDescriptor.java)2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml2
59 files changed, 1936 insertions, 108 deletions
diff --git a/target_explorer/features/org.eclipse.tcf.te.tcf.feature/feature.xml b/target_explorer/features/org.eclipse.tcf.te.tcf.feature/feature.xml
index 890cf4e5a..cc15b8612 100644
--- a/target_explorer/features/org.eclipse.tcf.te.tcf.feature/feature.xml
+++ b/target_explorer/features/org.eclipse.tcf.te.tcf.feature/feature.xml
@@ -109,4 +109,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.tcf.te.tcf.ui.views"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/target_explorer/features/org.eclipse.tcf.te.tcf.sdk.feature/feature.xml b/target_explorer/features/org.eclipse.tcf.te.tcf.sdk.feature/feature.xml
index c07e7957e..70ccad166 100644
--- a/target_explorer/features/org.eclipse.tcf.te.tcf.sdk.feature/feature.xml
+++ b/target_explorer/features/org.eclipse.tcf.te.tcf.sdk.feature/feature.xml
@@ -99,4 +99,10 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.tcf.te.tcf.ui.views.source"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
</feature>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF
index 6d7c73bcc..4b84f66ea 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF
@@ -13,6 +13,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Export-Package: org.eclipse.tcf.te.tcf.core.scripting.activator;x-internal:=true,
+ org.eclipse.tcf.te.tcf.core.scripting.events,
org.eclipse.tcf.te.tcf.core.scripting.interfaces,
org.eclipse.tcf.te.tcf.core.scripting.launcher,
org.eclipse.tcf.te.tcf.core.scripting.nls;x-internal:=true,
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java
new file mode 100644
index 000000000..d4145a9bb
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.core.scripting.events;
+
+import java.util.EventObject;
+
+/**
+ * Script event implementation.
+ */
+public class ScriptEvent extends EventObject {
+ private static final long serialVersionUID = -5350037587555199985L;
+
+ /**
+ * Script event types.
+ */
+ public static enum Type { START, OUTPUT, STOP }
+
+ /**
+ * Immutable script event message.
+ */
+ public static final class Message {
+ /** The message type */
+ public final char type;
+ /** The message text */
+ public final String text;
+
+ /**
+ * Constructor.
+ */
+ public Message(char type, String text) {
+ this.type = type;
+ this.text = text;
+ }
+ }
+
+
+ private Type type;
+ private Message message;
+
+
+ /**
+ * Constructor.
+ *
+ * @param source The source object. Must not be <code>null</code>.
+ * @param type The script event type. Must not be <code>null</code>.
+ * @param message The script event message or <code>null</code>.
+ *
+ * @exception IllegalArgumentException if eventId == null.
+ */
+ public ScriptEvent(Object source, Type type, Message message) {
+ super(source);
+
+ if (type == null) throw new IllegalArgumentException("null type"); //$NON-NLS-1$
+ this.type = type;
+
+ this.message = message;
+ }
+
+ /**
+ * Returns the script event type.
+ *
+ * @return The script event type.
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /**
+ * Returns the script event message.
+ *
+ * @return The script event message or <code>null</code>.
+ */
+ public Message getMessage() {
+ return message;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java
index 49532097f..52a17287c 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java
@@ -16,22 +16,27 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.tcf.core.AbstractChannel;
+import org.eclipse.tcf.core.AbstractChannel.TraceListener;
import org.eclipse.tcf.core.Command;
import org.eclipse.tcf.protocol.IChannel;
import org.eclipse.tcf.protocol.IChannel.IChannelListener;
import org.eclipse.tcf.protocol.IPeer;
import org.eclipse.tcf.protocol.IService;
import org.eclipse.tcf.te.runtime.callback.Callback;
+import org.eclipse.tcf.te.runtime.events.EventManager;
import org.eclipse.tcf.te.runtime.interfaces.callback.ICallback;
import org.eclipse.tcf.te.runtime.interfaces.properties.IPropertiesContainer;
import org.eclipse.tcf.te.tcf.core.Tcf;
import org.eclipse.tcf.te.tcf.core.interfaces.IChannelManager;
import org.eclipse.tcf.te.tcf.core.scripting.activator.CoreBundleActivator;
+import org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent;
import org.eclipse.tcf.te.tcf.core.scripting.interfaces.IScriptLauncher;
import org.eclipse.tcf.te.tcf.core.scripting.interfaces.IScriptLauncherProperties;
import org.eclipse.tcf.te.tcf.core.scripting.nls.Messages;
import org.eclipse.tcf.te.tcf.core.scripting.parser.Parser;
import org.eclipse.tcf.te.tcf.core.scripting.parser.Token;
+import org.eclipse.tcf.te.tcf.core.utils.JSONUtils;
/**
* Script launcher implementation.
@@ -45,6 +50,9 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher {
// The callback instance
private ICallback callback;
+ // The channel trace listener instance
+ /* default */ TraceListener traceListener;
+
/**
* Constructor.
*/
@@ -57,14 +65,20 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher {
*/
@Override
public void dispose() {
- // Store a final reference to the channel instance
- final IChannel finChannel = channel;
+ if (channel != null) {
+ // Remove the trace listener
+ if (traceListener != null) { ((AbstractChannel)channel).removeTraceListener(traceListener); traceListener = null; }
+
+ // Close the channel as all disposal is done
+ Tcf.getChannelManager().closeChannel(channel);
- // Close the channel as all disposal is done
- if (finChannel != null) Tcf.getChannelManager().closeChannel(finChannel);
+ // Fire the stop event
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.STOP, null);
+ EventManager.getInstance().fireEvent(event);
- // Dissociate the channel
- channel = null;
+ // Dissociate the channel
+ channel = null;
+ }
}
/* (non-Javadoc)
@@ -103,6 +117,10 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher {
if (error == null) {
ScriptLauncher.this.channel = channel;
+ // Fire the start event
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.START, null);
+ EventManager.getInstance().fireEvent(event);
+
// Attach a channel listener so we can dispose ourself if the channel
// is closed from the remote side.
channel.addChannelListener(new IChannelListener() {
@@ -117,6 +135,7 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher {
*/
@Override
public void onChannelClosed(Throwable error) {
+ if (traceListener != null) { ((AbstractChannel)ScriptLauncher.this.channel).removeTraceListener(traceListener); traceListener = null; }
if (error != null) {
IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(),
NLS.bind(Messages.ScriptLauncher_error_channelConnectFailed, peer.getID(), error.getLocalizedMessage()),
@@ -132,6 +151,52 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher {
}
});
+ // Create the trace listener instance
+ traceListener = new TraceListener() {
+
+ @Override
+ public void onMessageSent(char type, String token, String service, String name, byte[] data) {
+ String message = formatMessage(type, token, service, name, data, false);
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.OUTPUT, new ScriptEvent.Message(type, message));
+ EventManager.getInstance().fireEvent(event);
+ }
+
+ @Override
+ public void onMessageReceived(char type, String token, String service, String name, byte[] data) {
+ String message = formatMessage(type, token, service, name, data, true);
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.OUTPUT, new ScriptEvent.Message(type, message));
+ EventManager.getInstance().fireEvent(event);
+ }
+
+ @Override
+ public void onChannelClosed(Throwable error) {
+ }
+
+ /**
+ * Format the trace message.
+ */
+ protected String formatMessage(char type, String token, String service, String name, byte[] data, boolean received) {
+ // Decode the arguments again for tracing purpose
+ String args = JSONUtils.decodeStringFromByteArray(data);
+
+ // Construct the full message
+ //
+ // The message format is: [<---|--->] <type> <token> <service>#<name> <args>
+ StringBuilder message = new StringBuilder();
+ message.append(received ? "<---" : "--->"); //$NON-NLS-1$ //$NON-NLS-2$
+ message.append(" ").append(Character.valueOf(type)); //$NON-NLS-1$
+ if (token != null) message.append(" ").append(token); //$NON-NLS-1$
+ if (service != null) message.append(" ").append(service); //$NON-NLS-1$
+ if (name != null) message.append(" ").append(name); //$NON-NLS-1$
+ if (args != null && args.trim().length() > 0) message.append(" ").append(args.trim()); //$NON-NLS-1$
+
+ return message.toString();
+ }
+ };
+
+ // Register the trace listener
+ ((AbstractChannel)channel).addTraceListener(traceListener);
+
// Check if the channel is in connected state
if (channel.getState() != IChannel.STATE_OPEN) {
IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(),
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java
index f1acc77a7..269ff4192 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java
@@ -2,7 +2,7 @@ package org.eclipse.tcf.te.tcf.filesystem.internal.wizards;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider;
import org.eclipse.ui.dialogs.PatternFilter;
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
index f1f06dbda..504d2ad59 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
@@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.tcf.te.tcf.filesystem.internal.nls.Messages;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
import org.eclipse.tcf.te.tcf.locator.model.Model;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider;
import org.eclipse.tcf.te.ui.activator.UIPlugin;
import org.eclipse.tcf.te.ui.interfaces.IUIConstants;
import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatableWizardPage;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF
index 8c5c9f0c5..0de4b8642 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF
@@ -7,7 +7,16 @@ Bundle-Activator: org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin
Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.ui.console;bundle-version="3.5.100",
+ org.eclipse.tcf.te.runtime;bundle-version="1.0.0",
+ org.eclipse.tcf.te.ui;bundle-version="1.0.0",
org.eclipse.tcf.te.ui.swt;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
+Export-Package: org.eclipse.tcf.te.tcf.ui.console,
+ org.eclipse.tcf.te.tcf.ui.console.activator;x-internal:=true,
+ org.eclipse.tcf.te.tcf.ui.console.handler,
+ org.eclipse.tcf.te.tcf.ui.console.interfaces,
+ org.eclipse.tcf.te.tcf.ui.console.internal.preferences;x-internal:=true,
+ org.eclipse.tcf.te.tcf.ui.console.nls;x-internal:=true
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties
index f4ae97015..73a5119ed 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties
@@ -2,4 +2,5 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.properties
+ plugin.properties,\
+ plugin.xml
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties
index 44f2ae56e..5b4d6c0c1 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties
@@ -13,4 +13,14 @@ providerName = Eclipse.org
# ***** Consoles *****
+ScriptConsole.label=Script Pad Console
+
# ***** Command Contributions *****
+
+command.remove.name=Close Console Command
+
+# ***** Themes *****
+
+ThemeCategory.name=Target Explorer Communication Monitor Console
+Console.font.label=Communication Monitor Console Text Font
+Console.font.description=The font for the Target Explorer Communication Monitor console.
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml
new file mode 100644
index 000000000..7e059b21a
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<!-- Console command contributions -->
+ <extension point="org.eclipse.ui.commands">
+ <command
+ categoryId="org.eclipse.tcf.te.tcf.ui.commands.category"
+ helpContextId="org.eclipse.tcf.te.tcf.ui.console.command_Remove"
+ id="org.eclipse.tcf.te.tcf.ui.console.command.remove"
+ name="%command.remove.name">
+ </command>
+ </extension>
+
+ <extension point="org.eclipse.ui.commandImages">
+ <image
+ commandId="org.eclipse.tcf.te.tcf.ui.console.command.remove"
+ disabledIcon="platform:/plugin/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif"
+ icon="platform:/plugin/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif">
+ </image>
+ </extension>
+
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.tcf.te.tcf.ui.console.handler.RemoveHandler"
+ commandId="org.eclipse.tcf.te.tcf.ui.console.command.remove">
+ </handler>
+ </extension>
+
+<!-- Preference contributions -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer
+ class="org.eclipse.tcf.te.tcf.ui.console.internal.preferences.PreferencesInitializer">
+ </initializer>
+ </extension>
+
+<!-- UI Themes contributions -->
+ <extension point="org.eclipse.ui.themes">
+ <themeElementCategory
+ id="org.eclipse.tcf.te.tcf.ui.console.theme"
+ label="%ThemeCategory.name"/>
+ <fontDefinition
+ label="%Console.font.label"
+ categoryId="org.eclipse.tcf.te.tcf.ui.console.theme"
+ defaultsTo="org.eclipse.jface.textfont"
+ id="te.tcf.ui.console.pref.font">
+ <description>
+ %Console.font.description
+ </description>
+ </fontDefinition>
+ </extension>
+
+</plugin>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java
new file mode 100644
index 000000000..0e04a45a9
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java
@@ -0,0 +1,461 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.console;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
+import org.eclipse.jface.resource.FontRegistry;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.resource.StringConverter;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
+import org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin;
+import org.eclipse.tcf.te.tcf.ui.console.interfaces.IPreferenceKeys;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleListener;
+import org.eclipse.ui.console.MessageConsole;
+import org.eclipse.ui.console.MessageConsoleStream;
+
+/**
+ * Abstract console implementation.
+ */
+public class AbstractConsole extends MessageConsole implements IConsoleListener, IPreferenceChangeListener, IPropertyChangeListener {
+
+ /**
+ * Immutable buffered console line.
+ */
+ protected static final class ConsoleBufferLine {
+ protected final String message;
+ protected final char messageType;
+
+ /**
+ * Constructor.
+ *
+ * @param message The message. Must not be <code>null</code>.
+ * @param messageType The message type.
+ */
+ public ConsoleBufferLine(String message, char messageType) {
+ assert message != null;
+ this.message = message;
+ this.messageType = messageType;
+ }
+ }
+
+ /**
+ * AbstractConsole buffer implementation. Buffers the lines to output if the console itself is
+ * invisible. Once the console gets visible, the buffered lines are send to the console itself.
+ */
+ protected static class ConsoleBuffer {
+ // The buffer limit (in characters) is retrieved from the console
+ // preferences. If 0, there is no limit.
+ private int bufferLimit = 0;
+ // The consumed characters
+ private int charactersConsumed = 0;
+
+ // The buffer of console lines
+ private final List<ConsoleBufferLine> lines = new ArrayList<ConsoleBufferLine>();
+
+ /**
+ * Constructor.
+ */
+ public ConsoleBuffer() {
+ }
+
+ /**
+ * Set the buffer limit in characters.
+ *
+ * @param limit The buffer limit or 0 for unlimited.
+ */
+ public void setBufferLimit(int limit) {
+ this.bufferLimit = limit > 0 ? limit : 0;
+ }
+
+ /**
+ * Adds a new line to the buffer.
+ *
+ * @param line The line. Must not be <code>null</code>.
+ */
+ public void addLine(ConsoleBufferLine line) {
+ assert line != null;
+
+ // If the limit has been reached, we have to remove the oldest buffered line first.
+ while (bufferLimit > 0 && charactersConsumed + line.message.length() >= bufferLimit) {
+ ConsoleBufferLine droppedLine = lines.remove(0);
+ charactersConsumed -= droppedLine.message.length();
+ if (charactersConsumed < 0) charactersConsumed = 0;
+ }
+
+ // Add the new line at the end of the buffer
+ lines.add(line); charactersConsumed += line.message.length();
+ }
+
+ /**
+ * Returns the list of currently buffered lines. The list
+ * of buffered lines is cleared.
+ *
+ * @return The currently buffered lines or an empty list.
+ */
+ public ConsoleBufferLine[] getLinesAndClear() {
+ ConsoleBufferLine[] result = lines.toArray(new ConsoleBufferLine[lines.size()]);
+ lines.clear();
+ return result;
+ }
+ }
+
+ // Map to store the created colors per stream type (dispose on shutdown!)
+ private final Map<String, Color> streamColors = new HashMap<String, Color>();
+ // Map to store the created message streams per stream type
+ private final Map<String, MessageConsoleStream> streams = new HashMap<String, MessageConsoleStream>();
+
+ // The console buffer
+ private final ConsoleBuffer buffer = new ConsoleBuffer();
+
+ // Flag to show the console on every output
+ private boolean showOnOutput;
+ // Flag to show the console on first output only
+ private boolean showOnFirstOutput;
+ // Flag to mark if the console is visible in the console view.
+ private boolean visible = false;
+ // Flag to mark if the console is fully initialized (means all colors and streams created).
+ private boolean initialized = false;
+
+ /**
+ * Constructor.
+ * <p>
+ * Initializes preferences and colors but doesn't create the console page yet.
+ *
+ * @param name The console name.
+ * @param imageDescriptor. The console image descriptor or <code>null</code>.
+ */
+ public AbstractConsole(String name, ImageDescriptor imageDescriptor) {
+ super(name, imageDescriptor);
+ // Initialize the flags from the preferences
+ showOnOutput = UIPlugin.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT);
+ showOnFirstOutput = !showOnOutput;
+ // Listen to preference change events
+ UIPlugin.getScopedPreferences().addPreferenceChangeListener(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.MessageConsole#dispose()
+ */
+ @Override
+ protected void dispose() {
+ // Do not disconnect the partitioner yet. Dispose is called
+ // if the console is removed from the console view. This does
+ // not mean the user does not want to show the console again later
+ // with the full content preserved. The console will be destroyed
+ // if shutdown() is called.
+ synchronized (buffer) {
+ visible = false;
+ JFaceResources.getFontRegistry().removeListener(this);
+ }
+ }
+
+ /**
+ * Shutdown and cleanup the console.
+ */
+ public void shutdown() {
+ // Detach the preferences listener
+ UIPlugin.getScopedPreferences().removePreferenceChangeListener(this);
+
+ // Partitioner should be disconnected before disposing the colors
+ super.dispose();
+
+ // Dispose the colors
+ for (Color color : streamColors.values()) color.dispose();
+ streamColors.clear();
+
+ // Clean the streams
+ streams.clear();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.AbstractConsole#init()
+ */
+ @Override
+ protected void init() {
+ // Called when console is added to the console view
+ super.init();
+
+ initConsoleOutputLimitSettings();
+ initConsoleWidthSetting();
+
+ // Ensure that initialization occurs in the UI thread
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ JFaceResources.getFontRegistry().addListener(AbstractConsole.this);
+ initializeStreams();
+ flushBuffer();
+ }
+ });
+ }
+
+ /**
+ * Appends the cached lines from the buffer to the console.
+ */
+ protected final void flushBuffer() {
+ synchronized(buffer) {
+ visible = true;
+ for (ConsoleBufferLine line : buffer.getLinesAndClear()) {
+ appendMessage(line.messageType, line.message);
+ }
+ }
+ }
+
+ /**
+ * Helper method to initialize the console width settings
+ */
+ private void initConsoleWidthSetting() {
+ // Get the preferences store
+ ScopedEclipsePreferences store = UIPlugin.getScopedPreferences();
+ // If the console width shall be limited
+ if(store.getBoolean(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH)) {
+ // Set the width limit
+ setConsoleWidth(store.getInt(IPreferenceKeys.PREF_CONSOLE_WIDTH));
+ } else {
+ // Reset to unlimited width
+ setConsoleWidth(-1);
+ }
+ }
+
+ /**
+ * Helper method to initialize the console output limit settings.
+ */
+ private void initConsoleOutputLimitSettings() {
+ // Get the preferences store
+ ScopedEclipsePreferences store = UIPlugin.getScopedPreferences();
+ // If the console output limit shall be set
+ if(store.getBoolean(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT)) {
+ // Apply the limits
+ setWaterMarks(1000, store.getInt(IPreferenceKeys.PREF_CONSOLE_BUFFER_SIZE));
+ } else {
+ // Reset to no limits
+ setWaterMarks(-1, 0);
+ }
+ // Update the buffer too
+ synchronized (buffer) { buffer.setBufferLimit(getHighWaterMark()); }
+ }
+
+ // Internal list of available stream types
+ private static final String[] STREAM_TYPES = new String[] { IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT,
+ IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND, IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE,
+ IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT, IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS,
+ IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR
+ };
+
+ /*
+ * Initialize the streams of the console.
+ * <p>
+ * Must be called from the UI thread.
+ */
+ void initializeStreams() {
+ // Synchronize on the buffer to avoid something is dumped
+ // if the console streams have not been fully initialized
+ synchronized (buffer) {
+ if (!initialized) {
+ // Black is the default color. Get the corresponding RGB from the platform
+ RGB defaultColorBlack = PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_BLACK).getRGB();
+ // create the message streams and associate stream colors
+ for (String streamType : STREAM_TYPES) {
+ MessageConsoleStream stream = newMessageStream();
+ Color color = new Color(PlatformUI.getWorkbench().getDisplay(),
+ StringConverter.asRGB(UIPlugin.getScopedPreferences().getString(streamType), defaultColorBlack));
+ stream.setColor(color);
+ streams.put(streamType, stream);
+ streamColors.put(streamType, color);
+ }
+
+ // Apply font
+ setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(IPreferenceKeys.PREF_CONSOLE_FONT));
+
+ // The console is now initialized
+ initialized = true;
+ }
+ }
+ }
+
+ /**
+ * Returns if or if not this console is visible in the console view.
+ *
+ * @return <code>True</code> if the console is visible, <code>false</code> otherwise.
+ */
+ public final boolean isVisible() {
+ return visible;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener#preferenceChange(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent)
+ */
+ @Override
+ public void preferenceChange(PreferenceChangeEvent event) {
+ Assert.isNotNull(event);
+
+ String property = event.getKey();
+ if (property == null) return;
+
+ // Apply the common properties if changed
+ if(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH.equals(property)) {
+ initConsoleWidthSetting();
+ } else if(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT.equals(property)) {
+ initConsoleOutputLimitSettings();
+ } else if (IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT.equals(property)) {
+ showOnOutput = UIPlugin.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT);
+ }
+
+ // Color changes are applied only if the console is visible
+ if (isVisible()) {
+ // Black is the default color. Get the corresponding RGB from the platform
+ RGB defaultColorBlack = PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_BLACK).getRGB();
+ for (String streamType : STREAM_TYPES) {
+ if (property.equals(streamType)) {
+ // Get the new RGB values from the preferences
+ RGB newRGB = StringConverter.asRGB(UIPlugin.getScopedPreferences().getString(streamType), defaultColorBlack);
+ // Get the old color
+ Color oldColor = streamColors.get(streamType);
+ // Update the stream color will work only if the color is really different from the old one
+ if ((oldColor == null && newRGB != null) || (oldColor != null && !oldColor.getRGB().equals(newRGB))) {
+ // Create the new color object
+ Color newColor = new Color(PlatformUI.getWorkbench().getDisplay(), newRGB);
+ // Update the stream
+ MessageConsoleStream stream = streams.get(streamType);
+ stream.setColor(newColor);
+ // Dispose the old color
+ oldColor.dispose();
+ // and update the stream color map
+ streamColors.put(streamType, newColor);
+ }
+ }
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
+ */
+ @Override
+ public void consolesAdded(IConsole[] consoles) {
+ for (int i = 0; i < consoles.length; i++) {
+ IConsole console = consoles[i];
+ if (console == AbstractConsole.this) {
+ ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
+ init();
+ }
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
+ */
+ @Override
+ public void consolesRemoved(IConsole[] consoles) {
+ for (int i = 0; i < consoles.length; i++) {
+ IConsole console = consoles[i];
+ if (console == AbstractConsole.this) {
+ ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
+ dispose();
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ String property = event != null ? event.getProperty() : null;
+
+ // Font changes are applied only if the console is visible
+ if (property != null && isVisible()) {
+ if (property.equals(IPreferenceKeys.PREF_CONSOLE_FONT)) {
+ setFont(((FontRegistry) event.getSource()).get(IPreferenceKeys.PREF_CONSOLE_FONT));
+ }
+ }
+ }
+
+ /**
+ * Append message to the console.
+ *
+ * @param type The message type.
+ * @param message The message.
+ */
+ public void appendMessage(char type, String message) {
+ // If no message is passed in, nothing to do
+ if (message == null) return;
+ // Open the console if necessary
+ showConsole(false);
+
+ // Append the message to the console
+ synchronized (buffer) {
+ if (isVisible()) {
+ switch (type) {
+ case 'C':
+ MessageConsoleStream stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND);
+ if (stream != null) stream.println(message);
+ break;
+ case 'R':
+ stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE);
+ if (stream != null) stream.println(message);
+ break;
+ case 'E':
+ stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT);
+ if (stream != null) {
+ // Heart beat message are not shown
+ if (!message.toLowerCase().contains("heartbeat")) stream.println(message); //$NON-NLS-1$
+ }
+ break;
+ case 'P':
+ stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS);
+ if (stream != null) stream.println(message);
+ break;
+ case 'N':
+ stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT);
+ if (stream != null) stream.println(message);
+ break;
+ case 'F':
+ // Framework messages are not shown
+ break;
+ default:
+ stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR);
+ if (stream != null) stream.println(message);
+ }
+ } else {
+ buffer.addLine(new ConsoleBufferLine(message, type));
+ }
+ }
+ }
+
+ /**
+ * Ensure that the console is shown if needed.
+ *
+ * @param showNoMatterWhat If <code>True</code>, the console will be forced to be shown.
+ */
+ private void showConsole(boolean showNoMatterWhat) {
+ if(showNoMatterWhat || showOnOutput || showOnFirstOutput) {
+ showOnFirstOutput = false;
+ ConsolePlugin.getDefault().getConsoleManager().showConsoleView(this);
+ }
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java
new file mode 100644
index 000000000..986bef24f
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.console;
+
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.tcf.te.tcf.ui.console.nls.Messages;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.console.IConsolePageParticipant;
+import org.eclipse.ui.menus.CommandContributionItem;
+import org.eclipse.ui.menus.CommandContributionItemParameter;
+import org.eclipse.ui.part.IPageBookViewPage;
+
+/**
+ * Console page participant implementation.
+ */
+public class PageParticipant extends PlatformObject implements IConsolePageParticipant {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsolePageParticipant#activated()
+ */
+ @Override
+ public void activated() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsolePageParticipant#deactivated()
+ */
+ @Override
+ public void deactivated() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsolePageParticipant#dispose()
+ */
+ @Override
+ public void dispose() {
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsolePageParticipant#init(org.eclipse.ui.part.IPageBookViewPage, org.eclipse.ui.console.IConsole)
+ */
+ @Override
+ public void init(IPageBookViewPage page, IConsole console) {
+ if (page == null || page.getSite() == null || page.getSite().getActionBars() == null || page.getSite().getActionBars().getToolBarManager() == null) return;
+
+ // Create the command contribution item parameters
+ CommandContributionItemParameter parameters;
+ parameters = new CommandContributionItemParameter(page.getSite(),
+ "org.eclipse.tcf.te.tcf.ui.console.commands.remove", //$NON-NLS-1$
+ "org.eclipse.tcf.te.tcf.ui.console.command.remove", //$NON-NLS-1$
+ CommandContributionItem.STYLE_PUSH);
+ parameters.label = Messages.PageParticipant_command_remove_label;
+ parameters.tooltip = Messages.PageParticipant_command_remove_label;
+
+ // Create the contribution item and append to the LAUNCH_GROUP
+ page.getSite().getActionBars().getToolBarManager().appendToGroup(IConsoleConstants.LAUNCH_GROUP, new CommandContributionItem(parameters));
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java
index fe9262514..9af61be60 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java
@@ -1,8 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
package org.eclipse.tcf.te.tcf.ui.console.activator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -13,6 +23,8 @@ import org.osgi.framework.BundleContext;
public class UIPlugin extends AbstractUIPlugin {
// The shared instance
private static UIPlugin plugin;
+ // The scoped preferences instance
+ private static ScopedEclipsePreferences scopedPreferences = null;
/**
* The constructor
@@ -39,8 +51,17 @@ public class UIPlugin extends AbstractUIPlugin {
return null;
}
- /*
- * (non-Javadoc)
+ /**
+ * Return the scoped preferences for this plugin.
+ */
+ public static ScopedEclipsePreferences getScopedPreferences() {
+ if (scopedPreferences == null) {
+ scopedPreferences = new ScopedEclipsePreferences(getUniqueIdentifier());
+ }
+ return scopedPreferences;
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
@Override
@@ -49,13 +70,13 @@ public class UIPlugin extends AbstractUIPlugin {
plugin = this;
}
- /*
- * (non-Javadoc)
+ /* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
+ scopedPreferences = null;
super.stop(context);
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java
new file mode 100644
index 000000000..00b7ba96f
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.console.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleView;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+/**
+ * Remove handler implementation.
+ */
+public class RemoveHandler extends AbstractHandler {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+ */
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ // The currently display console
+ IConsole console = null;
+
+ // Determine the currently display console from the console view
+ IWorkbenchPart part = HandlerUtil.getActivePart(event);
+ if (part instanceof IConsoleView) console = ((IConsoleView)part).getConsole();
+
+ // Remove the console
+ if (console != null) {
+ ConsolePlugin.getDefault().getConsoleManager().removeConsoles(new IConsole[] { console });
+ }
+
+ return null;
+ }
+
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java
new file mode 100644
index 000000000..1fd2ce8d7
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.console.interfaces;
+
+/**
+ * Console preference key identifiers.
+ */
+public interface IPreferenceKeys {
+ /**
+ * Common prefix for all UI preference keys
+ */
+ public final String PREFIX = "te.tcf.ui.console."; //$NON-NLS-1$
+
+ /**
+ * Limit console output to a fixed width.
+ */
+ public final String PREF_CONSOLE_FIXED_WIDTH = PREFIX + "pref.fixedWidth"; //$NON-NLS-1$
+
+ /**
+ * The fixed width size in characters.
+ */
+ public final String PREF_CONSOLE_WIDTH = PREFIX + "pref.width"; //$NON-NLS-1$
+
+ /**
+ * Limit console output to a maximum content.
+ */
+ public final String PREF_CONSOLE_LIMIT_OUTPUT = PREFIX + "pref.limitOutput"; //$NON-NLS-1$
+
+ /**
+ * The maximum content size in characters.
+ */
+ public final String PREF_CONSOLE_BUFFER_SIZE = PREFIX + "pref.bufferSize"; //$NON-NLS-1$
+
+ /**
+ * Show the console on output.
+ */
+ public final String PREF_CONSOLE_SHOW_ON_OUTPUT = PREFIX + "pref.showOnOutput"; //$NON-NLS-1$
+
+ // The preference id for the console font needs to be kept in sync with the plugin.xml!
+ public final String PREF_CONSOLE_FONT = PREFIX + "pref.font"; //$NON-NLS-1$
+
+ // The TCF communication monitor console color preferences
+ public final String PREF_CONSOLE_COLOR_TEXT = PREFIX + "pref.color.text"; //$NON-NLS-1$
+ public final String PREF_CONSOLE_COLOR_COMMAND = PREFIX + "pref.color.command"; //$NON-NLS-1$
+ public final String PREF_CONSOLE_COLOR_COMMAND_RESPONSE = PREFIX + "pref.color.commandResponse"; //$NON-NLS-1$
+ public final String PREF_CONSOLE_COLOR_EVENT = PREFIX + "pref.color.event"; //$NON-NLS-1$
+ public final String PREF_CONSOLE_COLOR_PROGRESS = PREFIX + "pref.color.progress"; //$NON-NLS-1$
+ public final String PREF_CONSOLE_COLOR_ERROR = PREFIX + "pref.color.error"; //$NON-NLS-1$
+}
+
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java
new file mode 100644
index 000000000..ffba93d06
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.console.internal.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.resource.StringConverter;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
+import org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin;
+import org.eclipse.tcf.te.tcf.ui.console.interfaces.IPreferenceKeys;
+
+/**
+ * Preference initializer.
+ */
+public class PreferencesInitializer extends AbstractPreferenceInitializer {
+
+ /**
+ * Constructor.
+ */
+ public PreferencesInitializer() {
+ super();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ // Get the preferences store
+ ScopedEclipsePreferences store = UIPlugin.getScopedPreferences();
+
+ // Fixed console width: default off
+ store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH, false);
+ // Fixed console width in character: default 80
+ store.putDefaultInt(IPreferenceKeys.PREF_CONSOLE_WIDTH, 80);
+ // Limit console output: default on
+ store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT, true);
+ // Console buffer size in character: default 500000
+ store.putDefaultInt(IPreferenceKeys.PREF_CONSOLE_BUFFER_SIZE, 500000);
+ // Show console on output: default off
+ store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT, false);
+
+ // Text default color: Black
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT, StringConverter.asString(new RGB(0, 0, 0)));
+ // Command default color: Black
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND, StringConverter.asString(new RGB(0, 0, 0)));
+ // Command response default color: Black
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE, StringConverter.asString(new RGB(0, 0, 0)));
+ // Event default color: Blue
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT, StringConverter.asString(new RGB(0, 0, 255)));
+ // Progress default color: Green
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS, StringConverter.asString(new RGB(0, 128, 0)));
+ // Error default color: Red
+ store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR, StringConverter.asString(new RGB(255, 0, 0)));
+ }
+
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java
index 9d602b109..5de22e3aa 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java
@@ -28,4 +28,7 @@ public class Messages extends NLS {
}
// **** Declare externalized string id's down here *****
+
+ public static String PageParticipant_command_remove_label;
+ public static String PageParticipant_command_remove_tooltip;
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties
index ec997d88a..e3b45a9fd 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties
@@ -2,3 +2,6 @@
# org.eclipse.tcf.te.tcf.ui.console
# Externalized Strings.
#
+
+PageParticipant_command_remove_label=Close Console
+PageParticipant_command_remove_tooltip=Close Console
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath
new file mode 100644
index 000000000..8a8f1668c
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project
new file mode 100644
index 000000000..439dd22b4
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tcf.te.tcf.ui.views</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..4ece191fb
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,362 @@
+#Thu Dec 15 12:33:44 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=warning
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..101566689
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,4 @@
+#Thu Dec 15 12:33:44 CET 2011
+eclipse.preferences.version=1
+formatter_profile=_Target Explorer Java STD
+formatter_settings_version=12
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..672ae489e
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.tcf.te.tcf.ui.views;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin
+Bundle-Vendor: %providerName
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.ui;bundle-version="3.7.0",
+ org.eclipse.ui.console;bundle-version="3.5.100",
+ org.eclipse.tcf.core;bundle-version="1.0.0",
+ org.eclipse.tcf.te.tcf.locator;bundle-version="1.0.0",
+ org.eclipse.tcf.te.runtime;bundle-version="1.0.0",
+ org.eclipse.tcf.te.ui;bundle-version="1.0.0",
+ org.eclipse.tcf.te.ui.swt;bundle-version="1.0.0",
+ org.eclipse.tcf.te.tcf.core.scripting;bundle-version="1.0.0",
+ org.eclipse.tcf.te.tcf.ui;bundle-version="1.0.0",
+ org.eclipse.tcf.te.tcf.ui.console;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties
new file mode 100644
index 000000000..1cb217caf
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ plugin.xml,\
+ icons/
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/dtool16/run_exc.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/dtool16/run_exc.gif
index a252bf0ae..a252bf0ae 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/dtool16/run_exc.gif
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/dtool16/run_exc.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/etool16/run_exc.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/etool16/run_exc.gif
index 57f410224..57f410224 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/etool16/run_exc.gif
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/etool16/run_exc.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/eview16/scriptpad.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad.gif
index c51f86fd8..c51f86fd8 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/eview16/scriptpad.gif
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif
new file mode 100644
index 000000000..5c3f2a020
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/target.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/obj16/peer.gif
index e9df7b871..e9df7b871 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/target.gif
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/obj16/peer.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties
new file mode 100644
index 000000000..38d9a47e7
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties
@@ -0,0 +1,24 @@
+##################################################################################
+# Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+# This program and the accompanying materials are made available under the terms
+# of the Eclipse Public License v1.0 which accompanies this distribution, and is
+# available at http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Wind River Systems - initial API and implementation
+##################################################################################
+
+pluginName = Target Explorer, TCF Views Plug-in
+providerName = Eclipse.org
+
+# ***** Views *****
+
+ScriptPad.name=Script Pad
+
+# ***** Command Contributions *****
+
+PeersSubMenuAction.label=Peers
+PeersSubMenuAction.tooltip=Select the peer to play the script on.
+
+PlayAction.label=Play
+PlayAction.tooltip=Play the script on the selected peer.
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml
new file mode 100644
index 000000000..1292750b4
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<!-- View contributions -->
+ <extension point="org.eclipse.ui.views">
+ <view
+ allowMultiple="true"
+ category="org.eclipse.tcf.te.ui.views.category"
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad"
+ icon="icons/eview16/scriptpad.gif"
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
+ name="%ScriptPad.name"
+ restorable="true">
+ </view>
+ </extension>
+
+<!-- Perspective extension contributions -->
+ <extension point="org.eclipse.ui.perspectiveExtensions">
+ <perspectiveExtension targetID="org.eclipse.tcf.te.ui.perspective">
+ <view
+ closeable="true"
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
+ minimized="false"
+ moveable="true"
+ ratio="0.4"
+ relationship="bottom"
+ relative="org.eclipse.tcf.te.ui.views.TargetExplorer"
+ showTitle="true"
+ standalone="false"
+ visible="false">
+ </view>
+ <viewShortcut
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
+ </viewShortcut>
+ </perspectiveExtension>
+ </extension>
+
+<!-- Console contributions -->
+ <extension point="org.eclipse.ui.console.consoleFactories">
+ <consoleFactory
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Factory"
+ icon="icons/eview16/scriptpad_console.gif"
+ label="%ScriptConsole.label">
+ </consoleFactory>
+ </extension>
+
+ <extension point="org.eclipse.ui.console.consolePageParticipants">
+ <consolePageParticipant
+ class="org.eclipse.tcf.te.tcf.ui.console.PageParticipant"
+ id="org.eclipse.tcf.te.tcf.ui.console.PageParticipant">
+ <enablement>
+ <instanceof value="org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Console"/>
+ </enablement>
+ </consolePageParticipant>
+ </extension>
+
+<!-- Script Pad menu contributions -->
+ <extension point="org.eclipse.ui.viewActions">
+ <viewContribution
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar"
+ targetID="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
+ <action
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PeersSubMenuAction"
+ icon="icons/obj16/peer.gif"
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.peers"
+ label="%PeersSubMenuAction.label"
+ style="pulldown"
+ toolbarPath="peers">
+ </action>
+
+ <action
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PlayAction"
+ icon="icons/etool16/run_exc.gif"
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.play"
+ label="%PlayAction.label"
+ style="push"
+ toolbarPath="play">
+ </action>
+ </viewContribution>
+ </extension>
+
+<!-- Script Pad event listener contributions -->
+ <extension point="org.eclipse.tcf.te.runtime.eventListeners">
+ <eventListener
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.events.EventListener"
+ forcePluginActivation="true">
+ <eventType
+ class="org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent">
+ </eventType>
+ </eventListener>
+ </extension>
+
+</plugin>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml
new file mode 100644
index 000000000..03a6a1f6a
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.tcf</groupId>
+ <artifactId>tcf-parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../../../pom.xml</relativePath>
+ </parent>
+
+ <version>1.0.0.qualifier</version>
+ <artifactId>org.eclipse.tcf.te.tcf.ui.views</artifactId>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java
new file mode 100644
index 000000000..30e7bada8
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.activator;
+
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.tcf.te.tcf.ui.views.internal.ImageConsts;
+import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class UIPlugin extends AbstractUIPlugin {
+ // The shared instance
+ private static UIPlugin plugin;
+
+ /**
+ * Constructor.
+ */
+ public UIPlugin() {
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static UIPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Convenience method which returns the unique identifier of this plugin.
+ */
+ public static String getUniqueIdentifier() {
+ if (getDefault() != null && getDefault().getBundle() != null) {
+ return getDefault().getBundle().getSymbolicName();
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry)
+ */
+ @Override
+ protected void initializeImageRegistry(ImageRegistry registry) {
+ URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "scriptpad_console.gif"); //$NON-NLS-1$
+ registry.put(ImageConsts.SCRIPT_PAD_CONSOLE, ImageDescriptor.createFromURL(url));
+ }
+
+ /**
+ * Loads the image registered under the specified key from the image
+ * registry and returns the <code>Image</code> object instance.
+ *
+ * @param key The key the image is registered with.
+ * @return The <code>Image</code> object instance or <code>null</code>.
+ */
+ public static Image getImage(String key) {
+ return getDefault().getImageRegistry().get(key);
+ }
+
+ /**
+ * Loads the image registered under the specified key from the image
+ * registry and returns the <code>ImageDescriptor</code> object instance.
+ *
+ * @param key The key the image is registered with.
+ * @return The <code>ImageDescriptor</code> object instance or <code>null</code>.
+ */
+ public static ImageDescriptor getImageDescriptor(String key) {
+ return getDefault().getImageRegistry().getDescriptor(key);
+ }
+
+ /**
+ * Loads the image given by the specified image descriptor from the image
+ * registry. If the image has been loaded ones before already, the cached
+ * <code>Image</code> object instance is returned. Otherwise, the <code>
+ * Image</code> object instance will be created and cached before returned.
+ *
+ * @param descriptor The image descriptor.
+ * @return The corresponding <code>Image</code> object instance or <code>null</code>.
+ */
+ public static Image getSharedImage(AbstractImageDescriptor descriptor) {
+ ImageRegistry registry = getDefault().getImageRegistry();
+
+ String imageKey = descriptor.getDecriptorKey();
+ Image image = registry.get(imageKey);
+ if (image == null) {
+ registry.put(imageKey, descriptor);
+ image = registry.get(imageKey);
+ }
+
+ return image;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java
new file mode 100644
index 000000000..a308d61b7
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.help;
+
+import org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin;
+
+/**
+ * UI Context help id definitions.
+ */
+public interface IContextHelpIds {
+
+ /**
+ * UI plug-in common context help id prefix.
+ */
+ public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$
+
+ /**
+ * Script Pad console view.
+ */
+ public final static String SCRIPT_PAD_CONSOLE_VIEW = PREFIX + "ScriptPadConsoleView"; //$NON-NLS-1$
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/ImageConsts.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/internal/ImageConsts.java
index ec63ab9c0..982029b34 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/ImageConsts.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/internal/ImageConsts.java
@@ -7,10 +7,10 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.console.internal;
+package org.eclipse.tcf.te.tcf.ui.views.internal;
/**
- * TCF Console UI Plug-in Image registry constants.
+ * TCF Console Plug-in Image registry constants.
*/
public interface ImageConsts {
@@ -60,4 +60,8 @@ public interface ImageConsts {
// ***** The image constants *****
+ /**
+ * The key to access the Script Pad console view image.
+ */
+ public static final String SCRIPT_PAD_CONSOLE = "ScriptPadConsole"; //$NON-NLS-1$
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java
new file mode 100644
index 000000000..2df9768e6
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.nls;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * TCF Views Plug-in externalized strings management.
+ */
+public class Messages extends NLS {
+
+ // The plug-in resource bundle name
+ private static final String BUNDLE_NAME = "org.eclipse.tcf.te.tcf.ui.views.nls.Messages"; //$NON-NLS-1$
+
+ /**
+ * Static constructor.
+ */
+ static {
+ // Load message values from bundle file
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ // **** Declare externalized string id's down here *****
+
+ public static String Console_name;
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties
new file mode 100644
index 000000000..75b83b88b
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties
@@ -0,0 +1,6 @@
+#
+# org.eclipse.tcf.te.tcf.ui.views
+# Externalized Strings.
+#
+
+Console_name=Script Pad Console
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java
index f6ff03d34..b52d517e8 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java
@@ -34,6 +34,7 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
+import org.eclipse.tcf.te.ui.swt.DisplayUtil;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPartConstants;
import org.eclipse.ui.part.ViewPart;
@@ -229,8 +230,14 @@ public class ScriptPad extends ViewPart implements ISelectionProvider, Selection
this.peerModel = peerModel;
// Update the action bars
getViewSite().getActionBars().updateActionBars();
- // Fire a property change
- firePropertyChange(IWorkbenchPartConstants.PROP_INPUT);
+ // Fire a property change (in the UI Thread)
+ DisplayUtil.safeAsyncExec(new Runnable() {
+ @SuppressWarnings("synthetic-access")
+ @Override
+ public void run() {
+ firePropertyChange(IWorkbenchPartConstants.PROP_INPUT);
+ }
+ });
}
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java
index 32a411d9d..a1df3a2ae 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java
@@ -12,7 +12,7 @@ package org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.action.Action;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate;
import org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad;
import org.eclipse.ui.IViewPart;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java
index bbf012681..bbf012681 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java
index 05da44317..05da44317 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java
new file mode 100644
index 000000000..a67ccc523
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.scriptpad.console;
+
+import org.eclipse.tcf.te.tcf.ui.console.AbstractConsole;
+import org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin;
+import org.eclipse.tcf.te.tcf.ui.views.help.IContextHelpIds;
+import org.eclipse.tcf.te.tcf.ui.views.internal.ImageConsts;
+import org.eclipse.tcf.te.tcf.ui.views.nls.Messages;
+
+/**
+ * Script Pad console implementation.
+ */
+public class Console extends AbstractConsole {
+
+ /**
+ * Constructor.
+ */
+ public Console() {
+ super(Messages.Console_name, UIPlugin.getImageDescriptor(ImageConsts.SCRIPT_PAD_CONSOLE));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.AbstractConsole#getHelpContextId()
+ */
+ @Override
+ public String getHelpContextId() {
+ return IContextHelpIds.SCRIPT_PAD_CONSOLE_VIEW;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java
new file mode 100644
index 000000000..47f486f7b
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.scriptpad.console;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleFactory;
+import org.eclipse.ui.console.IConsoleManager;
+
+/**
+ * Script Pad console factory implementation.
+ */
+public class Factory implements IConsoleFactory {
+ // Reference to the console
+ private static Console console;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.IConsoleFactory#openConsole()
+ */
+ @Override
+ public void openConsole() {
+ showConsole();
+ }
+
+ /**
+ * Checks if the given console is already added to the console manager.
+ *
+ * @param console The console. Must not be <code>null</code>.
+ * @return <code>True</code> if the console exist, <code>false</code> otherwise.
+ */
+ private static boolean isConsoleAlreadyAdded(IConsole console) {
+ Assert.isNotNull(console);
+ // Assume the console to be not yet added
+ boolean alreadyAdded = false;
+ // Check all consoles if it is the same instance as the passed in one
+ for (IConsole candidate : ConsolePlugin.getDefault().getConsoleManager().getConsoles()) {
+ if (candidate == console) {
+ alreadyAdded = true;
+ break;
+ }
+ }
+ return alreadyAdded;
+ }
+
+ /**
+ * Shows the Script Pad console.
+ */
+ public static void showConsole() {
+ // Create a new console if not yet created
+ if (console == null) console = new Console();
+
+ // Get the console manager
+ IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
+ // Add the console to the manager if not yet done
+ if (!isConsoleAlreadyAdded(console)) manager.addConsoles(new IConsole[] {console});
+ // Show the console view with the TCF communication monitor console
+ manager.showConsoleView(console);
+ }
+
+ /**
+ * Returns the Script Pad console.
+ *
+ * @return The Script Pad console or <code>null</code>.
+ */
+ public static Console getConsole() {
+ return console;
+ }
+
+ /**
+ * Shutdown the Script Pad console.
+ */
+ public static void shutdownConsole() {
+ if (console != null) {
+ console.shutdown();
+ console = null;
+ }
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java
new file mode 100644
index 000000000..5dc14fa9a
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.scriptpad.events;
+
+import java.util.EventObject;
+
+import org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent;
+import org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Console;
+import org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Factory;
+import org.eclipse.tcf.te.ui.events.AbstractEventListener;
+
+/**
+ * Script Pad console event listener
+ */
+public class EventListener extends AbstractEventListener {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.runtime.interfaces.events.IEventListener#eventFired(java.util.EventObject)
+ */
+ @Override
+ public void eventFired(EventObject event) {
+ if (event instanceof ScriptEvent) {
+ ScriptEvent scriptEvent = (ScriptEvent)event;
+
+ // Get the event type
+ ScriptEvent.Type type = scriptEvent.getType();
+
+ switch (type) {
+ case START:
+ Factory.showConsole();
+ break;
+ case OUTPUT:
+ Console console = Factory.getConsole();
+ if (console != null) {
+ ScriptEvent.Message message = scriptEvent.getMessage();
+ if (message != null) console.appendMessage(message.type, message.text);
+ }
+ break;
+ case STOP:
+ break;
+ }
+ }
+ }
+
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF
index cb78a075e..5ae0ca93e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF
@@ -32,10 +32,10 @@ Export-Package: org.eclipse.tcf.te.tcf.ui.activator;x-internal:=true,
org.eclipse.tcf.te.tcf.ui.internal.filter;x-internal:=true,
org.eclipse.tcf.te.tcf.ui.internal.handler;x-internal:=true,
org.eclipse.tcf.te.tcf.ui.internal.help;x-internal:=true,
- org.eclipse.tcf.te.tcf.ui.internal.navigator;x-internal:=true,
- org.eclipse.tcf.te.tcf.ui.internal.navigator.images;x-internal:=true,
+ org.eclipse.tcf.te.tcf.ui.navigator,
+ org.eclipse.tcf.te.tcf.ui.navigator.images,
org.eclipse.tcf.te.tcf.ui.nls;x-internal:=true,
org.eclipse.tcf.te.tcf.ui.tables,
- org.eclipse.tcf.te.tcf.ui.wizards;x-internal:=true,
+ org.eclipse.tcf.te.tcf.ui.wizards,
org.eclipse.tcf.te.tcf.ui.wizards.controls,
- org.eclipse.tcf.te.tcf.ui.wizards.pages;x-internal:=true
+ org.eclipse.tcf.te.tcf.ui.wizards.pages
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif
new file mode 100644
index 000000000..e9df7b871
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif
Binary files differ
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties
index b09fd0777..0fb07dd50 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties
@@ -26,10 +26,6 @@ NewTargetWizard.description=Specify the attributes of the peer to connect to.
NodePropertiesEditorPage.name=General
-# ***** Views *****
-
-ScriptPad.name=Script Pad
-
# ***** Command Contributions *****
command.category.name=Target Explorer Commands (TCF)
@@ -39,9 +35,3 @@ command.refresh.tooltip=Refresh
command.delete.label=&Delete
command.delete.tooltip=Delete
-
-PeersSubMenuAction.label=Peers
-PeersSubMenuAction.tooltip=Select the peer to play the script on.
-
-PlayAction.label=Play
-PlayAction.tooltip=Play the script on the selected peer.
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml
index e4652fa21..a28aef2a4 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml
@@ -16,10 +16,10 @@
<extension point="org.eclipse.ui.navigator.navigatorContent">
<navigatorContent
activeByDefault="true"
- contentProvider="org.eclipse.tcf.te.tcf.ui.internal.navigator.ContentProviderDelegate"
+ contentProvider="org.eclipse.tcf.te.tcf.ui.navigator.ContentProviderDelegate"
icon="icons/obj16/rootNode_obj.gif"
id="org.eclipse.tcf.te.tcf.ui.navigator.content"
- labelProvider="org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider"
+ labelProvider="org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider"
name="Dynamic Target Discovery (TCF)"
priority="normal">
<enablement>
@@ -87,65 +87,6 @@
</editorPageBinding>
</extension>
-<!-- View contributions -->
- <extension point="org.eclipse.ui.views">
- <view
- allowMultiple="true"
- category="org.eclipse.tcf.te.ui.views.category"
- class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad"
- icon="icons/eview16/scriptpad.gif"
- id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
- name="%ScriptPad.name"
- restorable="true">
- </view>
- </extension>
-
-<!-- Perspective extension contributions -->
- <extension point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension targetID="org.eclipse.tcf.te.ui.perspective">
- <view
- closeable="true"
- id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
- minimized="false"
- moveable="true"
- ratio="0.4"
- relationship="bottom"
- relative="org.eclipse.tcf.te.ui.views.TargetExplorer"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <viewShortcut
- id="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
- </viewShortcut>
- </perspectiveExtension>
- </extension>
-
-<!-- Script Pad menu contributions -->
- <extension point="org.eclipse.ui.viewActions">
- <viewContribution
- id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar"
- targetID="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
- <action
- class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PeersSubMenuAction"
- icon="icons/obj16/target.gif"
- id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.peers"
- label="%PeersSubMenuAction.label"
- style="pulldown"
- toolbarPath="peers">
- </action>
-
- <action
- class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PlayAction"
- icon="icons/etool16/run_exc.gif"
- id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.play"
- label="%PlayAction.label"
- style="push"
- toolbarPath="play">
- </action>
- </viewContribution>
- </extension>
-
<!-- Target Explorer menu contributions -->
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.tcf.te.ui.views.TargetExplorer#Popup?after=group.refresh">
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java
index 1825971d2..fa0d4fbc3 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java
@@ -97,8 +97,8 @@ public class UIPlugin extends AbstractUIPlugin {
*/
@Override
protected void initializeImageRegistry(ImageRegistry registry) {
- URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "target.gif"); //$NON-NLS-1$
- registry.put(ImageConsts.TARGET, ImageDescriptor.createFromURL(url));
+ URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "peer.gif"); //$NON-NLS-1$
+ registry.put(ImageConsts.PEER, ImageDescriptor.createFromURL(url));
url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OVR + "gold_ovr.gif"); //$NON-NLS-1$
registry.put(ImageConsts.GOLD_OVR, ImageDescriptor.createFromURL(url));
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java
index a78a5d9e9..3b4d6dff1 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java
@@ -32,7 +32,7 @@ import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.tcf.protocol.Protocol;
import org.eclipse.tcf.te.tcf.ui.internal.help.IContextHelpIds;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate;
import org.eclipse.tcf.te.tcf.ui.nls.Messages;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
@@ -113,7 +113,7 @@ public class AgentSelectionDialog extends CustomTitleAreaDialog {
viewer.setContentProvider(new ArrayContentProvider());
LabelProviderDelegate labelProvider = new LabelProviderDelegate() {
/* (non-Javadoc)
- * @see org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
+ * @see org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
*/
@Override
public Image decorateImage(Image image, Object element) {
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java
index c9b63917d..028b29797 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java
@@ -61,9 +61,9 @@ public interface ImageConsts {
// ***** The image constants *****
/**
- * The key to access the base target object image.
+ * The key to access the base peer object image.
*/
- public static final String TARGET = "TargetObject"; //$NON-NLS-1$
+ public static final String PEER = "PeerObject"; //$NON-NLS-1$
/**
* The key to access the target object gold overlay image.
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ContentProviderDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ContentProviderDelegate.java
index c4a79d761..a37bdaea7 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ContentProviderDelegate.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ContentProviderDelegate.java
@@ -7,7 +7,7 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.internal.navigator;
+package org.eclipse.tcf.te.tcf.ui.navigator;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProvider.java
index c3dcc11fc..297024712 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProvider.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProvider.java
@@ -7,7 +7,7 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.internal.navigator;
+package org.eclipse.tcf.te.tcf.ui.navigator;
import org.eclipse.jface.viewers.DecoratingLabelProvider;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProviderDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProviderDelegate.java
index 5c2e3e37a..445a7bff9 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProviderDelegate.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProviderDelegate.java
@@ -7,7 +7,7 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.internal.navigator;
+package org.eclipse.tcf.te.tcf.ui.navigator;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.viewers.ILabelDecorator;
@@ -18,7 +18,7 @@ import org.eclipse.tcf.protocol.Protocol;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
import org.eclipse.tcf.te.tcf.ui.activator.UIPlugin;
import org.eclipse.tcf.te.tcf.ui.internal.ImageConsts;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.images.PeerImageDescriptor;
+import org.eclipse.tcf.te.tcf.ui.navigator.images.PeerImageDescriptor;
import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor;
@@ -63,7 +63,7 @@ public class LabelProviderDelegate extends LabelProvider implements ILabelDecora
@Override
public Image getImage(Object element) {
if (element instanceof IPeerModel) {
- return UIPlugin.getImage(ImageConsts.TARGET);
+ return UIPlugin.getImage(ImageConsts.PEER);
}
return super.getImage(element);
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ModelListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ModelListener.java
index 9b62b22fe..0555c03e5 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ModelListener.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ModelListener.java
@@ -7,7 +7,7 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.internal.navigator;
+package org.eclipse.tcf.te.tcf.ui.navigator;
import org.eclipse.core.runtime.Assert;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/images/PeerImageDescriptor.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/images/PeerImageDescriptor.java
index cbdc37fbd..d99905b67 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/images/PeerImageDescriptor.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/images/PeerImageDescriptor.java
@@ -7,7 +7,7 @@
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
-package org.eclipse.tcf.te.tcf.ui.internal.navigator.images;
+package org.eclipse.tcf.te.tcf.ui.navigator.images;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.resource.ImageRegistry;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java
index 2cf1462bf..6c9e4a4eb 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java
@@ -29,7 +29,7 @@ import org.osgi.framework.BundleContext;
public class UIPlugin extends AbstractUIPlugin {
// The shared instance
private static UIPlugin plugin;
-
+ // The scoped preferences instance
private static ScopedEclipsePreferences scopedPreferences = null;
// The trace handler instance
private static TraceHandler traceHandler;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml
index 6939a513d..5cdef74b1 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml
@@ -24,7 +24,7 @@
categoryId="org.eclipse.tcf.te.ui.commands.category"
defaultHandler="org.eclipse.tcf.te.ui.wizards.newWizard.NewWizardCommandHandler"
description="%Command.newWizards.description"
- helpContextId="org.eclipse.tcf.te.ui.command.newWizards"
+ helpContextId="org.eclipse.tcf.te.ui.command_NewWizards"
id="org.eclipse.tcf.te.ui.command.newWizards"
name="%Command.newWizards.name">
</command>

Back to the top