/**
* Copyright 2014 Liverpool John Moores University <http://www.ljmu.ac.uk/cmp/>
* Aniketos Project FP7-ICT-257930 <http://www.aniketos.eu>
* David Llewellyn-Jones <D.Llewellyn-Jones@ljmu.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
package eu.aniketos.ncvm.userinterface;
import javax.jws.WebParam;
import javax.jws.WebService;
import eu.aniketos.ncvm.userinterface.views.NCVM;
@WebService(
endpointInterface = "eu.aniketos.ncvm.userinterface.NCVMFeedback",
serviceName = "NCVMFeedback"
)
public class NCVMFeedback implements INCVMFeedback {
NCVM ncvmLog;
public NCVMFeedback() {
ncvmLog = null;
}
public NCVMFeedback(NCVM ncvmLog) {
this.ncvmLog = ncvmLog;
}
public void setNCVM (NCVM ncvmLog) {
this.ncvmLog = ncvmLog;
}
@Override
public void logLine(@WebParam(name="text")String text) {
System.out.println("NCVM Feedback: " + text);
if (ncvmLog != null) {
if (Thread.currentThread() != ncvmLog.display.getThread()) {
final String logText = text;
ncvmLog.display.asyncExec(new Runnable() {
@Override
public void run() {
ncvmLog.logOutputLine("# " + logText);
}
});
}
else {
ncvmLog.logOutputLine("# " + text);
}
}
}
}