// Path: src/main/java/rainbownlp/util/ConfigurationUtil.java
// public class ConfigurationUtil {
// 	public static final String RuleSureCorpus = "RuleSure";
// 	public static boolean SaveInGetInstance = true;
// 	static Properties configFile = new Properties();
// 	static boolean loadedRNLPConfig = false;
// 	public enum OperationMode
// 	{
// 		TRIGGER,
// 		EDGE,
// 		ARTIFACT
// 	}
// 	public static OperationMode Mode = OperationMode.TRIGGER;
// 	public static boolean TrainingMode = true;
// 	// This switch between using Development set or Test set for evaluation, set to true if you want to generate test submission files
// 	public static boolean ReleaseMode = false;
// 	public static int NotTriggerNumericValue = 10;
// 	public static int NotEdgeNumericValue = 9;
// 	public static int MinInstancePerLeaf;
// 	public static Double SVMCostParameter;
// 	public static Double SVMPolyCParameter;
// 	public static enum SVMKernels  {
// 		  Linear, //0: linear (default)
//         Polynomial, //1: polynomial (s a*b+c)^d
//         Radial, //2: radial basis function exp(-gamma ||a-b||^2)
//         SigmoidTanh //3: sigmoid tanh(s a*b + c)
// 	};
// 	public static SVMKernels SVMKernel;
// 
// 	public static boolean batchMode = false;
// 	public static int crossValidationFold;
// 	public static int crossFoldCurrent = 0;
// 	
// 	public static String[] getArrayValues(String key)
// 	{
// 		if(getValue(key)==null)
// 			return null;
// 		String[] arrayValues = getValue(key).split("\\|");
// 		return arrayValues;
// 	}
// 	public static void init()
// 	{
// 		if(!loadedRNLPConfig){
// 			  Properties rnlpConfigFile = new Properties();
// 			try {
// 				InputStream config_file = 
// 						ConfigurationUtil.class.getClassLoader().
// 							getResourceAsStream("configuration.conf");//
// 					//Configuration.class.getClassLoader().getResourceAsStream("/configuration.properties");
// 				rnlpConfigFile.load(config_file);
// 				
// 				configFile.putAll(rnlpConfigFile);
// 				
// 				MinInstancePerLeaf = Integer.parseInt(configFile.getProperty("MinInstancePerLeaf"));
// 				SVMCostParameter = Double.parseDouble(configFile.getProperty("SVMCostParameter"));
// 				SVMPolyCParameter = Double.parseDouble(configFile.getProperty("SVMPolyCParameter"));
// 				ReleaseMode = Boolean.parseBoolean(configFile.getProperty("ReleaseMode"));
// 				SVMKernel = SVMKernels.values()[Integer.parseInt(configFile.getProperty("SVMKernel"))];
// 			} catch (Exception e) {
// 				// TODO Auto-generated catch block
// 				e.printStackTrace();
// 			}
// 		}
// 	}
// 	
// 	public static void init(String configurationFileName) throws IOException
// 	{
// 		init();
// 		configFile = new Properties();
// 		InputStream config_file = 
// 				ConfigurationUtil.class.getClassLoader().
// 				getResourceAsStream(configurationFileName);//
// 		//Configuration.class.getClassLoader().getResourceAsStream("/configuration.properties");
// 		configFile.load(config_file);
// 	}
// 	public static void init(String configurationFileName, String hibernateConfigFile) throws IOException
// 	{
// 		init(configurationFileName);
// 		HibernateUtil.initialize("hibernate-oss.cfg.xml");
// 	}
// 	public static String getValue(String key){
// 		init();
// 		return configFile.getProperty(key);
// 	}
// 
// 	public static int getValueInteger(String key) {
// 		String val = getValue(key);
// 		if(val==null) return 0;
// 		int result = Integer.parseInt(val);
// 		return result;
// 	}
// 
// 	public static String getResourcePath(String resourceName) {
// 		return ConfigurationUtil.class.getClassLoader().getResource(resourceName).getPath();
// 	}
// 
// 	public static InputStream getResourceStream(String resourceName) {
// 		return ConfigurationUtil.class.getClassLoader().getResourceAsStream(resourceName);
// 	}
// 	
// 
// 	
// 	
// }


import rainbownlp.util.ConfigurationUtil;
package rainbownlp.machinelearning;


public class SVMLightRegression extends SVMLightBasedLearnerEngine {
	private SVMLightRegression()
	{
		
	}

	public static LearnerEngine getLearnerEngine(String pTaskName) {
		SVMLightRegression learnerEngine = new SVMLightRegression();
		learnerEngine.setTaskName(pTaskName);
		
		return learnerEngine;
	}

	@Override
	protected boolean isBinaryClassification() {
		return false;
	}

	@Override
	protected String getTrainCommand() {
		String myShellScript = 
// Path: src/main/java/rainbownlp/util/ConfigurationUtil.java
// public class ConfigurationUtil {
// 	public static final String RuleSureCorpus = "RuleSure";
// 	public static boolean SaveInGetInstance = true;
// 	static Properties configFile = new Properties();
// 	static boolean loadedRNLPConfig = false;
// 	public enum OperationMode
// 	{
// 		TRIGGER,
// 		EDGE,
// 		ARTIFACT
// 	}
// 	public static OperationMode Mode = OperationMode.TRIGGER;
// 	public static boolean TrainingMode = true;
// 	// This switch between using Development set or Test set for evaluation, set to true if you want to generate test submission files
// 	public static boolean ReleaseMode = false;
// 	public static int NotTriggerNumericValue = 10;
// 	public static int NotEdgeNumericValue = 9;
// 	public static int MinInstancePerLeaf;
// 	public static Double SVMCostParameter;
// 	public static Double SVMPolyCParameter;
// 	public static enum SVMKernels  {
// 		  Linear, //0: linear (default)
//         Polynomial, //1: polynomial (s a*b+c)^d
//         Radial, //2: radial basis function exp(-gamma ||a-b||^2)
//         SigmoidTanh //3: sigmoid tanh(s a*b + c)
// 	};
// 	public static SVMKernels SVMKernel;
// 
// 	public static boolean batchMode = false;
// 	public static int crossValidationFold;
// 	public static int crossFoldCurrent = 0;
// 	
// 	public static String[] getArrayValues(String key)
// 	{
// 		if(getValue(key)==null)
// 			return null;
// 		String[] arrayValues = getValue(key).split("\\|");
// 		return arrayValues;
// 	}
// 	public static void init()
// 	{
// 		if(!loadedRNLPConfig){
// 			  Properties rnlpConfigFile = new Properties();
// 			try {
// 				InputStream config_file = 
// 						ConfigurationUtil.class.getClassLoader().
// 							getResourceAsStream("configuration.conf");//
// 					//Configuration.class.getClassLoader().getResourceAsStream("/configuration.properties");
// 				rnlpConfigFile.load(config_file);
// 				
// 				configFile.putAll(rnlpConfigFile);
// 				
// 				MinInstancePerLeaf = Integer.parseInt(configFile.getProperty("MinInstancePerLeaf"));
// 				SVMCostParameter = Double.parseDouble(configFile.getProperty("SVMCostParameter"));
// 				SVMPolyCParameter = Double.parseDouble(configFile.getProperty("SVMPolyCParameter"));
// 				ReleaseMode = Boolean.parseBoolean(configFile.getProperty("ReleaseMode"));
// 				SVMKernel = SVMKernels.values()[Integer.parseInt(configFile.getProperty("SVMKernel"))];
// 			} catch (Exception e) {
// 				// TODO Auto-generated catch block
// 				e.printStackTrace();
// 			}
// 		}
// 	}
// 	
// 	public static void init(String configurationFileName) throws IOException
// 	{
// 		init();
// 		configFile = new Properties();
// 		InputStream config_file = 
// 				ConfigurationUtil.class.getClassLoader().
// 				getResourceAsStream(configurationFileName);//
// 		//Configuration.class.getClassLoader().getResourceAsStream("/configuration.properties");
// 		configFile.load(config_file);
// 	}
// 	public static void init(String configurationFileName, String hibernateConfigFile) throws IOException
// 	{
// 		init(configurationFileName);
// 		HibernateUtil.initialize("hibernate-oss.cfg.xml");
// 	}
// 	public static String getValue(String key){
// 		init();
// 		return configFile.getProperty(key);
// 	}
// 
// 	public static int getValueInteger(String key) {
// 		String val = getValue(key);
// 		if(val==null) return 0;
// 		int result = Integer.parseInt(val);
// 		return result;
// 	}
// 
// 	public static String getResourcePath(String resourceName) {
// 		return ConfigurationUtil.class.getClassLoader().getResource(resourceName).getPath();
// 	}
// 
// 	public static InputStream getResourceStream(String resourceName) {
// 		return ConfigurationUtil.class.getClassLoader().getResourceAsStream(resourceName);
// 	}
// 	
// 
// 	
// 	
// }


// Path: src/main/java/rainbownlp/machinelearning/SVMLightRegression.java
import rainbownlp.util.ConfigurationUtil;

package rainbownlp.machinelearning;


public class SVMLightRegression extends SVMLightBasedLearnerEngine {
	private SVMLightRegression()
	{
		
	}

	public static LearnerEngine getLearnerEngine(String pTaskName) {
		SVMLightRegression learnerEngine = new SVMLightRegression();
		learnerEngine.setTaskName(pTaskName);
		
		return learnerEngine;
	}

	@Override
	protected boolean isBinaryClassification() {
		return false;
	}

	@Override
	protected String getTrainCommand() {
		String myShellScript = 
				ConfigurationUtil.getValue("SVMLightLearnerPath")