package edu.harvard.i2b2.crc.ejb.analysis;
import java.util.HashMap;
import java.util.Map;
import edu.harvard.i2b2.common.exception.I2B2DAOException;
import edu.harvard.i2b2.crc.dao.SetFinderDAOFactory;
import edu.harvard.i2b2.crc.dao.setfinder.IAnalysisPluginDao;
import edu.harvard.i2b2.crc.datavo.db.QtAnalysisPlugin;
public class AnalysisPluginHelper {
private SetFinderDAOFactory sfDAOFactory;
public static final String COMMAND_LINE = "COMMAND_LINE";
public static final String WORKING_FOLDER = "WORKING_FOLDER";
public AnalysisPluginHelper(SetFinderDAOFactory sfDAOFactory) {
this.sfDAOFactory = sfDAOFactory;
}
public Map getExecInfo(String analysisName, String version, String projectId) {
Map execInfoMap = new HashMap();
// lookup by name and return
IAnalysisPluginDao analysisPluginDao = sfDAOFactory
.getAnalysisPluginDao();
try {
QtAnalysisPlugin analysisPlugin = analysisPluginDao
.lookupAnalysisPluginByNameVersionProject(analysisName,
version, projectId);
execInfoMap.put(COMMAND_LINE, analysisPlugin.getCommandLine());
execInfoMap.put(WORKING_FOLDER, analysisPlugin.getWorkingFolder());
} catch (I2B2DAOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return command line and working directory
return execInfoMap;
}
}