Subject: libdrmaa-java removed from Debian (gridengine)
Description:  DRMAA job submission needs a Java drmaa library.
 libdrmaa-java has been removed from Debian, bug: 776131.
 This patch removes DRMAA related code waiting for library
 reintroduction.
 Logol will work on local mode only.
Author: Olivier Sallou <osallou@debian.org>
Last-Updated: 2015-02-01
--- a/src/org/irisa/genouest/logol/dispatcher/Dispatch.java
+++ b/src/org/irisa/genouest/logol/dispatcher/Dispatch.java
@@ -230,7 +230,6 @@
 		 options.addOption("h",false,"get usage");		
 		
 		 options.addOption("s", true, "sequence database");
-		 options.addOption("sge", false, "use SGE");
 		 options.addOption("local", false, "use local system");
 		 options.addOption("dna", false, "analyse dna, is default");
 		 options.addOption("rna", false, "analyse rna");
@@ -290,7 +289,6 @@
 				usageOptions.addOption("s", true, "sequence database");
 				usageOptions.addOption("g", true, "grammar file to analyse");
 				usageOptions.addOption("m", true, "model file to analyse");
-				usageOptions.addOption("sge", false, "use SGE");
 				usageOptions.addOption("local", false, "use local system");
 				usageOptions.addOption("dna", false, "analyse dna, is default");
 				usageOptions.addOption("rna", false, "analyse rna");
@@ -355,11 +353,6 @@
 			   type=LOCAL;
 			   jobmngr = (JobManager) new LocalJobManager();
 		 }
-		 if( cmd.hasOption( "sge" ) ) {
-			 logger.info("Using sge system");
-			    type=SGE;
-			    jobmngr = (JobManager) new SGEJobManager();
-		 }
 		 if( cmd.hasOption( "dna" ) ) {			 
 			    format=1;			
 		 }
--- a/src/org/irisa/genouest/logol/dispatcher/SGEJobManager.java
+++ b/src/org/irisa/genouest/logol/dispatcher/SGEJobManager.java
@@ -5,10 +5,6 @@
 import java.util.Vector;
 
 import org.apache.log4j.Logger;
-import org.ggf.drmaa.DrmaaException;
-import org.ggf.drmaa.JobTemplate;
-import org.ggf.drmaa.Session;
-import org.ggf.drmaa.SessionFactory;
 import org.irisa.genouest.logol.Constants;
 
 /*
@@ -18,111 +14,30 @@
 
 	private static final Logger logger = Logger.getLogger(org.irisa.genouest.logol.dispatcher.SGEJobManager.class);
 	
-	private static String OS = System.getProperty("os.name").toLowerCase();
-
-	
-	Vector<String> jobs = new Vector<String>();
-	Vector<String> jobsOutput = new Vector<String>();
-	Vector<String> jobsArgs = new Vector<String>();
-	Vector<String> jobIds = new Vector<String>();
-	
-	String arguments = "";
-	
-	static SessionFactory factory = null;
-	static Session session=null; 
-	
-	
-	String jobId = null;
-	
-	String installPath=null;
-	
 	UUID uID = null;
 	
 	public SGEJobManager() {
-		logger.info("Init DRM communication");
-		if(factory==null) {
-			factory = SessionFactory.getFactory();
-		}
-		if(session==null) {
-			session = factory.getSession();		
-		}
-		if(session==null) {
-			logger.error(" Drm session could not open");
-		}
-		logger.info("DRM system: "+session.getDrmSystem());
-		try {
-			session.init("");
-		} catch (DrmaaException e) {
-			logger.error("Could not init the DRM session: "+e.getMessage());
-		}
+		logger.error("DRMAA not supported, libdrmaa-java not available in Debian");
 	}
 	
 	public int addJob(String sequence, String output,String jobArgs) {
-		jobs.add(sequence);
-		jobsArgs.add(jobArgs);
-		jobsOutput.add(output);
 		return 0;
 	}
 
 	public int runJobs(String nativeSpecifications) {
-		JobTemplate jt;
-		for(int i=0;i<jobs.size();i++) {
-		try {
-			jt = session.createJobTemplate();
-			if(nativeSpecifications!=null) {
-				jt.setNativeSpecification(nativeSpecifications);
-			}
-			
-			jt.setJobName("LogolMatch");
-			
-			String out = jobsOutput.get(i);
-			// Redirect DRM streams 
-		    jt.setOutputPath(":" + out+".out");		
-			jt.setErrorPath(":" + out + ".err");
-			if(OS.startsWith("win")) {
-				jt.setArgs(new String[] {installPath + System.getProperty(Constants.FILESEPARATORPROPERTY)+ "LogolExec.rb", arguments,jobsArgs.get(i)," -output "+jobsOutput.get(i)});
-			    jt.setRemoteCommand("ruby");				
-			}
-			else {
-				jt.setArgs(new String[] {arguments,jobsArgs.get(i)," -output "+jobsOutput.get(i)});
-				jt.setRemoteCommand(installPath + System.getProperty(Constants.FILESEPARATORPROPERTY)+ "LogolExec.sh");
-			}
-		    jobId = session.runJob(jt);
-		    logger.info("Executing job: "+jobId);
-		    jobIds.add(jobId);
-		    session.deleteJobTemplate(jt);
-		} catch (DrmaaException e) {			
-			logger.error("Error during job submission: "+e.getMessage());
-			return -1;
-		}
-		}
-
-
+		logger.error("DRMAA not supported, libdrmaa-java not available in Debian");
 		return 0;
 	}
 
 	public int waitForJobsOver() {
-		
-		try {
-			session.synchronize(jobIds, Session.TIMEOUT_WAIT_FOREVER, true);
-			session.exit();
-		} catch (DrmaaException e) {
-			logger.error("Error during job submission: "+e.getMessage());
-		}
-		logger.info("Each sequence in bank resulted in a specific result file.");
-		for(int i=0;i<jobs.size();i++) {			
-			logger.debug("Result file is available in work directory : "+jobsOutput.get(i));
-			}
+		logger.error("DRMAA not supported, libdrmaa-java not available in Debian");
 		return 0;
 	}
 	
 	public void setJobArgs(String args) {
-		arguments=args;
 	}
 
 	public void setInstallPath(String installDir) {
-		installPath = installDir;
-		
 	}
 
 }
