/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.command.console.osgi;
import org.eclipse.osgi.framework.console.CommandInterpreter;
import de.rcenvironment.core.command.api.CommandExecutionService;
import de.rcenvironment.core.command.spi.AbstractInteractiveCommandConsole;
import de.rcenvironment.core.utils.common.textstream.TextOutputReceiver;
/**
* Adapter to use an existing OSGi {@link CommandInterpreter} as a {@link TextOutputReceiver}. Only {@link #addOutput(String)} and
* {@link #onFatalError(Exception)} have an effect; {@link #onStart()} and {@link #onFinished()} are ignored.
*
* @author Robert Mischke
*/
public class OsgiConsoleOutputAdapter extends AbstractInteractiveCommandConsole {
private final CommandInterpreter interpreter;
// TODO merge back as nested class as it contains almost no functionality anymore? - misc_ro, 2014-06
public OsgiConsoleOutputAdapter(CommandInterpreter interpreter, CommandExecutionService commandExecutionService) {
super(commandExecutionService, "rce ");
this.interpreter = interpreter;
}
@Override
public void addOutput(String line) {
interpreter.println(line);
}
}