/* * Copyright (c) 2006-2007 Massachusetts General Hospital * All rights reserved. This program and the accompanying materials * are made available under the terms of the i2b2 Software License v1.0 * which accompanies this distribution. * * Contributors: * Mike Mendis - initial API and implementation */ package edu.harvard.i2b2.pm.ws; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import edu.harvard.i2b2.pm.delegate.RequestHandler; /** * Implements thread runnable interface, to do PM * notes processing using thread. */ public class ExecutorRunnable implements Runnable { private String inputString = null; protected final Log log = LogFactory.getLog(getClass()); private String outputString = null; private Exception ex = null; private boolean jobCompleteFlag = false; private RequestHandler reqHandler = null; public Exception getJobException() { return ex; } public boolean isJobCompleteFlag() { return jobCompleteFlag; } public void setJobCompleteFlag(boolean jobCompleteFlag) { this.jobCompleteFlag = jobCompleteFlag; } public void setJobException(Exception ex) { this.ex = ex; } public String getInputString() { return inputString; } public void setInputString(String inputString) { this.inputString = inputString; } public String getOutputString() { return outputString; } public void setRequestHandler(RequestHandler handler) { log.debug("Setting the requesthandler"); this.reqHandler = handler; } public RequestHandler getRequestHandler() { return this.reqHandler; } public void setOutputString(String outputString) { this.outputString = outputString; } public void run() { try { outputString = reqHandler.execute(); setJobCompleteFlag(true); } catch (Exception e) { setJobCompleteFlag(true); setJobException(e); } //notify(); } }