| /******************************************************************************* |
| * Copyright (c) 2011 University of Illinois 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: |
| * Albert L. Rossi - design and implementation |
| ******************************************************************************/ |
| package org.eclipse.ptp.rm.jaxb.core.runnable.command; |
| |
| import java.io.IOException; |
| |
| import org.eclipse.debug.core.model.IStreamMonitor; |
| import org.eclipse.ptp.rm.jaxb.core.ICommandJobStreamMonitor; |
| import org.eclipse.ptp.rm.jaxb.core.ICommandJobStreamsProxy; |
| import org.eclipse.ptp.rm.jaxb.core.JAXBCorePlugin; |
| import org.eclipse.ptp.rm.jaxb.core.messages.Messages; |
| |
| public class CommandJobStreamsProxy implements ICommandJobStreamsProxy { |
| |
| private ICommandJobStreamMonitor out; |
| private ICommandJobStreamMonitor err; |
| |
| private boolean fClosed = false; |
| private boolean fStarted = false; |
| |
| public synchronized void close() { |
| if (!fClosed) { |
| if (out != null) { |
| out.close(); |
| } |
| if (err != null) { |
| err.close(); |
| } |
| fClosed = true; |
| } |
| } |
| |
| public void closeInputStream() throws IOException { |
| JAXBCorePlugin.log(new IOException(Messages.UnsupportedWriteException)); |
| } |
| |
| public IStreamMonitor getErrorStreamMonitor() { |
| return err; |
| } |
| |
| public IStreamMonitor getOutputStreamMonitor() { |
| return out; |
| } |
| |
| public void setErrMonitor(ICommandJobStreamMonitor err) { |
| this.err = err; |
| } |
| |
| public void setOutMonitor(ICommandJobStreamMonitor out) { |
| this.out = out; |
| } |
| |
| public synchronized void startMonitors() { |
| if (!fClosed && !fStarted) { |
| if (out != null) { |
| out.startMonitoring(); |
| } |
| if (err != null) { |
| err.startMonitoring(); |
| } |
| fStarted = true; |
| } |
| } |
| |
| public void write(String input) throws IOException { |
| JAXBCorePlugin.log(new IOException(Messages.UnsupportedWriteException)); |
| } |
| } |