org.emboss.jemboss.server
Class JembossAuthServer

java.lang.Object
  extended byorg.emboss.jemboss.server.JembossAuthServer

public class JembossAuthServer
extends java.lang.Object

Jemboss Authenticated Server for Apache Axis (SOAP) web services


Field Summary
(package private)  java.lang.String embossBin
          emboss binary path
(package private)  java.lang.String embossData
          emboss data path
(package private)  java.lang.String embossPath
          path environment variable
private  java.lang.String[] env
          emboss run environment
private  java.lang.String environ
          emboss run environment as a string
private  java.lang.String errorLog
          Jemboss error log file
private  java.lang.String fs
          file separator
(package private)  JembossParams jp
          jemboss properties
private  java.lang.String logFile
          Jemboss log file
private  java.lang.String ls
          line seperator
(package private)  java.lang.String plplot
          plplot path
private  java.lang.String ps
          path separator
private  java.lang.String tmproot
          SOAP results directory
 
Constructor Summary
JembossAuthServer()
           
 
Method Summary
private  void appendToLogFile(java.lang.String logEntry, java.lang.String logFileName)
          Appends a log entry to the log file
 java.util.Vector call_ajax(java.lang.String fileContent, java.lang.String seqtype)
          Uses JNI to calculate sequence attributes using EMBOSS library call.
 java.util.Vector call_ajax(java.lang.String fileContent, java.lang.String seqtype, java.lang.String userName, byte[] passwd)
          Uses JNI to calculate sequence attributes using EMBOSS library call.
 java.lang.Object clone()
           
 java.util.Vector delete_saved_results(java.lang.String project, java.lang.String cl, java.lang.String userName, byte[] passwd)
          Deletes a projects saved results.
 java.util.Vector getWossname()
          Returns the output of the EMBOSS utility wossname
 java.util.Vector list_saved_results(java.lang.String userName, byte[] passwd)
          List of the saved results on the server.
private  java.util.Vector loadFilesContent(Ajax aj, java.lang.String userName, byte[] passwd, java.io.File projectDir, java.lang.String project, java.util.Vector result, java.util.Vector inFiles)
          Reads in files from EMBOSS output
private  java.lang.String quoteMe(java.lang.String s)
          Quote all tokens ready for shell scripts
private  java.util.Vector returnError(Ajax aj, java.lang.String msg)
          Report the stderr and stdout to error logs
 java.util.Vector run_prog(java.lang.String embossCommand, java.lang.String options, java.util.Vector inFiles, java.lang.String userName, byte[] passwd)
          Run an emboss application
private  void runAsBatch(Ajax aj, java.lang.String userName, byte[] passwd, java.lang.String project, java.lang.String embossCommand)
          Submit to a batch queue
private  void runAsGNQSBatch(Ajax aj, java.lang.String userName, byte[] passwd, java.lang.String project, java.lang.String embossCommand)
          Submit to a Generic NQS batch queue.
private  void runAsPBSBatch(Ajax aj, java.lang.String userName, byte[] passwd, java.lang.String project, java.lang.String embossCommand)
          Submit to a OpenPBS batch queue.
 java.util.Vector save_project_file(java.lang.String project, java.lang.String filename, java.lang.String notes, java.lang.String userName, byte[] passwd)
          Save a file to a project directory on the server.
 java.util.Vector show_acd(java.lang.String appName)
          Retrieves the ACD file of an application.
 java.util.Vector show_db()
          Returns the databases held on the server
 java.util.Vector show_help(java.lang.String applName)
          Returns the help for an application as given by 'tfm'
 java.util.Vector show_saved_results(java.lang.String project, java.lang.String cl, java.lang.String userName, byte[] passwd)
          Returns the results for a saved project.
 java.util.Vector update_result_status(java.lang.String prog, java.lang.String opt, java.util.Vector resToQuery, java.lang.String userName, byte[] passwd)
          Used to provide information on the batch/background processes.
private  boolean verifyUser(Ajax aj, java.lang.String userName, byte[] passwd, java.util.Vector res)
          Verify the username/passwd
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tmproot

private java.lang.String tmproot
SOAP results directory


logFile

private java.lang.String logFile
Jemboss log file


errorLog

private java.lang.String errorLog
Jemboss error log file


fs

private java.lang.String fs
file separator


ps

private java.lang.String ps
path separator


ls

private java.lang.String ls
line seperator


jp

JembossParams jp
jemboss properties


plplot

java.lang.String plplot
plplot path


embossData

java.lang.String embossData
emboss data path


embossBin

java.lang.String embossBin
emboss binary path


embossPath

java.lang.String embossPath
path environment variable


env

private java.lang.String[] env
emboss run environment


environ

private java.lang.String environ
emboss run environment as a string

Constructor Detail

JembossAuthServer

public JembossAuthServer()
Method Detail

show_acd

public java.util.Vector show_acd(java.lang.String appName)
Retrieves the ACD file of an application.

Parameters:
appName - application name
Returns:
Vector of containing the ACD string

getWossname

public java.util.Vector getWossname()
Returns the output of the EMBOSS utility wossname

Returns:
wossname output

show_help

public java.util.Vector show_help(java.lang.String applName)
Returns the help for an application as given by 'tfm'

Parameters:
applName - application name
Returns:
help

call_ajax

public java.util.Vector call_ajax(java.lang.String fileContent,
                                  java.lang.String seqtype,
                                  java.lang.String userName,
                                  byte[] passwd)
Uses JNI to calculate sequence attributes using EMBOSS library call.

Parameters:
fileContent - sequence filename or database entry
seqtype - sequence type (seqset/sequence)
userName - username
passwd - passwd
Returns:
sequence length, weight & type (protein/nucleotide)

call_ajax

public java.util.Vector call_ajax(java.lang.String fileContent,
                                  java.lang.String seqtype)
Uses JNI to calculate sequence attributes using EMBOSS library call.

Parameters:
fileContent - sequence filename or database entry
seqtype - sequence type (seqset/sequence)
Returns:
sequence length, weight & type (protein/nucleotide)

show_db

public java.util.Vector show_db()
Returns the databases held on the server

Returns:
output from 'showdb'

run_prog

public java.util.Vector run_prog(java.lang.String embossCommand,
                                 java.lang.String options,
                                 java.util.Vector inFiles,
                                 java.lang.String userName,
                                 byte[] passwd)
Run an emboss application

Parameters:
embossCommand - command line to run
options - options
inFiles - input files
userName - userName
passwd - passwd
Returns:
output files from application run

quoteMe

private java.lang.String quoteMe(java.lang.String s)
Quote all tokens ready for shell scripts

Parameters:
s - text to quote
Returns:
quoted text

runAsPBSBatch

private void runAsPBSBatch(Ajax aj,
                           java.lang.String userName,
                           byte[] passwd,
                           java.lang.String project,
                           java.lang.String embossCommand)
Submit to a OpenPBS batch queue. This method creates a script for submission to a batch queueing system.

Parameters:
aj - ajax/jni
userName - username
passwd - passwd
project - project directory
embossCommand - emboss command

runAsGNQSBatch

private void runAsGNQSBatch(Ajax aj,
                            java.lang.String userName,
                            byte[] passwd,
                            java.lang.String project,
                            java.lang.String embossCommand)
Submit to a Generic NQS batch queue. This method creates a script for submission to a batch queueing system.

Parameters:
aj - ajax/jni
userName - username
passwd - passwd
project - project directory
embossCommand - emboss command

runAsBatch

private void runAsBatch(Ajax aj,
                        java.lang.String userName,
                        byte[] passwd,
                        java.lang.String project,
                        java.lang.String embossCommand)
Submit to a batch queue

Parameters:
aj - ajax/jni
userName - username
passwd - passwd
project - project directory
embossCommand - emboss command

show_saved_results

public java.util.Vector show_saved_results(java.lang.String project,
                                           java.lang.String cl,
                                           java.lang.String userName,
                                           byte[] passwd)
Returns the results for a saved project.

Parameters:
project - project directory name
cl - unused if showing all results otherwise this is the name of the file to display
userName - username
passwd - passwd
Returns:
saved results files

save_project_file

public java.util.Vector save_project_file(java.lang.String project,
                                          java.lang.String filename,
                                          java.lang.String notes,
                                          java.lang.String userName,
                                          byte[] passwd)
Save a file to a project directory on the server.

Returns:
message

delete_saved_results

public java.util.Vector delete_saved_results(java.lang.String project,
                                             java.lang.String cl,
                                             java.lang.String userName,
                                             byte[] passwd)
Deletes a projects saved results.

Parameters:
project - project directory name
cl - unused
userName - username
passwd - passwd
Returns:
message

list_saved_results

public java.util.Vector list_saved_results(java.lang.String userName,
                                           byte[] passwd)
List of the saved results on the server.

Parameters:
userName - username
passwd - passwd
Returns:
list of the saved results.

appendToLogFile

private void appendToLogFile(java.lang.String logEntry,
                             java.lang.String logFileName)
Appends a log entry to the log file

Parameters:
logEntry - entry to add to log file
logFileName - log file name

loadFilesContent

private java.util.Vector loadFilesContent(Ajax aj,
                                          java.lang.String userName,
                                          byte[] passwd,
                                          java.io.File projectDir,
                                          java.lang.String project,
                                          java.util.Vector result,
                                          java.util.Vector inFiles)
Reads in files from EMBOSS output

Parameters:
aj - ajax/jni
userName - username
passwd - passwd
projectDir - project directory
project - project name
result - results
inFiles - input files
Returns:
result

update_result_status

public java.util.Vector update_result_status(java.lang.String prog,
                                             java.lang.String opt,
                                             java.util.Vector resToQuery,
                                             java.lang.String userName,
                                             byte[] passwd)
Used to provide information on the batch/background processes.

Parameters:
prog - program
opt - options
resToQuery - results to query
userName - username
passwd - passwd

verifyUser

private boolean verifyUser(Ajax aj,
                           java.lang.String userName,
                           byte[] passwd,
                           java.util.Vector res)
Verify the username/passwd

Parameters:
aj - ajax/jni
userName - username
passwd - password
res - results vector
Returns:
true if authenticated ok

returnError

private java.util.Vector returnError(Ajax aj,
                                     java.lang.String msg)
Report the stderr and stdout to error logs

Parameters:
aj - ajax/jni
msg - message
Returns:
vector containing the message

clone

public final java.lang.Object clone()
                             throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException