/******************************************************************************* * Copyright (c) 2012, 2016, 2017 PDT Extension Group 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: * PDT Extension Group - initial API and implementation * Kaloyan Raev - [501269] externalize strings *******************************************************************************/ package org.eclipse.php.composer.ui.handler; import org.eclipse.php.composer.core.launch.execution.ExecutionResponseAdapter; import org.eclipse.php.composer.core.log.Logger; import org.eclipse.ui.console.*; public class ConsoleResponseHandler extends ExecutionResponseAdapter { public ConsoleResponseHandler() { } private MessageConsole findConsole(String name) { ConsolePlugin plugin = ConsolePlugin.getDefault(); IConsoleManager conMan = plugin.getConsoleManager(); IConsole[] existing = conMan.getConsoles(); for (int i = 0; i < existing.length; i++) if (name.equals(existing[i].getName())) return (MessageConsole) existing[i]; // no console found, so create a new one MessageConsole console = new MessageConsole(name, null); conMan.addConsoles(new IConsole[] { console }); return console; } @Override public void executionAboutToStart() { MessageConsole console = findConsole("Composer"); //$NON-NLS-1$ console.clearConsole(); } @Override public void executionMessage(String message) { MessageConsole console = findConsole("Composer"); //$NON-NLS-1$ MessageConsoleStream out = console.newMessageStream(); out.println(message); } public void executionFailed(String response, Exception e) { Logger.log(Logger.ERROR, response); Logger.logException(e); } }