47 lines
2.5 KiB
Java
47 lines
2.5 KiB
Java
package org.gcube.dataanalysis.executor.job.management;
|
|
|
|
import java.io.File;
|
|
|
|
import org.gcube.contentmanagement.lexicalmatcher.utils.AnalysisLogger;
|
|
import org.gcube.contentmanagement.lexicalmatcher.utils.FileTools;
|
|
import org.gcube.dataanalysis.ecoengine.configuration.AlgorithmConfiguration;
|
|
|
|
import com.thoughtworks.xstream.XStream;
|
|
|
|
public class GenericWorkerCaller {
|
|
|
|
|
|
public static String getGenericWorkerCall(String algorithm, String session, AlgorithmConfiguration configuration,int leftSetIndex,int rightSetIndex,int leftElements,int rightElements, boolean isduplicate,boolean deleteTemporaryFiles) throws Exception{
|
|
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
|
String xmlconfig = new XStream().toXML(configuration);
|
|
xmlconfig = xmlconfig.replace("\n", "").replace("\t", "");
|
|
xmlconfig = xmlconfig.replaceAll(">[ ]+<", "> <");
|
|
|
|
AnalysisLogger.getLogger().debug("CONFIG of Task:");
|
|
AnalysisLogger.getLogger().debug("algorithm: "+algorithm);
|
|
AnalysisLogger.getLogger().debug("leftSetIndex: "+leftSetIndex);
|
|
AnalysisLogger.getLogger().debug("leftElements: "+leftElements);
|
|
AnalysisLogger.getLogger().debug("rightSetIndex: "+rightSetIndex);
|
|
AnalysisLogger.getLogger().debug("rightElements: "+rightElements);
|
|
AnalysisLogger.getLogger().debug("session: "+session);
|
|
AnalysisLogger.getLogger().debug("isduplicate: "+isduplicate);
|
|
AnalysisLogger.getLogger().debug("deleteTemporaryFiles: "+deleteTemporaryFiles);
|
|
|
|
File is = new File(classLoader.getResource("WPSGWTemplate.xml").getFile());
|
|
String call=FileTools.loadString(is.getAbsolutePath(), "UTF-8");
|
|
AnalysisLogger.getLogger().debug("call template : "+call);
|
|
call = call.replace("#"+GenericWorker.AlgorithmClassParameter+"#", algorithm);
|
|
call = call.replace("#"+GenericWorker.LeftSetStartIndexParameter+"#", ""+leftSetIndex);
|
|
call = call.replace("#"+GenericWorker.NumberOfLeftElementsToProcessParameter+"#", ""+leftElements);
|
|
call = call.replace("#"+GenericWorker.RightSetStartIndexParameter+"#", ""+rightSetIndex);
|
|
call = call.replace("#"+GenericWorker.NumberOfRightElementsToProcessParameter+"#", ""+rightElements);
|
|
call = call.replace("#"+GenericWorker.SessionParameter+"#", session);
|
|
call = call.replace("#"+GenericWorker.IsDuplicateParameter+"#", ""+isduplicate);
|
|
call = call.replace("#"+GenericWorker.DeleteTemporaryFilesParameter+"#", ""+deleteTemporaryFiles);
|
|
call = call.replace("#"+GenericWorker.ConfigurationFileParameter+"#", ""+xmlconfig);
|
|
|
|
return call;
|
|
|
|
}
|
|
}
|