--- /dev/null
+package com.samsung.ide.common.util;
+import java.io.IOException;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleConstants;
+import org.eclipse.ui.console.IConsoleManager;
+import org.eclipse.ui.console.IConsoleView;
+import org.eclipse.ui.console.MessageConsole;
+import org.eclipse.ui.console.MessageConsoleStream;
+
+public class SLPConsole
+{
+ private static SLPConsole fDefault = null;
+ private static final String NAME = "SLP-Console";
+ private static MessageConsole console;
+
+ private SLPConsole(){}
+ static {
+ if (fDefault == null) {
+ fDefault = new SLPConsole();
+ console = findConsole(NAME);
+ }
+ }
+ private static MessageConsole findConsole(String name) {
+ ConsolePlugin plugin = ConsolePlugin.getDefault();
+ IConsoleManager conMgr = plugin.getConsoleManager();
+ IConsole[] existing = conMgr.getConsoles();
+
+ for (int i = 0; i < existing.length; i++) {
+ if (name.equals(existing[i].getName()))
+ return (MessageConsole) existing[i];
+ }
+ // if no console found, then create a new one
+ MessageConsole myConsole = new MessageConsole(name, null);
+ conMgr.addConsoles(new IConsole[] { myConsole});
+ return myConsole;
+ }
+ public static void print(String line) {
+ final MessageConsoleStream output = console.newMessageStream();
+ output.print(line);
+ try {
+ output.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ public static void println(String line) {
+ final MessageConsoleStream output = console.newMessageStream();
+ output.println(line);
+ try {
+ output.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ public static void clear()
+ {
+ Runnable runnable = new Runnable() {
+ public void run() {
+ IDocument document = console.getDocument();
+ if (document != null) {
+ document.set("");
+ }
+ }
+ };
+ Display.getDefault().syncExec(runnable);
+ }
+ public static void show() {
+ Runnable runnable = new Runnable() {
+ public void run() {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ String id = IConsoleConstants.ID_CONSOLE_VIEW;
+ IConsoleView view = null;
+ try {
+ view = (IConsoleView) page.showView(id);
+ } catch (PartInitException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ view.display(console);
+ }
+ };
+ Display.getDefault().syncExec(runnable);
+
+ }
+}
+