/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ // $codepro.audit.disable staticFieldNamingConvention package com.aptana.ui.ftp.console; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import org.eclipse.ui.console.ConsolePlugin; import org.eclipse.ui.console.IConsole; import org.eclipse.ui.console.IConsoleFactory; import org.eclipse.ui.console.MessageConsole; import org.eclipse.ui.console.MessageConsoleStream; import com.aptana.theme.ConsoleThemer; import com.aptana.theme.extensions.ConsoleThemePageParticipant; import com.aptana.ui.ftp.FTPUIPlugin; /** * @author Max Stepanov * */ public class FTPConsoleFactory implements IConsoleFactory { private static MessageConsole console; private static MessageConsoleStream consoleOutputStream; /* (non-Javadoc) * @see org.eclipse.ui.console.IConsoleFactory#openConsole() */ public void openConsole() { ConsolePlugin.getDefault().getConsoleManager().showConsoleView(getOrcreateConsole()); } public static OutputStream newConsoleOutputStream() { getOrcreateConsole(); return consoleOutputStream; } private static MessageConsole getOrcreateConsole() { if (console == null) { console = new MessageConsole(Messages.FTPConsoleFactory_FTPConsole, FTPUIPlugin.getImageDescriptor("/icons/full/eview16/ftp.png")); //$NON-NLS-1$ Map<MessageConsoleStream, String> themeConsoleStreamToColor = new HashMap<MessageConsoleStream, String>(); consoleOutputStream = console.newMessageStream(); themeConsoleStreamToColor.put(consoleOutputStream, ConsoleThemer.CONSOLE_OUTPUT); console.setAttribute(ConsoleThemePageParticipant.THEME_CONSOLE_STREAM_TO_COLOR_ATTRIBUTE, themeConsoleStreamToColor); ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { console }); } return console; } }