org.biojava.nbio.structure.align.webstart.WebStartDBSearch Maven / Gradle / Ivy
/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.nbio.structure.align.webstart;
import org.biojava.nbio.structure.align.FarmJob;
import org.biojava.nbio.structure.align.client.FarmJobParameters;
import org.biojava.nbio.structure.align.gui.GUIFarmJobRunnable;
import org.biojava.nbio.structure.align.util.CliTools;
import org.biojava.nbio.structure.align.util.ConfigurationException;
import javax.swing.*;
import java.util.Arrays;
import java.util.List;
/** A Web Start wrapper for a FarmJobRunnable.
*
*/
public class WebStartDBSearch {
private static final String[] mandParams = new String[] {"pdbFilePath"};
private static final List mandatoryArgs= Arrays.asList(mandParams);
public WebStartDBSearch(){
}
public static void main(String[] argv) {
FarmJob job = new FarmJob();
if (argv.length == 0 ) {
job.printHelp();
JOptionPane.showMessageDialog(null,
"Not enough arguments!");
return;
}
if ( argv.length == 1){
if (argv[0].equalsIgnoreCase("-h") || argv[0].equalsIgnoreCase("-help")|| argv[0].equalsIgnoreCase("--help")){
job.printHelp();
JOptionPane.showMessageDialog(null,
"Help not supported...");
return;
}
}
FarmJobParameters params = new FarmJobParameters();
for (int i = 0 ; i < argv.length; i++){
String arg = argv[i];
String value = null;
if ( i < argv.length -1)
value = argv[i+1];
// if value starts with - then the arg does not have a value.
if (value != null && value.startsWith("-"))
value = null;
else
i++;
String[] tmp = {arg,value};
try {
CliTools.configureBean(params, tmp);
} catch (ConfigurationException e){
e.printStackTrace();
if ( mandatoryArgs.contains(arg) ) {
// there must not be a ConfigurationException with mandatory arguments.
JOptionPane.showMessageDialog(null,
e.getMessage());
return;
} else {
// but there can be with optional ...
}
}
}
params.setRunBackground(true);
GUIFarmJobRunnable runnable = new GUIFarmJobRunnable(params);
//javax.swing.SwingUtilities.invokeLater(runnable);
runnable.run();
}
}