blob: eb07e0150e6e072dc401226920a7e5e93cf474e3 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2020
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
******************************************************************************/
package org.polarsys.chess.core.internal.util;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleManager;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;
import org.polarsys.chess.core.util.CHESSProjectSupport;
/**
* The Class InternalConsoleUtil.
*/
public class InternalConsoleUtil {
/**
* Find console.
*
* @param name the name
* @return the message console
*/
public static MessageConsole findConsole(final 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 myConsole = new MessageConsole(name, null);
conMan.addConsoles(new IConsole[]{myConsole});
return myConsole;
}
/**
* Find CHES sconsole.
*
* @return the message console stream
*/
public static MessageConsoleStream findCHESSconsole(){
MessageConsole myConsole = findConsole(CHESSProjectSupport.CHESS_CONSOLE_NAME);
return myConsole.newMessageStream();
}
/**
* Write log.
*
* @param message the message
* @throws FileNotFoundException the file not found exception
*/
public static void writeLog(String message) throws FileNotFoundException {
FileOutputStream out = new FileOutputStream(InternalConsoleUtil.getEclipseInstallLocation()
+ "CHESSLOG");
PrintStream p = new PrintStream(out);
p.println(message);
p.close();
}
/**
* Gets the eclipse install location.
*
* @return the eclipse install location
*/
public static String getEclipseInstallLocation() {
if (System.getProperty("os.name").equals("Linux"))
return System.getProperties().get("osgi.install.area").toString()
.substring(5);
else
return System.getProperties().get("osgi.install.area").toString()
.substring(6);
}
}